Creación de VirtualHosts para Apache

Nota Importante: Recuerde utilizar los nombres de archivos, aplicaciones, etc, para su caso real.

Apache es uno de los servidores web más utilizados del mundo. Sin embargo para muchos es muy bien sabido que Apache por la gran cantidad de tiempo que tiene en el mercado, posee una comunidad bastane grande de desarrolladores y soporte la cual apoya su robustes. Aunque en la actualidad existen otras opciones para ser útilizadas como servidor Web, como nginx, Apache continúa siendo una gran opción para todos los que trabajamos en este ambiente.

Apache divide su funcionalidad y componentes en unidades separadas que pueden ser personalizadas y configuradas de manera independiente. La unidad básica que describe a un sitio o dominio es denominada virtual host (ó alojamiento virtual en español).

Esta designación permite al administrador hacer uso de un servidor para alojar múltiples dominios o sitios en una única interfaz o IP utilizando un mecanismo de coincidencias. Esto es relevante para cualquiera que desee alojar más de un sitio en un mismo Servidor o VPS.

Por este motivo deseo explicar como podemos realizar la configuración de un VirtualHost para nuestro servidor apache.

Recuerda que siempre debes realizar estas modificaciones con el usuario #root.

1. Cambiar a la ruta /etc/apache2/sites-available

# cd /etc/apache2/sites-available

2. Cree un archivo utilizando el acrónimo de la aplicación, en este caso, sincop.

# vi aplication

Añada las siguientes lineas (Formato Base de un VirtualHost) y guarde el archivo
<VirtualHost *:80>
       ServerAdmin webmaster@localhost
       <Directory />
               Options None
               Options FollowSymLinks
               AllowOverride None
               Order deny,allow
               Deny from all
       </Directory>
       <Directory /var/www/aplication/>
               Options FollowSymLinks
               Order allow,deny
               Allow from all
       </Directory>
       #ServerName aplication.com
       DocumentRoot /var/www/aplication
       ErrorLog /var/log/apache2/aplication_error.log
       LogLevel warn
       CustomLog /var/log/apache2/aplication_acces.log combined
</VirtualHost>

3. Cambiese a la ruta /etc/apache2/sites-enabled

cd /etc/apache2/sites-enabled

4. Determine el nombre del ultimo archivo (o link) creado.

ls

La salida debe ser similar a:
.
.
.
lrwxrwxrwx 1 root root   32 2007-06-11 09:04 029-app1 -> /etc/apache2/sites-available/app1
lrwxrwxrwx 1 root root   38 2007-06-13 09:19 030-app2 -> /etc/apache2/sites-available/app2
lrwxrwxrwx 1 root root   34 2007-06-15 13:45 0031-benyapp -> /etc/apache2/sites-available/benyapp

5. Genere un link simbolico utilizando como prefijo el número consecutivo del último archivo creado (determinado en el paso 4).

ln -s /etc/apache2/sites-available/sincop 032-aplication

6. Recargue apache.

/etc/init.d/apache2 restart

o utilice

/etc/init.d/apache2 stop;/etc/init.d/apache2 start

En Apache, tambien existe una suite de módulos para activar y desactivar, existe un set de comandos muy fáciles de utilizar:

     a2enmod: apache2 enable module, habilita módulos.
     a2dismod: apache2 disable module, deshabilita módulos.

Su uso es sencillo, por ejemplo si se quiere habilitar el mod_rewrite en el apache bastará con ejecutar lo siguiente:

     #a2enmod rewrite

Por otro lado, si lo que se quiere es deshabilitarlo, bastará con ejecutar lo siguiente:

     #a2dismod rewrite

En las siguientes clases continuaremos conversando un poco sobre la configuración de nuestro servidor Web.