Apache con hosts virtuales
En este artículo comenzamos a agregarle funcionalidad a nuestro servidor web Apache, se recomienda leer el artículo de instalación de Apache con soporte para SSL. Para iniciar, vamos a crear la estructura para alojar de forma ordenada los diferentes sitios.
Con el siguiente comando la hacemos de una sola vez.
mkdir -p /var/www/prueba/{cgi-bin,html,logs,etc,var}
De esta forma quedan creados dentro de la carpeta prueba cuatro directorios que luego albergaran los archivos necesarios, dentro del directorio ../html pondremos el index.html que es la página que se carga al inicio cuando escribimos la url de nuestra página.
El archivo de configuración para los diferentes sitios estarán en /etc/httpd/conf.d/, en este caso /etc/httpd/conf.d/prueba.conf, luego debemos crear uno para cada dominio por separado. Este tiene la configuración de los hosts virtuales con soporte para SSL. Suponiendo que nuestro servidor web tiene IP 192.168.1.10, este es un ejemplo del contenido del archivo, teniendo en cuenta que lo que se pretende es con una sola IP alojar varios dominios distintos.
NameVirtualHost 192.168.1.10:80 ServerAdmin admin@prueba.com.uy DocumentRoot /var/www/prueba/html ServerName www.prueba.com.uy ServerAlias prueba.com.uy Redirect 301 / https://www.prueba.com.uy/ CustomLog /var/www/ prueba/logs/access_log combined Errorlog /var/www/prueba/logs/error_log NameVirtualHost 192.168.1.10:443 ServerAdmin admin@prueba.com.uy DocumentRoot /var/www/prueba/html ServerName www.prueba.com.uy ScriptAlias /cgi-bin/ /var/www/prueba/cgi-bin/ SSLEngine on SSLCertificateFile /etc/ssl/prueba/prueba.crt SSLCertificateKeyFile /etc/ssl/prueba/prueba.pem SetEnvIf User-Agent ".*MSIE.*" nokeepalive ssl-unclean-shutdown CustomLog /var/www/prueba/logs/ssl_request_log \ "%t %h %{SSL_PROTOCOL}x %{SSL_CIPHER}x \"%r"\ %b" CustomLog /var/www/prueba/logs/ssl_access_log combined Errorlog /var/www/prueba/logs/ssl_error_log
Luego debemos reiniciar Apache para que surtan efecto los cambios realizados.
service httpd restart
Para probar si todo está funcionando, digitamos en la url de nuestro navegador http://prueba.com.uy, luego automaticamente se redirigira nuestra consulta a https://prueba.com.uy
Esto es posible si ya se tiene un servidor DNS, configurado en nuestra lan, de lo contrario debemos sustituir el nombre del dominio por la IP del equipo en este caso será http://192.168.1.10
Si repetimos el proceso y sustituimos la palabra prueba por intranet, y tenemos el DNS correctamente configurado, podemos digitar luego en la url http://intranet.com.uy, y obtener una respuesta positiva. De esta forma tenemos varios dominios en un mismo servidor con una sola dirección IP.
Espero que este artículo les sea de utilidad y si tienen dudas envíenlas.



