Crear host virtual en WampServer

Para crear un host virtual en WampServer, en un entorno de desarrollo, tenemos varios proyectos en cuales trabajamos y para realizar el testing de cada una de las aplicaciones necesitamos recrear un servidor de producción, lo más paracido posible, y para eso el Servidor Web Apache nos permite realizar host virtuales. Es decir podemos crear varios Host o que nuestro Servidor web hospede a varios dominios.

Vamos a empezar:

1. Editar el archivo C:\wamp\bin\apache\Apache2.2.21\conf\httpd.conf
Descomentamos la Linea Include conf/extra/httpd-vhosts.conf, quitandole el #. En este archivo configuraremos los host virtuales.

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

2. Luego agregamos al final del archivo C:\wamp\bin\apache\Apache2.2.21\conf\extra\httpd-vhosts.conf , las siguientes lineas:

<VirtualHost *:80>
    ServerAdmin webmaster@localhost
    DocumentRoot "c:/wamp/www"
    ServerName localhost
    ErrorLog "logs/localhost-error.log"
    CustomLog "logs/localhost-access.log" common
</VirtualHost>
# PRIMERA FORMA
<VirtualHost *:80>
    ServerAdmin webmaster@midominio.com
    DocumentRoot "c:/wamp/www/midominio.com"
    ServerName www.midominio.com
    ErrorLog "logs/midominio.com-error.log"
    CustomLog "logs/midominio.com-access.log" common
</VirtualHost>
# O ESTA SEGUNDA FORMA
<VirtualHost *:80>
    ServerAdmin webmaster@midominio2.com
    DocumentRoot "c:/wamp/www/midominio2.com"
    ServerName www.midominio2.com
    <Directory "c:/wamp/www/midominio2.com">
        Options Indexes FollowSymLinks		
	AllowOverride All
	Order Deny,Allow
	Deny from all
	Allow from all		
    </Directory>
    ErrorLog "logs/midominio2.com-error.log"
    CustomLog "logs/midominio2.com-access.log" common
</VirtualHost>

El primer host es para el Servidor por defecto localhost, luego agregamos el dominio midominio.com, este nombre de dominio funcionará solo de manera local.

3. Ahora creamos la carpeta midominio.com en c:/wamp/www/ , para el host virtual que creamos.

4. Y por último editamos el archivo C:\WINDOWS\system32\drivers\etc\hosts , agregando lo siguiente:

127.0.0.1		www.midominio.com

Configurar virtual host en el puerto 8080

Si queremos usar el puerto 8080 y/o el puerto 80 , debemos configurar de la siguiente manera:

1. Editar el archivo C:\wamp\bin\apache\Apache2.2.21\conf\httpd.conf de la siguiente manera para que el servidor Apache escuche en los puertos 80 y 8080.

Listen 80
Listen 8080

2. Modificamos el Virtual host agregando el puerto 8080.

<VirtualHost *:8080>
    ServerAdmin webmaster@midominio.com
    DocumentRoot "c:/wamp/www/midominio.com"
    ServerName www.midominio.com
    ErrorLog "logs/midominio.com-error.log"
    CustomLog "logs/midominio.com-access.log" common
</VirtualHost>

3. Reiniciamos el servidor Apache y ya debe estar funcionando, probamos http://midominio.com:8080.

Otra forma de configurar el host virtual en WampServer

Usando la carpeta vhosts que viene por defecto en wampserver, lo he probado en la versión 2.4.
Para esto vamos a configurar el archivo c:\wamp\bin\apache\Apache2.4.4\conf\httpd.conf y al final del archivo debe quedar así, por defecto esta descomentado.

    IncludeOptional "c:/wamp/vhosts/*"
    Include "c:/wamp/alias/*"

Entonces en la carpeta wamp/vhost creamos un archivo con el nombre del dominio ejemplo wamp/vhosts/www.midominio.com
Y en el archivo pegamos.

<VirtualHost *:80>    
    DocumentRoot "c:/wamp/www/midominio.com"
    ServerName midominio.com
    ServerAlias www.midominio.com
	<Directory "c:/wamp/www/midominio.com">
		Options Indexes FollowSymLinks		
		AllowOverride All
		Order Deny,Allow
		Deny from all
		Allow from all		
	</Directory>	
</VirtualHost>

Para usar el ServerAlias debemos modificar el archivo hosts así:

127.0.0.1		www.midominio.com midominio.com

Acceder al Host Virtual desde una red LAN

Si estamos en una red de área local o LAN y queremos acceder desde una PC cliente hacia el Host Virtual que hemos configurado con WampServer. Solo tenemos agregar la IP del servidor en el archivo C:\WINDOWS\system32\drivers\etc\hosts de la PC cliente.

Si la IP del servidor es 192.168.1.33, agregaríamos de esta manera.

192.168.1.33		www.midominio.com midominio.com

Cada vez que solicitemos la dirección midominio.com va a buscar en la IP del servidor donde esta nuestro Host Virtual y así no salga a Internet buscando el dominio.

Les recomiendo que pongan un prefijo al dominio u otra extensión de dominio, por ejemplo: testdominio.com o dominio.dev, esto lo recomiendo para que no haya conflictos con el dominio verdadero.

host virtual

Listo ya tenemos configurado nuestro Host Virtual con WampServer.

(Visited 9.217 times, 3 visits today)
Puedes saltar al final y dejar una respuesta. Hacer ping no está permitido actualmente.
  • Jose

    Buenas tardes, hermano disculpa mi ignorancia pero he seguido todos los pasos que has publicado pero al momento de modificar el archivo C:\WINDOWS\system32\drivers\etc\hosts, no me lo permite hacer porque aparentemente está siendo utilizado por otro programa. Me darías alguna sugerencia al respecto? He cerrado todos los programas incluyendo el mismo WampServer pero no me ha servido de nada… Gracias de antemano!

    • admin

      Si no te permite modificar el archivo hosts, prueba entrando con el usuario administrador de windows

  • va. y como seria para modo online osea el wampserver en modo online ??

    por si tengo mas de una aplicacion como configuro para solo dar los diferentes nombres o ip de los dominios y que hagan uso de este??

    por ahora e logrado conectar el wamp a internet y por medio de mi: ip publica mis amigos acceden pero a la pagina principal del wampserver

    lo que me gustaria hacer es. direccionar a cada proyecto o aplicacion 🙂 como puedo hacer esto? o como lo hago por medio de ip ??

  • Hola he hecho todos los pasos y el navegador aun me toma el dominio de internet. He hecho algo mal?.

  • Me he dado cuenta y solo me ha funcionado si me desconecto de internet.

    • admin

      Debes agregar

      127.0.0.1		www.midominio.com

      En el archivo hosts

  • jose dumar

    hola no me funcionó como lo explicas porque descomentareo
    Include conf/extra/httpd-vhosts.conf
    me sale que no funciona en este servidor, entonces lo dejo como estaba #Include conf/extra/httpd-vhosts.conf
    y lo hice de la siguiente manera:
    copio el archivo C:\wamp\alias\phpmyadmin.conf y le coloco el nombre de mi dominio ejemplo dominio.com.conf
    en él agrego el siguiente código:

    DocumentRoot c:\wamp\www\Codein
    ServerName ccnp.com
    ” ojo sin las comillas

    y el archivo: C:\Windows\System32\Drivers\etc\host
    agrego 127.0.0.1 dominio.com
    eureca me funcionó!!!

    • jose dumar

      no me lo deja subir bien entonces miren este video http://www.youtube.com/watch?v=cZ9FU7x97qw

    • admin

      Gracias por el dato no sabia que se podía crear host virtual de esa forma, pero seria bueno que pongas que tipo de error te sale cuando lo configuras de la forma que digo, para descubrir cual es el error.

  • marcealexa

    hola porque no puedo ver mi sitio en otra maquina que no sea la q esta el wamp
    mil gracias

    • admin

      Técnicamente si puedes ver el sitio con wamp desde otra pc, siempre y cuando estén en red y configures la pc con el wamp para que se vea desde otras PCs y en la otra pc agregarías en el archivo host el dominio o ip del sitio que quieres ver

      • carlos

        Seria posible una explicación un poco mas detallada , respecto a la pregunta de marcealexa. mil gracias.

        • admin

          Haber un ejemplo PC01 Y PC02 están en la misma red:
          PC01
          – Creas tu servidor con wamp y configuras tu host virtual http://www.midominio.com
          PC02
          – Agrega en el archivo hosts
          Ip_De_PC01 www.midominio.com
          Desde PC02 desde tu navegador web, ingresa a http://www.midominio.com y deberías ver el sitio web.
          Si no ingresas prueba con esta configuración de host virtual:

          <VirtualHost *:80>    
              DocumentRoot "c:/wamp/www/midominio.com"
              ServerName www.midominio.com
          	<Directory "c:/wamp/www/midominio.com">
          		Options Indexes FollowSymLinks		
          		AllowOverride All
          		Order Deny,Allow
          		Deny from all
          		Allow from all		
          	</Directory>	
          </VirtualHost>

          Recuerda cada cambio que hagas en la configuración del host virtual debes reiniciar el servicio web “apache”

          • Marc Saenz

            Admin una duda:
            — Hay alguna forma de que en una RED LOCAL, que los usuarios se conecten a la PC principal(con WAMP) sin necesidad de introducir la ip por ejemplo:
            http://198.205.10.50/proyecto/PaginaDemo por http://ComputerName/proyecto/PaginaDemo y sin necesidad de que los dispositivos anden modificando el host ServerAlias en el archivo hosts (127.0.0.1—www.midominio.com)
            — DIgo esto por que no todos los dispositivos que se conecten a la red local son Windows, otros son androids, iPhones, etc.
            — Por ejemplo si quiero mostrar mi trabajo a mi clase mi idea es que solo se conecten a mi RED LOCAL por wifi, y no es practico decirles que teclen mi ip (192,201,10,1) seria mejor decirles entren a: http://trabajotemporal/, y tampoco decirles entren al host y modifiquen el alias si solo les voy a mostrar por media hora.
            — Ojala me hayan anetendido la idea y si hay alguna solucion.

          • Guillermo

            Bueno en una red local la única opción que veo es que desde tu router redirijas el trafico de http://trabajotemporal/ a tu pc principal, pero ya seria configurar el router y no se si es posible eso o como se tendría que configurar.

  • Luis

    Buenas.. tengo un servidor web con ip publica fija y deseo saber como crear subdominios en Apache y que sean publicos.
    es decir tengo un dominio que para este ejemplo lo llamare http://www.midominio.com y quisiera entrarle desde cualquier equipo (con internet) a un subdirectorio de mi directorio raiz, utilizando por ejemplo http://www.sub.midominio.com. Se puede??

    • Guillermo

      Sería como crear un nuevo host virtual.

      <VirtualHost *:80>    
          DocumentRoot "c:/wamp/www/midominio.com/sub.dominio.com"
          ServerName sub.midominio.com
      	<Directory "c:/wamp/www/midominio.com/sub.dominio.com">
      		Options Indexes FollowSymLinks		
      		AllowOverride All
      		Order Deny,Allow
      		Deny from all
      		Allow from all		
      	</Directory>	
      </VirtualHost>

      Y en el archivo hosts

      127.0.0.1	sub.midominio.com www.midominio.com midominio.com
  • Hector

    Muy bueno,
    he creado el host sin fallo. Ahora mi problema está, en que no me saca los errores al fichero de log de apache. Lo he configurado del siguiente modo, el fichero me lo crea, pero los errores no me los escribe. ¿Alguna idea?

    DocumentRoot “c:/wamp/www/ssd/microsites/www.monbus.es”
    ServerName monbushost
    ServerAlias monbushost

    # Archivos de logs:
    ErrorLog C:\wamp\bin\apache\Apache2.4.4\logs\monbushost.error.log
    LogLevel debug
    CustomLog C:\wamp\bin\apache\Apache2.4.4\logs\monbushost.access.log combined

    • Guillermo

      Pues ciertamente tienes razón lo he probado y no captura los errores por host virtual, los errores lo esta capturando en el archivo por defecto del apache C:\wamp\logs\apache_error.log debe ser algún error del wamp server, voy a probar con otras versiones haber si ocurre lo mismo.

  • Jolver Rivas

    Tengo un problema en mi red WLAN cuando conecto otras PC’s tengo que entrar con la IP + :8080 por ejemplo ip del servidor 192.168.1.102:8080 solo asi me entra como hago para ponerle un nombre de dominio.

    • Guillermo

      La única forma que veo, es que adquieras un dominio como el de noip.com y lo configures en tu router para que apunte a la ip de tu servidor.

  • cuando cargo mi pagina desde internet me muestra la pagina de inicio del wamp y quiero q me muestre directo a mi sitio web,tambien quiero averiguar como puedo editar varios sitios en mi servidor wamp

    • Guillermo

      En tu wampserver crea tu host virtuales, debe quedar así: archivo c:/wamp/vhosts/localhost este es para el dominio por defecto, si deseas puedes mostrar una pagina en blanco y no se vea la pagina del wamp y otro archivo para tu dominio c:/wamp/vhosts/localhost/midominio.com , sigue la guía del post.

  • Halcon46

    Buenos días compañero :
    He seguido todos los pasos de tu tutorial para crear un virtual host, pero una vez que reinicio Apache, me aparece el siguiente mensaje :
    “FORBIDDEN You don’t have permission to access / on this server.”
    Entiendo que crear un virtual host, sirve para poner una dirección web amigable “ejem : http://www.pepe.rad“, en vez de especificar toda la ruta. Lo único que hago diferente de tu tutorial es que mi carpeta para el dominio “pepe.rad”, no está dentro de la carpeta “c:\wamp\www”, sino en “d:\vhosts\pepe.rad”, y el archivo “index.php”, está en “d:\vhosts\pepe.rad\htdocs”
    Uso wampserver 3.0.0 y Apache 2.4.17.

    Mi archivo “httpd-vhosts.conf” es :

    # localhost – para definir el localhost

    ServerAdmin webmaster@localhost
    DocumentRoot “d:/wamp/www”
    ServerName localhost
    ErrorLog “logs/localhost-error.log”
    CustomLog “logs/localhost-access.log” common

    # dominio pepe.rad

    ServerAdmin webmaster@pepe.rad
    DocumentRoot “d:/vhosts/pepe.rad/htdocs”
    ServerName www.pepe.rad
    ErrorLog “logs/pepe.rad-error.log”
    CustomLog “logs/pepe.rad-access.log” common

    Y el archivo hosts de windows 10 es así :
    127.0.0.1 localhost
    127.0.0.1 www.pepe.rad

    Todo esto es en local, puesto que estoy haciendo pruebas. Qué es lo que tengo mal? o al estar fuera de la carpeta “d:\wamp\www” tengo que hacer algo más?
    Un saludo y muchas gracias de antemano.

    • Guillermo

      Prueba de la segunda forma como esta en el tutorial, pero usa la carpeta www y no vhosts o crear otra carpeta.
      También copia bien la ruta de tu carpeta con mayúsculas o minúsculas.

      <VirtualHost *:80>    
          DocumentRoot "D:/www/pepe.rad/htdocs"
          ServerName midominio.com
          ServerAlias www.midominio.com
      	<Directory "D:/www/pepe.rad/htdocs">
      		Options Indexes FollowSymLinks		
      		AllowOverride All
      		Order Deny,Allow
      		Deny from all
      		Allow from all		
      	</Directory>	
      </VirtualHost>