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.

21 Responses

  1. Josep
    Josep noviembre 19, 2012 at 11:34 AM |

    Hola lo que quiero hacer es casí lo mismo pero sin el nombre de dominio solo quiero que funcione con una IP Fija 192.168.1.4 para ser exactos.

    El problema esta en que me sale:

    Forbidden
    You don’t have permission to access / on this server.

    Eh seguido los pasos correctamente y nada quisiera que me ayudes porfavor por que es URGENTE es un sistemita que se hizo y funcionaba perfectamente en AppServ sin cambiar Virtualhost ni nada y antes de que empezara con esto de virtual host pense que funcionaria sin necesidad de crear esto y no paso nada tambien me salia esa advertencia de :

    Forbidden
    You don’t have permission to access / on this server.

    Muchas Gracias y estuvo bueno el tutorial éxitos!

  2. Miguel Rodriguez
    Miguel Rodriguez junio 20, 2013 at 11:59 AM |

    buena explicación (y)

  3. maria
    maria julio 10, 2013 at 11:59 AM |

    pues la verdad tiene mucha informacion interesante

  4. gsnet80
    gsnet80 noviembre 28, 2013 at 11:50 AM |

    Buenas tardes, en mi caso todo funciona bien pero me encuentro con que cuando en el PC cliente ponen la ruta que he configurado como virtual host les muestra la IP del equipo servidor. ¿No hay forma de establecer la ruta para que no les muestre la IP?

    Gracias de antemano.

    Saludos.
    Frank

    1. Anthuan Vasquez
      Anthuan Vasquez noviembre 28, 2013 at 9:25 PM |

      Configurando el archivo host de la pc local, indicando la ip y la ruta a la cual va acceder. En windows el archivo host se encuentra en C:WindowsSystem32driversetchosts

    2. gsnet80
      gsnet80 noviembre 29, 2013 at 4:17 AM |

      Así lo hice pero me sigue convirtiendo en la url el host por la IP. ¿tendrá que ver con los ALIAS de apache? No he creado
      ninguno para la carpeta en sí, solo usé el archivo httpd.conf.

      Gracias de nuevo.

      Saludos cordiales.

    3. Anthuan Vasquez
      Anthuan Vasquez noviembre 29, 2013 at 1:00 PM |

      Si tienes que crear los alias con el archivo httpd-vhosts.conf.

  5. jonhyboys
    jonhyboys marzo 6, 2014 at 11:52 AM |

    No arranca Wamp

  6. jonhyboys
    jonhyboys marzo 6, 2014 at 11:54 AM |

    Estoy escuchando en el puerto 8000 porque el otro lo ocupa IIS desde hace semanas estoy intentando que funcione esto de los Virtual Hosts pero nada nunca funciona, al quitar el comentario a la línea del Include conf/extra/httpd-vhosts.conf dejo de funcionar wamp, siempre está en color naranja

    1. Anthuan Vasquez
      Anthuan Vasquez marzo 6, 2014 at 3:48 PM |

      Si no te funciona, verifica que no tengas algo mal escrito en el archivo httpd.conf y en el mismo httpd-vhosts.conf. A veces se nos escapa algo y debido a eso apache no sube y por eso se te presenta en color naranja el estado de wamp.

  7. Bernardo Sanchez Gutierrez
    Bernardo Sanchez Gutierrez diciembre 9, 2014 at 1:55 PM |

    Hola yo tengo un problema, al crear el host virtual me aparece asi:

    mihost.com y deberia ser mihost.com/. la diagonal invertida es la que me esta dando problemas, sabes como puedo arreglar eso? uso windows 7 y wamp 2.5.1.

    Gracias

  8. erick vejas
    erick vejas diciembre 19, 2014 at 9:10 PM |

    olle queria saber como ago para que el pc2 y pc3 abran la pag alojada en mi wampserver no puedo abrirla con el dominio colocado para la pag en la pc2 y pc3 solo abre con la ip fija y asi no me gusta quiero que sea por el dominio y muchisimas gracias por ese aporte esta muy bueno

    1. Anthuan Vasquez
      Anthuan Vasquez diciembre 19, 2014 at 10:49 PM |

      Tienes que editar el archivo host de la pc2 y pc3 como se muestra en el ejemplo.

  9. Danny Francisco Peña
    Danny Francisco Peña septiembre 10, 2015 at 1:24 PM |

    Hola,

    He creado un alias para acceder fácilmente a la carpeta donde tengo unos ejercicios de una web. Los pasos que seguí fue entrar a Wampserver, ir a “alias directories”, luego ir a la opción “add alias”, allí primero puse el nombre que quería ponerle a la carpeta (sitios en mi caso) y por ultimo le indique la dirección donde estaba la carpeta. Sucede que puedo entrar en el navegador a Localhost sin problemas alguno, pero cuando intento entrar al acceso que cree (sitios) me da el siguiente error:
    Forbidden
    You don’t have permission to access /sitios/ on this server.
    Apache/2.4.9 (Win32) PHP/5.5.12 Server at localhost Port 80
    Favor de darme una mano con este tema, ya que me han dicho que este foro es uno de los mejores para este tipo de tema.

    Saludos,

    Danny Francisco Peña
    República Dominicana

  10. Danny Francisco Peña
    Danny Francisco Peña septiembre 10, 2015 at 1:27 PM |

    Hola,

    He creado un alias para acceder fácilmente a la carpeta donde tengo unos
    ejercicios de una web. Los pasos que seguí fue entrar
    a Wampserver, ir a “alias directories”, luego ir a la
    opción “add alias”, allí primero puse el nombre que quería ponerle a
    la carpeta (sitios en mi caso) y por ultimo le indique la dirección donde
    estaba la carpeta. Sucede que puedo entrar en el navegador a Localhost sin problemas alguno, pero cuando intento entrar al acceso que cree (sitios) me da el siguiente error:

    Forbidden

    You don’t have permission to access /sitios/ on this server.
    Apache/2.4.9 (Win32) PHP/5.5.12 Server at localhost Port 80

    Favor de darme una mano con este tema, ya que me han dicho que este es
    uno de los mejores lugares para este tipo de tema.

    Saludos,

    Danny Francisco Peña
    RepúblicaDominicana

    1. Carlos Mario Orozco García
      Carlos Mario Orozco García octubre 2, 2015 at 1:38 PM |

      Hola Danny,

      Espero que no sea demasiado tarde la respuesta. Personalmente prefiero alojar todos mis proyectos web en una carpeta por fuera de WAMP. En mi caso C:vhosts. En esta carpeta creo una subcarpeta para cada proyecto y configuro un virtual host para cada una. Esto permite un entorno de desarrollo un poco más cercano a lo que sería un servidor real y es más claro en el manejo de rutas, assets y a la hora de hacer debug y pruebas.

      Puedes ver el procedimiento aquí. Espero sea de utilidad: http://webintegral.com.co/como-crear-un-servidor-virtual-virtual-host-usando-wamp-y-windows-7-8-o-10/

      Saludos.

  11. Juan Torregrosa Vieco
    Juan Torregrosa Vieco agosto 31, 2016 at 3:56 AM |

    hola, llevo mucho tiempo intentado buscar una solucion pero no la encuentro, necesito hacer un alias que apunte a una carpeta, me explico, en vez de

    192.168.1.10 proyecto1.com, necesito que sea 192.168.1.10 proyecto1.com/carpeta ,parece una tonteria pero llevo tiempo sin encontrar un remedio…

    1. Anthuan Vasquez
      Anthuan Vasquez noviembre 10, 2016 at 2:30 AM |

      Solo hazlo directo en el archivo httpd-vhosts.conf en vez de DocumentRoot “c:wampwwwproyecto1” cambialo a DocumentRoot “c:wampwwwproyecto1carpeta”.

      Asi de facil 🙂

  12. darkenix
    darkenix junio 29, 2017 at 11:49 AM |

    Muchas gracias, funciono perfectamente en XAMPP, no puedo creer que recurri a guías de wampserver para lograrlo jajaja, pero funciono, es completamente lo mismo.

Comments are closed, but trackbacks and pingbacks are open.