martes, 3 de marzo de 2015

Cómo crear Virtual Hosts con Apache


Se explicara como el proceso de configuración necesario para poder trabajar en varios proyectos en un solo servidor sin necesidad de usar ruta directorios en las URLs.

Se quiere evitar colocar direcciones asi:

http://localhost/sitio1
http://localhost/proyecto1

para colocar direcciones asi:

http://www.killer.net
http://www.tuproyecto.com

Primero se debe instalar el servidor apache y todo los paquetes necesarios, en el siguiente http://kimberling146.blogspot.com/2013/10/instalacion-de-un-servidor-web.html

Una vez que se instalo y configuro el servidor hay que decirle al sistema operativo que queremos que las direcciones de internet www,killer.net y www.tuproyecto.com deben ser interpretadas por el servidor local (localhost). Esto se hace editando el archivo /etc/hosts


nano /etc/hosts


y agregando estas lineas


127.0.1.1       www.killer.net

127.0.1.1       www.tuproyecto.com

Estas líneas tienen el formato ip dominio y cada vez que algún programa intente conectarse a ese dominio será apuntado a esa ip. Luego guardamos los cambios y continuamos...

Ahora vamos al último paso de la configuración... vamos a decirle al servidor Apache qué es lo que debe hacer cuando reciba un llamado a alguna de esas direcciones. Esto se hace creando un archivo en la carpeta /etc/apache2/sites-available. El archivo de configuración de Apache sugiere que los archivos creados de manera local sean llamados tal cual como el dominio colocado en /etc/hosts www.killer.net.conf y www.tuproyecto.conf para evitar conflictos con archivos que otros programas puedan agregar de manera automática a esa carpeta.

#cd /etc/apache2/sites-available
#nano  www.killer.net.conf

A este archivo se le agregan las siguientes líneas para crear la configuración del servidor local:

<VirtualHost *:80>

    ServerAdmin root@www.killer.net
    DocumentRoot "/var/www/killer"
    ServerName www.killer.net
    ErrorLog "${APACHE_LOG_DIR}/localhost_sitio1-error_log"
    CustomLog "${APACHE_LOG_DIR}/localhost_sitio1-access_log" common
    <Directory "/var/www/killer>
        Options Indexes FollowSymLinks MultiViews
        AllowOverride All
        Order allow,deny
        Allow from all
    </Directory>
</VirtualHost>

<VirtualHost *:80> Esta acción nos permite trabajar con host virtuales basados en nombres. El * representa un número IP y puede ser reemplazado por uno de ellos si desee. Para el ejemplo déjelo tal y como esta.

DocumentRoot. Que es la ruta en la cual se guarda nuestra página web. 

ServerName. Que es el nombre del host que previamente agregamos al archivo host de nuestro S.O.

Como pueden ver en la configuración, le dijimos al servidor Apache que debe buscar los archivos para www.killer.net en la carpeta /var/www/killer, entonces es allá donde tendremos que poner los archivos de nuestra aplicación.

Activamos el Sitio

a2ensite www.killer.net.conf

Desactivamos el Sitio

a2dissite www.killer.net.conf

Una vez se han guardado esos cambios, habrá que ejecutar un comando que es el enlace simbólico de la siguiente manera:


#ln -s /etc/apache2/sites-available/www.killer.net.conf /etc/apache2/sites-enabled/www.killer.net.conf

Por ultimo hay que reiniciar el servidor Apache para que tome las nuevas configuraciones:

#/etc/init.d/apache2 restart

Nota: Estos mismos pasos se deben realizar para el proyecto www.tuproyecto.com

Listo ya podemos colocar www.killer.net en un navegador y entrar al proyecto.

Como acceder desde una red externa (CLIENTE) a ese proyecto.

Entras en /etc/hosts de tu equipo y colocas la ip publica del servidor donde se encuentra el proyecto y el dominio 

172.168.95.9    www.killer.net

y listo ya desde un equipo externo podras entrar 




1 comentario:

  1. Buen tutorial, a veces este tipo de cosas se vuelve muy complejo y conviene tener algo así a mano. Dejo algo de información sobre las Ventajas de Virtual Host para quien esté interesado.

    ResponderEliminar