[Redes] Configurando varios VirtualHost en Apache

Conexión entre PCHola lector y/o seguidor. Hace ya algunos años cuando empezaba en esto del mundo de la web, me encontré con la dificultad de contar con solo 1 computadora para hacer funciones de servidor de publicación de contenido (alias servidor web) para los proyectos y otros raros inventos que me fueron asignados para implementar y con la limitante además que el nombre de los sitios eran distintos. Pues para ello me recomendaron usar los famosos VirtualHost de Apache y que hasta el sol de hoy me han salvado de situaciones similares.

¿Bueno y que rayos es un VirtualHost en Apache? Básicamente es un mecanismo que no solo es propio de Apache, sino de cualquier servidor web moderno como Nginx, que nos permite declarar mútiples espacios de nombre de recurso global para su previa manipulación por parte del servidor web antes de entregarlo al controlador de recursos de URL, permitiendo responder a peticiones web con nombres distintos en una misma computadora. ¿Sencillo eh? Pues bajando un poco más el nivel.

Tendremos el el siguiente caso. Tienes que montar un servidor web para el sitio del departamento de libros  y otro para el de revistas seriadas con nombre FQDN libros.midominio.cu y revistasseriadas.midominio.cu respectivamente. Pues esto se soluciona declarando 2 VirtualHost en Apache donde especificaríamos las rutas donde se encuentra la carpeta de cada sitio. Hasta aquí todo muy bonito y lindo, pero ¿como sabe el gran Apache como hacer esa reorientación según la URL de la petición? Ahí es donde entran 2 variables ServerName y ServerAlias, las cuales tendrán como valor el nombre FQDN al cual se les hará referencia. A continuación el como les debería quedar:

#
# Libros
#
<VirtualHost *:80>
 ServerAdmin admin@midominio.cu 
 ServerName libros.midominio.cu
 ServerAlias libros.midominio.cu
 # Indexes + Directory Root.
 DocumentRoot /var/www/libros/
 <Directory "/var/www/libros">
 Options Indexes FollowSymLinks MultiViews
 Order allow,deny
 Allow from all
 </Directory>
 ErrorLog ${APACHE_LOG_DIR}/libros.midominio.cu-error.log
 # Possible values include: debug, info, notice, warn, error, crit,
 # alert, emerg.
 LogLevel warn
 CustomLog ${APACHE_LOG_DIR}/libros.midominio.cu-access.log combined
</VirtualHost>

#
# Revistas Seriadas
#
<VirtualHost *:80>
 ServerAdmin admin@midominio.cu 
 ServerName revistasseriadas.midominio.cu
 ServerAlias revistasseriadas.midominio.cu
 # Indexes + Directory Root.
 DocumentRoot /var/www/revistasseriadas/
 <Directory "/var/www/revistasseriadas">
 Options Indexes FollowSymLinks MultiViews
 Order allow,deny
 Allow from all
 </Directory>
 ErrorLog ${APACHE_LOG_DIR}/revistasseriadas.midominio.cu-error.log
 # Possible values include: debug, info, notice, warn, error, crit,
 # alert, emerg.
 LogLevel warn
 CustomLog ${APACHE_LOG_DIR}/revistasseriadas.midominio.cu-access.log combined
</VirtualHost>

Enlace permanente a este artículo: https://sasousuke.cubava.cu/2016/09/21/redes-configurando-varios-virtualhost-en-apache/