Hoy de nuevo vamos a realizar un ejercicio práctico de VirtualHosts basados en IP (IP Based VirtualHosts), incluyendo ServerAlias y diferentes puertos.
RESUMEN CONFIGURACIÓN VIRTUALHOST BASADO EN IP (IP Based VirtualHosts)
En la configuración de un VirtualHost basado en IP entra en juego :
- 1. La IP, o IP´s configuradas en las interfaces para los diversos VirtualHosts habilitados. (Lo configuramos en archivo /etc/network/interfaces)
–> Podemos tener más de una interfaz; e incluso alguna de ellas puede ser virtual.
- 2. Configuración correcta de/los VirtualHosts en el equipo con Apache Server, por medio del archivo /etc/apache2/nombresitio.conf (el archivo de sitio por defecto es 000-default.conf).
–> Si alguno de nuestros VirtualHost va a utilizar algún puerto además del 80, hemos de habilitarlo en el archivo /etc/apache2/ports.conf, añadiendo: Listen número_de_puerto
- 3. El archivo /etc/hosts
–> En este archivo le decimos al equipo qué IP responde a qué nombre de host (o alias)
- 4. El archivo /etc/resolv.conf
–> En este archivo hemos de configurar el Servidor DNS que resolverá las peticiones DNS. Debería ser el propio equipo (127.0.0.1), para resolver los hostnames que él conozca (/etc/hosts), y además es importante tener configurado otro nameserver para que resuelva las peticiones DNS al exterior y poder acceder a Internet.
–> Si tenemos configurado un servidor Bind DNS, podemos configurar un forwarder (equipo al que se le reenviarán las peticiones DNS que nuestro Server DNS no sepa resolver) en el archivo /etc/bind/named.conf.options
EJERCICIO 2: VIRTUALHOST BASADO EN IP
Teniendo en cuenta que ya hemos hecho algunos otros ejercicios sobre VirtualHosts, vamos a comenzar con este segundo ejercicio de VirtualHosts basados en IP:
- 1. Configuramos correctamente nuestras interfaces de red. En nuestro caso configuramos de forma estática la interfaz principal de red, y después crearemos una sub-interfaz virtual.
La sub-interfaz la creamos de esta forma:
auto eth0:1 iface eth0:1 inet static address netmask gateway |
Esta será la subinterfaz 1 de la interfaz eth0. Podríamos crear más sub-interfaces …
Podemos ver que la interfaz eth0 tiene la IP 192.168.110.202
Y la sub-interfaz eth0:1 tiene la IP 192.168.110.203
- 2. Configuramos correctamente el archivo del sitio/s habilitado/s con Apache Server:
–> Archivo de configuración de los sitios Apache con VirtualHosts basados en IP (por defecto 000-default.conf):
–> Y añadimos los puertos de escucha necesarios, en el archivo /etc/apache2/ports.conf
- 3. Configuramos el archivo /etc/hosts (para que la máquina sepa resolver el ServerAlias de los VirtualHosts):
RECARGAR CONFIGURACIONES Y REINICIAR SERVICIOS
Ahora hemos de realizar:
- un restart de la red:
service networking restart
(porque hemos modificado las interfaces y también modificado el archivo etc/hosts)
- una recarga de la configuración de Apache Server:
service Apache2 reload
- un restart del servicio Apache:
service Apache2 restart
Y comenzamos a realizar las pruebas para comprobar que los VirtualHosts responden correctamente, tanto por IP como por ServerAlias
PRUEBAS DE FUNCIONAMIENTO DE LOS VIRTUALHOSTS POR IP
Primero vamos a comprobar el VirtualHost1, que responderá sobre la IP 192.168.110.202, y con el ServerAlias pruebas.local, sobre el puerto 80. Tenemos un WordPress instalado sobre este VirtualHost.
Y podemos ver que también funciona su ServerAlias (pruebas.local)
Y ahora comprobamos el VirtualHost2, que responderá sobre la IP 192.168.110.203, y con el ServerAlias pruebas2.local, sobre el puerto 8080. En este VirtualHost hemos configurado un simple archivo Index.html.
Y podemos ver que también funciona su ServerAlias (pruebas2.local)
Si aún te quedan dudas y quieres investigar un poco más, no dudes en leer los artículos: