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!


COMENTARIOS / 3 COMENTARIOS

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,,,,

webster dijo estas sabias palabras el Lunes 3 de mayo de 2010 a las 9:22 am

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!

everdaniel dijo estas sabias palabras el Lunes 3 de mayo de 2010 a las 16:54 pm

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

Ivan dijo estas sabias palabras el Sábado 29 de mayo de 2010 a las 21:12 pm

HABLA / SAY SOMETHING!
Comentarios son moderados.

XHTML: Puedes usar éstas etiquteas: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

Volver al Inicio