MANUAL BÁSICO DE CREACIÓNDE HOST VIRTUALES EN APACHE

12
 MANUAL BÁSICO DE CREACIÓNDE HOST VIRTUALES EN AP ACHE Un host virtual, o VirtualHost, en Apache nos permite mantener múltiples nombres de host en nuestro servidor. INTRODUCCIÓN El presente manual permite explicar de manera sencilla y concisa cómo 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 pa ra nuestros  proyectos en modo de prueba o testeo, y por lo generalmente tenemos más de un proyecto en camino, sea lab oral (p.e. el web site de un  cliente) o personal (p.e. nuestro blog o comunidad v irtual). Solemos guardar estos proyectos en carpetas separadas dentro un directorio tal como C:/www/ que sería nuestro directorio raíz web (desde el cual llamamos a nuestro clásico 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 cómoda, pero quizá desearíamos usar el nombre del dominio real con el que  trabajos estos proyectos en la Internet. Así podríamos 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 cómo 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

Transcript of MANUAL BÁSICO DE CREACIÓNDE HOST VIRTUALES EN APACHE

5/14/2018 MANUAL BÁSICO DE CREACIÓNDE HOST VIRTUALES EN APACHE - slidepdf.com

http://slidepdf.com/reader/full/manual-basico-de-creacionde-host-virtuales-en-apache 1/12

 

MANUAL BÁSICO DECREACIÓNDE HOST

VIRTUALES EN APACHE Un host virtual, o VirtualHost, en Apache nos permite mantenermúltiples nombres de host en nuestro servidor.

INTRODUCCIÓN

El presente manual permite explicar de manera sencilla y concisa cómocrearlos 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 tenemosmás de un proyecto en camino, sea laboral (p.e. el web site de un

 

cliente) o personal (p.e. nuestro blog o comunidad virtual). Solemosguardar estos proyectos en carpetas separadas dentro un directorio talcomo C:/www/ que sería nuestro directorio raíz web (desde el cual

llamamos a nuestro clásico 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 cómoda,pero quizá desearíamos usar el nombre del dominio real con el que

 

trabajos estos proyectos en la Internet. Así podríamos hacer usar losiguiente:

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 cómo hacemos esto?, pues la respuesta es sencilla, configurando ladirectiva VirtualHost de nuestro servidor Apache y el archivo host de

nuestro Sistema Operativo (Windows o Linux).

CONFIGURANDO EL ARCHIVO HOST

5/14/2018 MANUAL BÁSICO DE CREACIÓNDE HOST VIRTUALES EN APACHE - slidepdf.com

http://slidepdf.com/reader/full/manual-basico-de-creacionde-host-virtuales-en-apache 2/12

 

Lo primero que configuraremos será el archivo host de nuestro SO, para

 

Linux lo podemos encontrar en el directorio /etc/ mientras que paraWindows XP lo encontramos en C:/Windows/System32/Drivers/etc/.

 

Este archivo lo que hace es asignar direcciones IP a los nombres dehost, para que al colocar por ejemplo 127.0.0.1 o localhost en nuestro

 

navegador nos redireccione al mismo contenido. No se sorprenda siencuentra el siguiente par en el archivo host: 127.0.0.1 localhost, dónde

 

el primer valor es nuestra dirección IP local y el segundo el nombre delhost.

Lo que haremos ahora es colocar tantas entradas cono deseemos para

 

nuestros proyectos, relacionando la IP local con nuestros nombres dedominio. Para el ejemplo tomaremos las rutas que di anteriormente, las

 

cuales se colocarán 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

Nótese que he colocado el caracter “#” . Este carácter nos permiteingresar 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 cualquierade los nombres de host que ha agregado, recuerde de respetar elnombre completo, ya que una entrada del tipo tiperu.com no tendríaefecto por carecer del www. que lo antecede.

5/14/2018 MANUAL BÁSICO DE CREACIÓNDE HOST VIRTUALES EN APACHE - slidepdf.com

http://slidepdf.com/reader/full/manual-basico-de-creacionde-host-virtuales-en-apache 3/12

 

Si al ingresar el nombre del host le muestra el contenido de

 

su http://localhostsignifica que la asignación de IP para el nombre de

 

host a tenido efecto. Nótese que aún su nombre de host no apunta a lacarpeta en la que se guarda su proyecto. Este punto lo veremos acontinuación.

CONFIGURANDO EL ARCHIVO HTTPD.CONFDEL APACHE

Ahora configuraremos nuestro servidor Apache para que acepte losnombres de dominio agregados al archivo host y los relacione con lascarpetas que albergan los archivos de nuestros proyectos. Para elloabriremos el archivo conf/httpd.conf y nos dirigiremos a la siguientesección:

#

# 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 configuración antes derealizar cualquier cambio en ellos.

5/14/2018 MANUAL BÁSICO DE CREACIÓNDE HOST VIRTUALES EN APACHE - slidepdf.com

http://slidepdf.com/reader/full/manual-basico-de-creacionde-host-virtuales-en-apache 4/12

 

• Si no encuentra la sección 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 *:80dejándolo de la siguiente manera:

#

# Use name-based virtual hosting.

#

NameVirtualHost *:80

#

Esta acción nos permisita trabajar con host virtuales basados ennombres. El * representa un número IP y puede ser reemplazado poruno de ellos si desee. Para el ejemplo déjelo tal y como esta.

Enseguida procederemos a configurar los host virtuales, agregándolosde la siguiente manera:

#localhost

<VirtualHost *:80>

DocumentRoot "C:/www"

ServerName localhost:80

</VirtualHost>

#TIPeru COM SAC

<VirtualHost *:80>

5/14/2018 MANUAL BÁSICO DE CREACIÓNDE HOST VIRTUALES EN APACHE - slidepdf.com

http://slidepdf.com/reader/full/manual-basico-de-creacionde-host-virtuales-en-apache 5/12

 

DocumentRoot "C:/wwww/tiperu"

ServerName www.tiperu.com

</VirtualHost>

#Mi Blog

<VirtualHost *:80>

ServerAdmin [email protected]

DocumentRoot "C:/wwww/willy"

ServerName willy.tiperu.com

</VirtualHost>

#BazarPeru

<VirtualHost *:80>

ServerAdmin [email protected]

DocumentRoot "C:/wwww/bazar"

ServerName www.bazarperu.com

</VirtualHost>

Como se puede aprecia cada Virtual Host esta encerrado entre lasetiquetas <VirtualHost> y </VirtualHost> que contiene el parámetro

 

*:80 que es NameHostVirtual al cual se refiere. Dentro de estasetiquetas, 2 valores son esenciales para que funcionen correctamente

 

nuestros host virtuales:

•  DocumentRoot. Que es la ruta en la cual se guarda nuestra páginaweb; y

5/14/2018 MANUAL BÁSICO DE CREACIÓNDE HOST VIRTUALES EN APACHE - slidepdf.com

http://slidepdf.com/reader/full/manual-basico-de-creacionde-host-virtuales-en-apache 6/12

 

•  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 hostvirtual fuera un host independiente (p.e. ServerAdmin).

Nótese algo muy importante. Si bien localhost es nuestro servidor localpor defecto, debemos también agregarlo con un virtual host para quetodo trabaje en orden, y debemos agregarle los mismos valores delDocumentRoot y ServerName que posee en su configuración global, delo contrario no cargará el host.

Finalmente lo que haremos es para el servicio de nuestro servidorApache 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 directorioraiz del localhost quiere decir que todo esta correcto. Felicidades Ud. Yatiene configurado su host virtual !!!

5/14/2018 MANUAL BÁSICO DE CREACIÓNDE HOST VIRTUALES EN APACHE - slidepdf.com

http://slidepdf.com/reader/full/manual-basico-de-creacionde-host-virtuales-en-apache 7/12

 

Configuración de Servidores Virtuales con Apache y WindowsPasos 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 dominiollamadoservidorvirtual.com, recuerda reemplazar este dominio por el tuyo cuando vayas a realizar tuconfiguración y recuerda tambien configurar el dominio en tu proveedor para que apunte a la IP del equipodonde vas a configurar los servidores virtuales.

Comenzamos:

Buscamos en el httpd.conf la línea que pone Include conf/extra/httpd-vhosts.conf (Precedida por la línea

 

que dice # Virtual hosts), con esto le indicamos a Apache que cargue el archivo de configuración paraservidores virtuales (cada servidor virtual relacionará un dominio con un directorio como veremos másadelante)

Dentro del directorio donde tenemos instalado Apache (por defecto C:\AppServ\Apache2.2) buscamos laruta conf/extra/ y dentro de este ultimo directorio o carpeta buscamos el archivo httpd-vhosts.conf y loabrimos.Una vez abierto el archivo podremos ver la configuración de ejemplo para dos servidores virtuales a los quedenomina dummy-host.x y dummy-host2.x . Esta configuración se muestra de la siguiente manera:<VirtualHost *:80>

ServerAdmin [email protected] "C:/Apache2.2/docs/dummy-host.x"ServerName dummy-host.xServerAlias www.dummy-host.xErrorLog "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 carpetaen la que tengo los archivos web que en este caso seráC:\AppServ\www\servidorvirtual\ 

<VirtualHost *:80> ServerAdmin [email protected] 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 línea por línea:<VirtualHost *:80> Abrimos el bloque de configuracion del servidor virtual

 

ServerAdmin [email protected] 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 diferentesarchivos 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 laslineas que comienzan por DocumentRoot, ServerName y ServerAlias para indicar los valores de cada uno delos servidores virtuales que queramos crear para alojar nuestros dominios.

Una vez hecho esto, ya sólo nos queda configurar Windows para que sepa que las peticiones que llegan anuestra máquina através de servidorvirtual.com (en vuestro caso el dominio o dominios que hayaisconfigurado).Para esto vamos a buscar el archivo hosts que se encuentra enC:\WINDOWS\system32\drivers\etc. Una vez

5/14/2018 MANUAL BÁSICO DE CREACIÓNDE HOST VIRTUALES EN APACHE - slidepdf.com

http://slidepdf.com/reader/full/manual-basico-de-creacionde-host-virtuales-en-apache 8/12

 

localizado lo abrimos y buscamos la linea que pone127.0.0.1 localhost, cuando la hayamos encontradovamos a la linea siguiente y añadimos una nueva linea por cada dominio de la siguiente manera 127.0.0.1

servidorvirtual.com.

Investigación y desarrollo

Modificando el archivo HOST 

Lo primero que debes hacer es configurar el archivo “HOST” de tu sistema operativo, el cual encontrar en la siguiente ruta “C:/Windows/System32/Drivers/etc/”. Este archivo cumple la fun

asignar direcciones IP a los nombres de los HOST, para cuando ingresemos en la URL por ejemplo 127“LOCALHOST” en el navegador, nos direccione al mismo contenido.

Al final del archivo “HOST” encontraras la siguiente línea 127.0.0.1 localhost, debajo de dicha filponer la misma dirección IP y colocas el nombre del HOST que gustes, como por ejemplo “miProyeuna vez hecho los cambios guardas el archivo.

5/14/2018 MANUAL BÁSICO DE CREACIÓNDE HOST VIRTUALES EN APACHE - slidepdf.com

http://slidepdf.com/reader/full/manual-basico-de-creacionde-host-virtuales-en-apache 9/12

 

Imagen 1: Archivo Host - (Fuente: PLAYA SOLUCIONES) Modificando el archivo httpd.conf de APACHE 

A continuación haremos que nuestro servidor APACHE acepte los dominios agregados recientemenarchivo “HOST”, y los relacione con las carpetas que contiene los archivos de nuestro proyecto en pa

Para realizar dicho proceso debemos acceder al archivo httpd.conf de nuestro servidor APACHE.

5/14/2018 MANUAL BÁSICO DE CREACIÓNDE HOST VIRTUALES EN APACHE - slidepdf.com

http://slidepdf.com/reader/full/manual-basico-de-creacionde-host-virtuales-en-apache 10/12

 

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

Cuando abras el archivos debes buscar la línea siguiente “#Include conf/extra/httpd -vhosts.conf” y el símbolo #(gato) que lo antepone, como lo muestra la imagen siguiente.

5/14/2018 MANUAL BÁSICO DE CREACIÓNDE HOST VIRTUALES EN APACHE - slidepdf.com

http://slidepdf.com/reader/full/manual-basico-de-creacionde-host-virtuales-en-apache 11/12

 

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

Después de hacer el procedimiento guardas el archivo, posteriormente ubicas el archivo httpd-vhopara configurar los host virtuales, este archivo se encuentra“C:/wamp/bin/apache/Apache2.2.11/conf/extra”. Al final del documento en cuestión debes agr

siguientes líneas:1

2

3

4

5

6

7

<VirtualHost *:80>

ServerAdmin [email protected]

DocumentRoot "C:/wamp/www/miProyecto"

ServerName miProyecto.cl

ErrorLog "logs/miProyecto.cl-error.log"

CustomLog "logs/miProyecto.cl-access.log" common

VirtualHost>

En el punto “DocumentRoot” debes indicar la ruta de la carpeta que contiene los archivos de tu proye

Y el punto “ServerName” indicas el nombre de tu “HOST”, que previamente agregaste en el archivo “

Finalmente reinicias los servicios de tu servidor, y listo, ahora puedes cargar en el navegador el Hagregaste, y ver el resultado http://miProyecto.cl. Si carga el contenido de la carpeta que le asignasVirtualHost y no el directorio raíz del localhost, quiere decir que todo está correcto. Felicidades Ud. configurado su host virtual.

Nota: Si tienes algún problema en la visualización de tu sistema en el navegador, y sale el siguiente m

5/14/2018 MANUAL BÁSICO DE CREACIÓNDE HOST VIRTUALES EN APACHE - slidepdf.com

http://slidepdf.com/reader/full/manual-basico-de-creacionde-host-virtuales-en-apache 12/12

 

“fallo al conectar”, en este caso debes dirigirte nuevamente al archivo “httpd.conf” y quitar “#” a la línea que indica lo siguiente: 

“LoadModule rewrite_module modules/mod_rewrite.so”