Cuando tenemos varios sitios web asociados a diferentes puertos se hace
difícil recordar en que puerto esta cada sitio. Para simplificar esto podemos
usar sitios virtuales basados en nombre y definir un alias para nuestro
sitio web en el archivo del sistema hosts
.
Primero modificamos el virtual host de Apache para convertirlo en un sitio virtual basado en nombres:
<VirtualHost *:80>
# Add the ServerName directive
ServerName site1.localhost
...
</VirtualHost>
Luego debemos editar el archivo hosts
. El archivo host
es un archivo
de sistema que contiene la correspondencia entre direcciones IP y nombres de
servidores. El archivo hosts contiene lineas de texto que consisten en una
dirección IP en el primer campo de texto seguido por uno o más nombres.
Para agregar un alias a nuestros sitios web agregamos una línea para cada uno de ellos como se muestra abajo:
127.0.0.1 site1.localhost
De esta manera solamente ingresamos «site1.localhost» en la barra de navegación de nuestro navegador web en lugar de recordar el número de puerto:
En GNU/Linux el archivo
hosts
esta ubicado en/etc/hosts
. En Windows, el archivo esta generalmente enC:\Windows\System32\drivers\etc\hosts
. Para editar el archivo necesitamos ser administradores. Observe que algunos antivirus pueden bloquear los cambios del archivo hosts, así que tendremos que desactivar temporalmente nuestro software antivirus, luego editar el archivo y habilitarlo de nuevo.
Si hemos comprado un dominio real para nuestro sitio web (como
example.com
) no necesitamos modificar el archivoshosts
porque Apache será capaz de resolver la dirección IP de nuestro sitio web usando el sistema de DNS. Solo modificamos el archivohosts
cuando el sistema DNS no sabe nada sobre el nombre de dominio y no puede resolver la dirección IP de nuestro sitio web.