En la configuración de un VirtualHost basado en IP entra en juego :
–> Podemos tener más de una interfaz; e incluso alguna de ellas puede ser virtual.
–> 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
–> En este archivo le decimos al equipo qué IP responde a qué nombre de host (o alias)
–> 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
Teniendo en cuenta que ya hemos hecho algunos otros ejercicios sobre VirtualHosts, vamos a comenzar con este segundo ejercicio de VirtualHosts basados en IP:
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
–> 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
Ahora hemos de realizar:
service networking restart
(porque hemos modificado las interfaces y también modificado el archivo etc/hosts)
service Apache2 reload
service Apache2 restart
Y comenzamos a realizar las pruebas para comprobar que los VirtualHosts responden correctamente, tanto por IP como por ServerAlias
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: