Configurar vhost en WAMP

Desde hace algunas versiones, WAMP server ha cambiado su forma de mostrar los proyectos que vamos creando. Antiguamente, en la página de WAMP por defecto (localhost), veíamos el listado de nuestros proyectos. Y al pulsar encima de un proyecto, íbamos a la carpeta correspondiente. Por ejemplo, http://localhost/mi-proyecto. Pero en las versiones nuevas ya no lo hace así. Ahora nos abriría una URL del tipo http://mi-proyecto/. Este cambio es bastante importante, ya que si no conocemos la forma de configurar vhost en WAMP no podremos abrir esas direcciones. Vamos a ver cómo podemos configurarlas.

Qué son los hosts?

Dentro de cada ordenador existe una lista de hosts. Es un listado de URLs a las que indicamos a qué dirección IP pertenecen. Esto se conoce como mapeo de IPs. Sirve para indicar a nuestro ordenador que dominio apunta a cada IP. Es la forma como funcionan todos los servidores de Internet. Cuando ponemos http://www.mi-pagina.com/, realmente estamos conectando a una IP, no a un nombre. Pero los servidores de DNS se encargan de mapear las IPs con sus nombres de dominio. Esto mismo lo podemos hacer en nuestros ordenadores.

En Windows, tenemos el archivo de hosts en c:/Windows/System32/drivers/etc/. Es un archivo sin extensión, pero que podremos abrir con cualquier editor de texto. Hay que abrirlo como administrador para poder modificarlo. En Mac y Linux lo tendremos en /etc/hosts. Al final son el mismo archivo.

Dentro del documento podremos crear un nuevo registro en la última línea del archivo para que nuestro ordenador mapee el dominio que queramos, de la siguiente forma:

127.0.0.1          mi-primer-wordpress

Como veréis, lo primero que indicamos es la IP de nuestro ordenador. Esta es la IP interna y es igual para todos los ordenadores. Y a la derecha hemos indicado el dominio al que queremos que apunte. Guardamos el archivo de host.

Antes de crear esta línea, si poníamos mi-proyecto en la barra de direcciones de nuestro navegador, habría buscado si existía en Internet. Pero al no tener dominio, lo que habría abierto sería el buscador de Google (o el que tengamos configurado por defecto) con los resultados. Aun no hemos terminado para que WAMP pueda detectarlo.

Configurar vhost en WAMP

El vhost es una tabla de mapeado en el que indicamos para cada dominio que creamos, la carpeta en la que se le almacenarán sus archivos físicos. Esta es la parte que nos falta para poder abrir nuestros proyectos. El archivo de vhosts es creado por Apache. Si no tenemos instalado WAMP o un servidor Apache, no lo tendremos en nuestro ordenador.

Por defecto, el archivo de vhosts está desactivado. Por lo que tendremos que activarlo. En el caso de Windows, lo tendremos que activar mediante el archivo httpd.conf. Este archivo estará en c:/wamp/bin/apache/apache-XXX/conf. En XXX iría la versión de Apache que tenéis instalada. Editamos el archivo http.conf y buscamos la línea que indico a continuación:

# Virtual hosts
# Include conf/extra/httpd-vhosts.conf

Lo único que hay que hacer el quitar la almohadilla # de la segunda línea. Esto activará el archivo httpd-vhosts.conf que es el que necesitamos para configurar los vhosts.

Ahora ya podemos ir al archivo c:/wamp/bin/apache/apache-XXX/conf/extra/httpd-vhosts.conf y editarlo con cualquier editor de texto.  Este es el archivo que nos permitirá configurar vhost en WAMP. El texto que hay es de ejemplo. Lo que tenemos que hacer es editar uno de los bloques como el siguiente:

<VirtualHost *:4444>
    ServerAdmin webmaster@localhost
    DocumentRoot "c:/wamp64/www"
    <Directory "c:/wamp64/www">
        AllowOverride All
        Options Indexes MultiViews FollowSymLinks
        Require all granted
    </Directory>
    ServerName localhost
</VirtualHost>

<VirtualHost *:4444>
    ServerAdmin webmaster@mi-primer-wordpress
    DocumentRoot "c:/wamp64/www/mi-primer-wordpress"
    <Directory "c:/wamp64/www/mi-primer-wordpress">
        AllowOverride All
        Options Indexes MultiViews FollowSymLinks
        Require all granted
    </Directory>
ServerName mi-primer-wordpress
</VirtualHost>

Nota: Aunque veáis que he configurado los vhosts para el puerto 4444, por defecto hay que poner el puerto 80. En el vídeo de cómo instalar WAMP en Windows podréis ver porqué cambié el puerto.

En resumen

Configurar vhost en WAMPComo veréis, es algo más extenso que el ejemplo que tendréis por defecto en el vhost. Lo que indicamos es la ruta en la que tendremos nuestros archivos. Solo tenéis que cambiar el texto «mi-proyecto» por el nombre de vuestra carpeta/dominio del proyecto.

Reiniciamos apache, desde el icono de WAMP y ya lo tendremos listo.

Ahora cuando escribimos la URL http://mi-proyecto, se abrirá la página principal de nuestro proyecto. Recordad que para que esto funcione, deberíamos tener también un archivo index.html o index.php en la raíz.

Tenéis toda la documentación de vhosts en la página de Apache.