En este how-to, vamos a configurar nuestro servidor web local para que sirva dominios virtuales (o subdominios) utilizando virtual hosts.
Utilizaremos WindowsXP como nuestro Sistema Operativo y AppServ v2.5.10 como nuestro Servidor Web/Base Datos/PHP. Aquí hay una guía de Instalación del AppServ.
Lo primero que debemos hacer, es habilitar el módulo alias en nuestro archivo de configuración del Apache, para ello, debemos abrir el archivo httpd.conf ubicado en C:\AppServ\Apache2.2\conf (si habíamos seguido el procedimiento de instalación en el enlace anterior).
Alrededor de la línea 203, descomentamos la línea que corresponde al módulo alias del tal forma que quede así:
LoadModule vhost_alias_module module/mod_vhost_alias.so
El módulo vhost se cargará de ahora en más en cada arranque del Apache.
Ahora necesitamos descomentar la línea en donde se carga el archivo que contiene la configuración de los virtual hosts. En el mismo archivo, alrededor de la línea 506, también descomentamos la línea siguiente:
Include conf/extra/httpd-vhosts.conf
Ahora podemos guardar nuestros cambios y cerrar el archivo.
Con estos cambios, nuestro servidor Apache ahora puede servir dominios configurados en nuestro archivo de configuración de vhosts.
El siguiente paso, es configurar nuestros dominios virtuales, para ello, procedemos a editar el archivo httpd-vhosts.conf ubicado en C:\AppServ\Apache.2.2\conf\extra. El primer dominio virtual que debemos configurar es el localhost (así podemos acceder al PhpMyAdmin y a subcarpetas ubicadas en el document root del Apache). Editamos el primer contenedor del virtual host y nos aseguramos que quede de esta manera:
<VirtualHost *:80>
ServerAdmin webmaster@localhost
DocumentRoot "C:/AppServ/www"
ServerName localhost
ServerAlias localhost
ErrorLog "logs/localhost-error.log"
CustomLog "logs/localhost-access.log" common
</VirtualHost>
A continuación, configuramos un dominio virtual para un proyecto nuestro llamado “geekville” que está ubicado en C:\AppServ\www\geekville. En este directorio, creamos un archivo index.html con algo de texto dentro. Luego editamos el segundo contenedor (en el archivo httpd-vhosts.conf) y lo dejamos de esta forma:
<VirtualHost *:80>
ServerAdmin webmaster@geekville.com
DocumentRoot "C:/AppServ/www/geekville"
ServerName www.geekville.com
ErrorLog "logs/geekville-error.log"
CustomLog "logs/geekville-access.log" common
</VirtualHost>
Ya tenemos nuestros dos dominios virtuales configurados. Ahora editamos nuestro archivo hosts local (usualmente ubicado en C:\Windows\system32\drivers\etc) para obligar a nuestro Sistema Operativo a resolver el dominio a nuestro servidor local. Añadimos la siguiente linea al final del archivo:
127.0.0.1 www.geekville.com
Ahora sólo nos resta reiniciar Apache para que lea nuestros cambios, nos vamos a Inicio > Panel de Control > Herramientas Administrativas > Servicios (o más rápido aún, presionamos Tecla Windows + R y escribimos services.msc), seleccionamos Apache2.2 y hacemos click en Reiniciar.
Ahora ya podemos abrir el navegador y escribir www.geekville.com. Si visualizas el archivo index.html con el texto que escribiste, tu virtual host ya está funcionando.
Happy coding!
hola amigo segui tusa intrucciones todo pero al momento de abrir el archivo httpd.conf no me permite me dice elija un programa para abrir este archivo espero me puedas ayudar pq soy nuevo en esto saludos webs,,,,
hola webster,
el archivo httpd.conf podés abrirlo con cualquier editor de textos como notepad o notepad++ (o cualquier otro)
suerte y gracias por tu comentario!
Man exelente, Muy buena guia.
Un problema:
Cuando la carpeta es distinta a el root:
por ejemplo
default: c/appserv/www
OTRO DOMINIO
c/website/camello.com
Excelente tutorial, gracias!
genial, excelente explicacion! es justo lo que necesitaba y logre que se vean todas mis paginas, mil gracias!
Buenas Nocher Hermano! Exelente Tutorial mmm no se en que me perdi al tipear el http://www.dominio.com sigo visualizando la pagina de appserver
Perfecto Hermano Solucionado el Problema Entendi Mal no se crea una carpeta dentro de www/otra carpeta mmm en la misma www. configuramos el index.php que viene simplemente hay que cambiar los codigos fuentes muchas gracias hermano… Bless!!! Buen tuto!
mmm buenas noches de nuevo tengo una duda quiero que en mi red al tipear http://www.comunidadx.com se vusualice la pg solo se visualiza en la red si tipeo la direccion ip de la pc donde esta el server no se si me explique
nose que hice mal pero digo localhost y se me repite la pagina eternamente y me sale este mensaje :
Esta página web tiene un bucle de redireccionamiento
:(
listo solucionado me falto poner :
ServerAdmin webmaster@localhost
DocumentRoot “C:/AppServ/www”
ServerName localhost
ServerAlias localhost
ErrorLog “logs/localhost-error.log”
CustomLog “logs/localhost-access.log” common
GRACIAS MASTER sos un capo !!!
despues de tanto probar me encontre con tu articulo y ZAS!!! todo funciona con dos dominios diferentes y un solo IP.
GRACIAS !!!!
Hola Ever Daniel me podrias ayudar con la configuracion del serve filezilla, para aceptar conexiones desde internet.
Excelente material TODO FUNCIONA BIEN.
El problema es cuando quiero ingresar desde otra pc en una Red Lan no carga nada la pagina. URGENTE AYUDA
Despues de hacer ese cambio me aparece en mi servidor este error :
Forbidden
You don’t have permission to access / on this server.
trabajo con win 7 me puedes decir de que se trata =(
gracias todo me funcina pero cuando intento acceder desde otro equipo me sale el
Forbidden
You don’t have permission to access / on this server windows 7 appserv. lo mismo que a galax.
Hola, como estas!!, mil gracias por este tutorial!!! entro con el dominio que puse y quedó muy bien, solo una pregunta más, mi máquina esta en red pero cuando alguien de esa misma red intenta acceder a la página no puede, como si no existiera el dominio, pero al entrar con la dirección de mi IP (fija) si pueden acceder.. que puedo hacer para que todos los de mi red interna puedan acceder tecleando solamente el nombre de mi dominio? saludos y muchas gracas de antemano
Tienes que actualizar el hosts en cada máquina desde la que quieres acceder usando el dominio.
Suerte!
Hola he configurado mi virtual host como me has dicho pero no consigo que me funcione. Me dice pagina no encontrada.
Mi sitio web se llama http://www.asir.es y el indice lo tengo en la ruta c:\miweb\asir.
Te adjunto mi archivo httpd-vhost, si cambio el primer host virtual tal y como lo tienes tu no me reinicia el apache.
# IP addresses. This is indicated by the asterisks in the directives below.
#
# Please see the documentation at
#
# 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 block.
#
ServerAdmin [email protected]
DocumentRoot “C:/Archivos de programa/Apache Software Foundation/Apache2.2/docs/dummy-host.smoreno.com”
ServerName dummy-host.smoreno.com
ServerAlias http://www.dummy-host.smoreno.com
ErrorLog “logs/dummy-host.smoreno.com-error.log”
CustomLog “logs/dummy-host.smoreno.com-access.log” common
ServerAdmin [email protected]
DocumentRoot “c:/miweb/asir/asir.es”
ServerName http://www.asir.es
ErrorLog “logs/asir.es-error.log”
CustomLog “logs/asir.es-access.log” common
Muchisimas gracias y un saludo.