Vamos a explicar como configurar un host virtual que entregue el contenido dinámico de las QR Card, y el mecanismo mediante el cual se utiliza un nombre de host que pertenece a un dominio registrado por el usuario.

Configurar Apache

Necesitamos configurar en primer lugar un host virtual que escucha las peticiones en una IP. Este host virtual nada tiene que ver con nuestro host dedicado a la instalación de Joomla. Para ello, necesitamos asignar una IP a este host virtual, y solamente a este. A modo de ejemplo, la configuración puede ser parecida a esto:

<VirtualHost my.other.host.ip:80>
    ServerAdmin Esta dirección de correo electrónico está siendo protegida contra los robots de spam. Necesita tener JavaScript habilitado para poder verlo.
DocumentRoot /var/www/q-r.example.com/html
<Directory /var/www/q-r.example.com/html>
Options +FollowSymLinks +MultiViews -Indexes
AllowOverride all
Require all granted
</Directory>
DirectoryIndex index.php index.html
RewriteEngine On
RewriteRule ^/$ http://www.example.com [R=302,L]
RewriteRule ^(.*)$ http://www.example.com/index.php/component/qrcard/$1 [R=302,L] </VirtualHost>

Lo más destacable de esta configuración es que todas las peticiones que se dirigen a esta IP se atenderán por este host, y también la configuración para mod_rewrite.

Todas las rutas virtuales de este host se reenvían al host donde se encuentre nuestro Joomla, para que el componente se encargue de atenderlas.

Configurar la DNS

En nuestra configuración de la DNS, incluiremos unas entradas como estas:

$ORIGIN  example.com.
...
@ IN A my.joomla.host.ip
www IN CNAME example.com.
q-r IN A my.other.host.ip
...

Con esta configuración, las peticiones dirigidas a nuestro host q-r.example.com se envían al host virtual que hemos configurado anteriormente, y las peticiones dirigidas a www.example.com se envían a nuestra instalación de Joomla, donde también se encuentra instalado el componente.

Configurar el componente

Solo resta indicar el nombre del host q-r.example.com en las opciones de configuración del componente QR Card, para habilitar este sistema de entrega de contenido dinámico.

Cuando el componente tiene configurada esta opción, permitirá que los usuarios indiquen un nombre diferente de host si lo desean.

Configuración para el usuario

LLegados a este punto, cada usuario puede configurar un host de su dominio para encaminar las peticiones hacia el componente de nuestra instalación Joomla.

Para activar este mecanismo, un usuario indicaría un nombre de host FQDN que pertenezca a su dominio registrado —qrcodes.user-domain.com, en este ejemplo— en el campo host sustituto de su QR Card.

Configurar la DNS del usuario

El usuario entonces añadiría un registro CNAME en la DNS de su propio dominio, que apunta a nuestro host q-r.example.com.

El componente genera —cuando está configurado así— un código QR que, al ser leído en el terminal móvil del cliente, encaminará la petición hacia el host qrcodes.user-domain.com.

$ORIGIN  user-domain.com.
...
qrcodes IN CNAME q-r.example.com.
...

El navegador comprobará la DNS y la petición finalmente se enviará hacia q-r.example.com, donde se atenderá por el componente QR Card de nuestra instalación Joomla.

Cuando el cliente lee el código QR en su terminal móvil, le aparece un enlace con una dirección dentro del dominio del usuario, que ayuda a crear confianza.