Você está na página 1de 12

MANUAL BSICO DE CREACINDE HOST VIRTUALES EN APACHE

Un host virtual, o VirtualHost, en Apache nos permite mantener mltiples nombres de host en nuestro servidor.

INTRODUCCIN
El presente manual permite explicar de manera sencilla y concisa cmo crearlos en nuestro servidor local y configurar nuestro sistema operativo para que acepte dichos nombres de host. Muchos de nosotros estamos acostumbrados a trabajar en nuestro servidor web local para nuestros proyectos en modo de prueba o testeo, y por lo generalmente tenemos ms de un proyecto en camino, sea laboral (p.e. el web site de un cliente) o personal (p.e. nuestro blog o comunidad virtual). Solemos guardar estos proyectos en carpetas separadas dentro un directorio tal como C:/www/ que sera nuestro directorio raz web (desde el cual llamamos a nuestro clsico http://localhost ), y llamar a nuestros proyectos de la siguiente manera en nuestro navegador preferido: http://localhost/tiperu , http://localhost/willyblog , http://localhost/bazar , entro otros por citar un ejemplo. En cierto modo podemos trabajar de manera regularmente cmoda, pero quiz desearamos usar el nombre del dominio real con el que trabajos estos proyectos en la Internet. As podramos hacer usar lo siguiente: http://www.tiperu.com en lugar de http://localhost/tiperu , http://willy.tiperu.com en lugar de http://localhost/willyblog , o http://www.bazarperu.com en lugar de http://localhost/bazar Y cmo hacemos esto?, pues la respuesta es sencilla, configurando la directiva VirtualHost de nuestro servidor Apache y el archivo host de nuestro Sistema Operativo ( Windows o Linux).

CONFIGURANDO EL ARCHIVO HOST

Lo primero que configuraremos ser el archivo host de nuestro SO, para Linux lo podemos encontrar en el directorio /etc/ mientras que para Windows XP lo encontramos en C:/Windows/System32/Drivers/etc/. Este archivo lo que hace es asignar direcciones IP a los nombres de host, para que al colocar por ejemplo 127.0.0.1 o localhost en nuestro navegador nos redireccione al mismo contenido. No se sorprenda si encuentra el siguiente par en el archivo host: 127.0.0.1 localhost, dnde el primer valor es nuestra direccin IP local y el segundo el nombre del host. Lo que haremos ahora es colocar tantas entradas cono deseemos para nuestros proyectos, relacionando la IP local con nuestros nombres de dominio. Para el ejemplo tomaremos las rutas que di anteriormente, las cuales se colocarn debajo del par 127.0.0.1 localhost:

#localhost 127.0.0.1 localhost #TIPeru COM SAC (Mi empresa de hosting) 127.0.0.1 www.tiperu.com #Mi blog 127.0.01 willy.tiperu.com #BazarPeru (Tienda Virtual) 127.0.0.1 www.bazarperu.com

Ntese que he colocado el caracter # . Este carcter nos permite ingresar un texto a manera de comentario. Bueno, una vez hechos estos cambios procedemos a guardar el archivo. Para confirmar su funcionamiento abra su navegador y digite cualquiera de los nombres de host que ha agregado, recuerde de respetar el nombre completo, ya que una entrada del tipo tiperu.com no tendra efecto por carecer del www. que lo antecede.

Si al ingresar el nombre del host le muestra el contenido de su http://localhost significa que la asignacin de IP para el nombre de host a tenido efecto. Ntese que an su nombre de host no apunta a la carpeta en la que se guarda su proyecto. Este punto lo veremos a continuacin.

CONFIGURANDO EL ARCHIVO HTTPD.CONF DEL APACHE


Ahora configuraremos nuestro servidor Apache para que acepte los nombres de dominio agregados al archivo host y los relacione con las carpetas que albergan los archivos de nuestros proyectos. Para ello abriremos el archivo conf/httpd.confy nos dirigiremos a la siguiente seccin:

# # 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. #

NOTAS:
Haga una copia de respaldo de sus archivos de configuracin antes de realizar cualquier cambio en ellos.

Si no encuentra la seccin Virtual Hosts en el archivo httpd.conf quiz lo pueda ubicar en la siguiente ruta conf/extra/httpd-vhosts.conf Luego procederemos a quitar el comentario de ##NameVirtualHost *:80 dejndolo de la siguiente manera:

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

Esta accin nos permisita trabajar con host virtuales basados en nombres. El * representa un nmero IP y puede ser reemplazado por uno de ellos si desee. Para el ejemplo djelo tal y como esta. Enseguida procederemos a configurar los host virtuales, agregndolos de la siguiente manera:

#localhost <VirtualHost *:80> DocumentRoot "C:/www" ServerName localhost:80 </VirtualHost>

#TIPeru COM SAC <VirtualHost *:80>

DocumentRoot "C:/wwww/tiperu" ServerName www.tiperu.com </VirtualHost>

#Mi Blog <VirtualHost *:80> ServerAdmin willy@tiperu.com DocumentRoot "C:/wwww/willy" ServerName willy.tiperu.com </VirtualHost> #BazarPeru <VirtualHost *:80> ServerAdmin webmaster@bazarperu.com DocumentRoot "C:/wwww/bazar" ServerName www.bazarperu.com </VirtualHost>

Como se puede aprecia cada Virtual Host esta encerrado entre las etiquetas <VirtualHost> y </VirtualHost> que contiene el parmetro *:80 que es NameHostVirtual al cual se refiere. Dentro de estas etiquetas, 2 valores son esenciales para que funcionen correctamente nuestros host virtuales: DocumentRoot. Que es la ruta en la cual se guarda nuestra pgina web; y

ServerName . Que es el nombre del host que previamente agregamos al archivo host de nuestro S.O. Adicionalmente podemos agregar otros valores, tal como si cada host virtual fuera un host independiente (p.e. ServerAdmin). Ntese algo muy importante. Si bien localhost es nuestro servidor local por defecto, debemos tambin agregarlo con un virtual host para que todo trabaje en orden, y debemos agregarle los mismos valores del DocumentRoot y ServerName que posee en su configuracin global, de lo contrario no cargar el host. Finalmente lo que haremos es para el servicio de nuestro servidor Apache y volverlo a inciar. Si tod o esta correctamente configurado podemos cargar en nuestro navegador uno de los nombres de host y ver los resultados (p.e. www.tiperu.com ). Si carga el contenido de la carpeta que le hemos asignado en el <VirtualHost> y no el directorio raiz del localhost quiere decir que todo esta correcto. Felicidades Ud. Ya tiene configurado su host virtual !!!

Configuracin de Servidores Virtuales con Apache y Windows

Pasos para configurar varios dominios en un mismo servidor Apache sobre Windows (Servidores Virtuales): Realmente es un procedimiento muy sencillo, vamos a ver un ejemplo para un dominio llamadoservidorvirtual.com, recuerda reemplazar este dominio por el tuyo cuando vayas a realizar tu configuracin y recuerda tambien configurar el dominio en tu proveedor para que apunte a la IP del equipo donde vas a configurar los servidores virtuales. Comenzamos: Buscamos en el httpd.conf la lnea que pone Include conf/extra/httpd-vhosts.conf (Precedida por la lnea que dice # Virtual hosts), con esto le indicamos a Apache que cargue el archivo de configuracin para servidores virtuales (cada servidor virtual relacionar un dominio con un directorio como veremos ms adelante) Dentro del directorio donde tenemos instalado Apache (por defecto C:\AppServ\Apache2.2) buscamos la ruta conf/extra/ y dentro de este ultimo directorio o carpeta buscamos el archivo httpd-vhosts.conf y lo abrimos. Una vez abierto el archivo podremos ver la configuracin de ejemplo para dos servidores virtuales a los que denomina dummy-host.x y dummy-host2.x. Esta configuracin se muestra de la siguiente manera: <VirtualHost *:80> ServerAdmin webmaster@dummy-host.x DocumentRoot "C:/Apache2.2/docs/dummy-host.x" ServerName dummy-host.x ServerAlias www.dummy-host.x ErrorLog "logs/dummy-host.x-error.log" CustomLog "logs/dummy-host.x-access.log" common </VirtualHost> Pues siguiendo este esquema vamos a configurar el domino servidorvirtual.com para que apunte a la carpeta en la que tengo los archivos web que en este caso serC:\AppServ\www\servidorvirtual\ <VirtualHost *:80> ServerAdmin webmaster@servidorvirtual.com DocumentRoot "C:/AppServ/www/servidorvirtual" ServerName servidorvirtual.com ServerAlias www.servidorvirtual.com ErrorLog "logs/servidorvirtual.com-error.log" CustomLog "logs/servidorvirtual.com-access.log" common </VirtualHost> Ahora lnea por lnea: <VirtualHost *:80> Abrimos el bloque de configuracion del servidor virtual ServerAdmin webmaster@servidorvirtual.com Direccion de email del administrador del sitio web DocumentRoot "C:/AppServ/www/servidorvirtual" Carpeta donde se encuentran los archivos del sitio web ServerName servidorvirtual.com El nombre del dominio (importante, sin www) ServerAlias www.servidorvirtual.com El alias del domino, es igual que el nombre del dominio, pero indicando el protocolo ErrorLog "logs/servidorvirtual.com-error.log" El archivo donde se guardaran los posibles errores lanzados por el servidor
(Puede usarse el mismo para todos los servidores virtuales, aunque no es recomendable) CustomLog "logs/servidorvirtual.com-access.log" common El archivo donde se guardaran los accesos a los diferentes archivos del sitio web (imagenes, hojas de estilo, archivos javascript...) (Al igual que con el archivo anterior, puede usarse el mismo para todos los servidores virtuales, aunque no es recomendable) </VirtualHost> Cerramos el bloque de configuracion del servidor virtual

Tendremos que repetir este bloque para cada uno de los dominios que queramos alojar, cambiando las lineas que comienzan por DocumentRoot, ServerName y ServerAlias para indicar los valores de cada uno de los servidores virtuales que queramos crear para alojar nuestros dominios. Una vez hecho esto, ya slo nos queda configurar Windows para que sepa que las peticiones que llegan a nuestra mquina atravs de servidorvirtual.com (en vuestro caso el dominio o dominios que hayais configurado). Para esto vamos a buscar el archivo hosts que se encuentra enC:\WINDOWS\system32\drivers\etc. Una vez

localizado lo abrimos y buscamos la linea que pone127.0.0.1 localhost, cuando la hayamos encontrado vamos a la linea siguiente y aadimos una nueva linea por cada dominio de la siguiente manera 127.0.0.1 servidorvirtual.com.

Investigacin y desarrollo Modificando el archivo HOST Lo primero que debes hacer es configurar el archivo HOST de tu sistema operativo, el cual puedes encontrar en la siguiente ruta C:/Windows/System32/Drivers/etc/. Este archivo cumple la funcin de asignar direcciones IP a los nombres de los HOST, para cuando ingresemos en la URL por ejemplo 127.0.0.1 o LOCALHOST en el navegador, nos direccione al mismo contenido. Al final del archivo HOST encontraras la siguiente lnea 127.0.0.1 localhost, debajo de dicha fila debes poner la misma direccin IP y colocas el nombre del HOST que gustes, como por ejemplo miProyecto.cl, una vez hecho los cambios guardas el archivo.

Imagen 1: Archivo Host - (Fuente: PLAYA SOLUCIONES)

Modificando el archivo httpd.conf de APACHE A continuacin haremos que nuestro servidor APACHE acepte los dominios agregados recientemente en el archivo HOST, y los relacione con las carpetas que contiene los archivos de nuestro proyecto en particular. Para realizar dicho proceso debemos acceder al archivo httpd.conf de nuestro servidor APACHE.

Imagen 2: Localizacin del archivo httpd.conf en el servidor APACHE - (Fuente: PLAYA SOLUCIONES)

Cuando abras el archivos debes buscar la lnea siguiente #Include conf/extra/httpd-vhosts.conf y quitarle el smbolo #(gato) que lo antepone, como lo muestra la imagen siguiente.

Imagen 3: Archivo httpd.conf del servidor APACHE - (Fuente: PLAYA SOLUCIONES)

Despus de hacer el procedimiento guardas el archivo, posteriormente ubicas el archivo httpd-vhosts.conf, para configurar los host virtuales, este archivo se encuentra en C:/wamp/bin/apache/Apache2.2.11/conf/extra. Al final del documento en cuestin debes agregar la siguientes lneas:
1 <VirtualHost *:80> 2 ServerAdmin webmaster@dummy-host2.localhost 3 DocumentRoot "C:/wamp/www/miProyecto" 4 ServerName miProyecto.cl 5 ErrorLog "logs/miProyecto.cl-error.log" 6 CustomLog "logs/miProyecto.cl-access.log" common 7 VirtualHost>

En el punto DocumentRoot debes indicar la ruta de la carpeta que contiene los archivos de tu proyecto Y el punto ServerName indicas el nombre de tu HOST, que previamente agregaste en el archivo HOST. Finalmente reinicias los servicios de tu servidor, y listo, ahora puedes cargar en el navegador el HOST que agregaste, y ver el resultado http://miProyecto.cl. Si carga el contenido de la carpeta que le asignaste en el VirtualHost y no el directorio raz del localhost, quiere decir que todo est correcto. Felicidades Ud. Ya tiene configurado su host virtual.

Nota: Si tienes algn problema en la visualizacin de tu sistema en el navegador, y sale el siguiente mensaje

fallo al conectar, en este caso debes dirigirte nuevamente al archivo httpd.conf y quitar el signo # a la lnea que indica lo siguiente: LoadModule rewrite_module modules/mod_rewrite.so

Você também pode gostar