Como Configurar un Virtual Host en WampServer

Aquí voy a explicar como configurar un virtual host en Wampserver usando Windows para trabajar con varios dominios en localhost. Porque sentí la necesidad de darle una URL especifica a cada proyecto en el que esté trabajando, si este es tu caso estas en el lugar correcto.

Comencemos como dije estaremos usando lo siguiente:

  • Windows
  • Apache (usando WampServer)

Los proyectos que vamos a configurar son:

  • Proyecto1.com
  • Proyecto2.com

La ruta que viene por defecto para trabajar con documentos web en WampServer es “c:\Wamp\wwww\”, esto se puede configurar a cualquier otra ruta, ese es el menor de los problemas.

Lo que pasa con esto es que si se tiene varios proyectos en los cuales se está trabajando de forma simultanea, las URL serían “http://localhost/proyecto1”, “http://localhost/proyecto2”, los cuales apuntan a la ruta “c:\Wamp\wwww\” siendo este “c:\Wamp\wwww\proyecto1”, “c:\Wamp\wwww\proyecto2”. Pero que pasa si se quiere que cada carpeta de nuestro proyecto tenga su propia URL definida tal como un dominio que solo usemos de manera local para facilitarnos el trabajo y acortar un poco la URL.

Configurando Apache

En Apache existe lo que se llama VirtualHost, esto nos permite definir maquinas virtuales a las que podemos definirle una ruta, la cual apuntará a las rutas de los proyectos.

Primero quita el comentario # en el archivo httpd.conf, que se encuentra en la ruta “C:\Wamp\bin\apache\apache2.2.22\conf”.

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

Ahora definimos las maquinas virtuales en httpd-vhosts.conf, que se encuentra en “C:\Wamp\bin\apache\apache2.2.22\conf\extra”. En mi caso dejo el archivo completo.

#
# Virtual Hosts
#
# If you want to maintain multiple domains/hostnames on your
# machine you can setup VirtualHost containers for them. Most configurations
# use only name-based virtual hosts so the server doesn't need to worry about
# IP addresses. This is indicated by the asterisks in the directives below.
#
# Please see the documentation at 
# <URL:http://httpd.apache.org/docs/2.2/vhosts/>
# for further details before you try to setup virtual hosts.
#
# You may use the command line option '-S' to verify your virtual host
# configuration.

#
# Use name-based virtual hosting.
#
NameVirtualHost *:80

#
# VirtualHost example:
# Almost any Apache directive may go into a VirtualHost container.
# The first VirtualHost section is used for all requests that do not
# match a ServerName or ServerAlias in any <VirtualHost> block.
#

# localhost - para definir el localhost
<VirtualHost *:80>
ServerAdmin [email protected]
DocumentRoot "c:\wamp\www"
ServerName localhost
</VirtualHost>

# miproyecto1.com - definimos el dominio con el que trabajaremos nuestro proyecto 1
<VirtualHost *:80>
ServerAdmin [email protected]
DocumentRoot "c:\wamp\www\proyecto1"
ServerName miproyecto1.com
</VirtualHost>

# miproyecto2.com - definimos el dominio con el que trabajaremos nuestro proyecto 2
<VirtualHost *:80>
ServerAdmin [email protected]
DocumentRoot "c:\wamp\www\proyecto2"
ServerName miproyecto2.com
</VirtualHost>

Agregar las Máquinas al hosts

Edita el archivo hosts que se encuentra en “C:\WINDOWS\system32\drivers\etc\” y agrega estas lineas.

127.0.0.1 localhost
127.0.0.1 proyecto1.com
127.0.0.1 proyecto2.com

Accediendo desde otra PC

Asumiendo que Wampserver está instalado en la PC1, la cual tiene una IP fija configurada 192.168.1.10 y se quiere acceder desde la PC2 y PC3.

Para ello se tienen que editar unas lineas en el archivo httpd.conf que se encuentra en “C:\Wamp\bin\apache\apache2.2.22\conf”, como las que se muestran debajo:

<Directory />
    Options FollowSymLinks
    AllowOverride None
    Order deny,allow
    Deny from all
</Directory>

Solo comenta con # la última linea.

<Directory />
    Options FollowSymLinks
    AllowOverride None
    Order deny,allow
    #Deny from all
</Directory>

Ahora en PC2 y PC3, edita el archivo hosts de windows en cada una y agrega estas lineas recordando que la IP fija de PC1 donde está instalado Wampserver es 192.168.1.10

192.168.1.10 proyecto1.com
192.168.1.10 proyecto2.com

Esto redirecciona proyecto1.com y proyecto2.com a las maquinas virtuales que ya se han creado en apache.

Ahora reinicia todos los servicios con Wampserver, y comienza a trabajar cómodamente en localhost.

Posibles Problemas

La IP donde está instalado Wampserver debe ser fija, no asignada por DHCP, las IP de los servidores deben ser estáticas no dinámicas.

Desactiva el Firewall o permite el acceso a la PC2 y PC3, los firewalls bloquean el trafico que viene desde fuera ocasionando que no se pueda acceder al dominio local.

Si usas wordpress y no te funcionan los permalinks aquí explico como hacerlo en localhost.

Recomendado