TEORÍA
Un Virtual Host es un alias (ej: foo.com.local) que se le da a una carpeta de nuestro disco duro donde almacenaremos nuestro sitio web (ej: «C:/www/web_foo»).
En Windows + Apache, las «capas» de configuración serían las siguientes:
1.- Primero asociar el alias con una dirección IP o dominio para que el SO entienda qué le estamos pidiendo.
2.- Decirle a Apache a qué carpeta del disco duro tienen que apuntar las peticiones que tengan la IP/dominio + alias recibidos.
PRÁCTICA
Para conseguir esto tenemos que:
Asociar el alias a una IP/Dominio
Tenemos que abrir el archivo «hosts» del sistema operativo (que es el que asocia los alias a IP’s y dominios).
El archivo se encuentra en: C:\Windows\System32\drivers\etc\hosts
Editar el archivo incluyendo una línea donde ponga IP & Alias (cada línea identifica a una entrada de configuración diferente, el manual de Windows indica que el formato concreto es <tab>IP<tab>Alias).
Si vamos a realizar la prueba en local añadiríamos la siguiente línea:
#Formato: #<tab>IP<tab>Alias 127.0.0.1 foo.com.local
Encontrar la sección de configuración de Virtual Hosts
En el Apache del XAMPP, tenemos el archivo de configuración global «httpd.conf«, y ahí, existe una sección titulada como «# Virtual Hosts» que tiene la siguiente sentencia
# Virtual hosts Include conf/extra/httpd-vhosts.conf
Indicándonos que la configuración de los Virtual Hosts se encuentra en el fichero «httpd-vhosts.conf» (Si se comentase esa línea podríamos poner aquí dentro la configuración).
Establecer la carpeta a la que debe apuntar ese alias + IP
Finalmente, dentro del archivo o sección de configuración de los Virtual Hosts, incluimos el siguiente código XML básico:
<VirtualHost 127.0.0.1:80> ServerName foo.com.local DocumentRoot "C:/www/web_foo" </VirtualHost>
Nótese, que si queremos tener otro alias en la misma IP no hay problema, solo hay que añadir otro nodo «VirtualHost» al archivo de configuración indicando el alias y la carpeta a la que debe apuntar.
Finalmente
Tenemos que reiniciar el servidor Apache y en la URL de un navegador de nuestra máquina poner «foo.com.local» y nos mandará al archivo «index.html» que tengamos en «C:/www/web_foo».
CONEXIÓN HTTPS
Cuando se usa SSL, la IP de VirtualHost no tiene el puerto 80 sino el 443
<VirtualHost 127.0.0.1:443> ... </VirtualHost>
En ese caso no valdría con poner «foo.com.local» en la URL, ni tampoco funcionaría si ponemos «foo.com.local:443», hay que indicar en la URL que la conexión es segura para que nos derive adecuadamente escribiendo:
https://foo.com.local
Redirigir a HTTPS
Puedes ver cómo configurar una redirección de HTTP a HTTPS aquí.
Deja una respuesta
Lo siento, debes estar conectado para publicar un comentario.