Configuración dos Dominios diferentes con Host Virtual Basado en Nombre en Apache2

El presente instructivo tiene como finalidad la configuración de dos (02) dominios con Host Virtual basados en “Nombres” en servidor Apache2.

En los hosts virtuales “basados ​​en Nombre”, el servidor se basa en el cliente para informar el nombre del host como parte de los encabezados HTTP. Utilizando esta técnica, diferentes hosts pueden compartir la misma dirección IP. Los Hosts virtuales basados en nombres requieren configurar las entradas (Registro A, CNAME) en servidor DNS para asignar cada nombre de host a la dirección IP correcta y configurar el servidor HTTP Apache para reconocer los distintos nombres de host.

Cuando llega una solicitud, el servidor encontrará el argumento que coincida mejor (más específico) basado en la dirección IP y el puerto utilizados por la solicitud. Si hay más de un host virtual que contiene esta combinación de puerto y dirección de mejor coincidencia, Apache comparará las directivas ServerName y ServerAlias ​​con el nombre del servidor presente en la solicitud.

Es importante comfigurar en cada uno de los hosts virtuales, la directiva ServeName y ServerAlias, si se omite la directiva ServerName de cualquier host virtual basado en nombres, el servidor predeterminará un nombre de dominio totalmente cualificado (FQDN) derivado del nombre de host del sistema.

Requisitos:

  • Se debe contar con suficiente privilegios para la configuración de aplicativos

Plataforma:

  • Sistema Operativo Distribución GNU/Linux Debian versión 7.0 – 8.0
  • Servidor Web Apache versión 2.2 – 2.4

Datos del Ejemplo:

  • Nombre Servidor:servidor
  • Dirección IP del Servidor: 192.168.1.100
  • Dominio #1:servidor.example.com.ve
  • Dominio #2:servidor.example.gob.ve

Nota: Para éste ejemplo, no se posee una dirección IP pública, ni un dominio registrado, ni acceso a un servidor DNS, es una configuración local que puede ser base para una configuración global

Configuración Básica de un (01) Host Virtual Asignado al Dominio example.com.ve:

1. Se debe solicitar la entrada de un Registro A al DNS con los datos del dominio a configurar (example.com.ve, en nuestro caso utilizaremos la dirección loopback (127.0.0.1) y la incluiremos en el archivo /etc/hosts:

operador@servidor:/$ sudo nano /etc/hosts

Incluir lo siguiente:

 127.0.0.1       localhost
 127.0.1.1       servidor.example.com.ve  servidor
  


2. Comprobar haciendo ejecutando el comando ping:

operador@servidor:/$ ping -c 5 servidor.example.com.ve
servidor.example.com.ve (127.0.1.1) 56(84) bytes of data.
64 bytes from servidor.example.com.ve (127.0.1.1): icmp_seq=1 ttl=64 time=0.033 ms
64 bytes from servidor.example.com.ve (127.0.1.1): icmp_seq=2 ttl=64 time=0.033 ms
64 bytes from servidor.example.com.ve (127.0.1.1): icmp_seq=3 ttl=64 time=0.039 ms
64 bytes from servidor.example.com.ve (127.0.1.1): icmp_seq=4 ttl=64 time=0.029 ms
64 bytes from servidor.example.com.ve (127.0.1.1): icmp_seq=5 ttl=64 time=0.030 ms

--- servidor.example.com.ve ping statistics ---
5 packets transmitted, 5 received, 0% packet loss, time 4077ms
rtt min/avg/max/mdev = 0.029/0.032/0.039/0.008 ms

3. Crear directorio donde se alojará el aplicativo

operador@servidor:/$ sudo mkdir -p /var/www/html/aplicativo

4. Crear archivo de configuración host virtual

operador@servidor:/$ sudo nano /etc/apache2/sites-available/servidor.example.com.ve.conf

Incluir lo siguiente:

<VirtualHost *:80>
     ServerName  www.servidor.example.com.ve
     ServerAlias servidor.example.com.ve
     ServerAdmin webmaster@localhost
     DocumentRoot /var/www/html/aplicativo 
     
     ErrorLog ${APACHE_LOG_DIR}/error_example.com.ve.log
     CustomLog ${APACHE_LOG_DIR}/access_example.com.ve.log combined
</VirtualHost>

5. Copiar la aplicación en la ruta establecida (/var/www/html/aplicativo):

6. Activar el site de apache creado

operador@servidor:/$ sudo a2ensite servidor.example.com.ve.conf
Enabling site servidor.example.com.ve.
To activate the new configuration, you need to run:
  service apache2 reload

7. Recargar el archivo de configuración de apache2

operador@servidor:/$ sudo /etc/init.d/apache2 reload
[ ok ] Reloading apache2 configuration (via systemctl): apache2.service.

8. Consultar con navegador WEB:
URL: http://servidor.example.com.ve

Configuración Básica: Incluir un Segundo (02) Host Virtual con el Dominio#2 example.gob.ve

1. Se debe incluir un registro CNAME al DNS con los datos del nuevo dominio (example.gob.ve), en nuestro caso colocaremos la IP del servidor en el archivo de /etc/hosts

operador@servidor:/$ sudo nano /etc/hosts

Incluir lo siguiente:

 127.0.0.1       localhost
 127.0.1.1       servidor.example.com.ve  servidor
 192.168.1.100   servidor.example.gob.ve  servidor
  

2. Comprobar haciendo ejecutando el comando ping:

operador@servidor:/$ ping -c 5 servidor.example.gob.ve
PING servidor.example.gob.ve (127.0.1.1) 56(84) bytes of data.
64 bytes from servidor.example.gob.ve (127.0.1.1): icmp_seq=1 ttl=64 time=0.033 ms
64 bytes from servidor.example.gob.ve (127.0.1.1): icmp_seq=2 ttl=64 time=0.033 ms
64 bytes from servidor.example.gob.ve (127.0.1.1): icmp_seq=3 ttl=64 time=0.039 ms
64 bytes from servidor.example.gob.ve (127.0.1.1): icmp_seq=4 ttl=64 time=0.029 ms
64 bytes from servidor.example.gob.ve (127.0.1.1): icmp_seq=5 ttl=64 time=0.030 ms

--- servidor.example.gob.ve ping statistics ---
5 packets transmitted, 5 received, 0% packet loss, time 4077ms
rtt min/avg/max/mdev = 0.029/0.032/0.039/0.008 ms

3. Crear directorio donde se alojará el segundo aplicativo

operador@servidor:/$ sudo mkdir -p /var/www/html/aplicativo2

4. Crear archivo de configuración host virtual

operador@servidor:/$ sudo nano /etc/apache2/sites-available/servidor.example.gob.ve.conf

Incluir lo siguiente:

<VirtualHost *:80>
     ServerName  servidor.example.gob.ve
     ServerAlias www.servidor.example.gob.ve
     ServerAdmin webmaster@localhost
     DocumentRoot /var/www/html/aplicativo2 
     
     ErrorLog ${APACHE_LOG_DIR}/error_example.gob.ve.log
     CustomLog ${APACHE_LOG_DIR}/access_example.gob.ve.log combined

</VirtualHost>

5. Copiar la aplicación en la ruta establecida (/var/www/html/aplicativo2):

6. Activar el site de apache creado:

operador@servidor:/$ sudo a2ensite servidor.example.gob.ve.conf
Enabling site servidor.example.gob.ve.
To activate the new configuration, you need to run:
  service apache2 reload

7. Recargar el archivo de configuración de apache2

operador@servidor:/$ sudo /etc/init.d/apache2 reload
[ ok ] Reloading apache2 configuration (via systemctl): apache2.service.

8. Consultar con navegador WEB:
URL: http://servidor.example.gob.ve

Enlaces:

Name-based Virtual Host Support
LAMP on Debian 8 (Jessie)

Anuncios

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s