Ayer aprendimos a servir una página web estática con Hiawatha. Por lo general, se suele dar mejor uso al servidor al alojar dos o más hosts virtuales (sitios individuales y separados) en el mismo. En este post aprenderemos cómo configurar dos hosts virtuales con Hiawatha. Por suerte, el procedimiento aquí detallado es válido para dos o más sitios.
Hosts virtuales con Hiawatha
Por ejemplo, crearemos dos hosts virtuales en este caso. Los mismos tendrán los nombres institutolinux.ejemplo.com.ar y carreralinux.ejemplo.com.ar. Por eso, agregaremos los siguientes bloques al archivo de configuración /etc/hiawatha/hiawatha.conf debajo de la sección VIRTUAL HOSTS.
Notemos que hemos hecho uso de las variables que aprendimos en el post anterior.
Para institutolinux.ejemplo.com.ar:
VirtualHost { Hostname = www.institutolinux.ejemplo.com.ar, institutolinux.ejemplo.com.ar WebsiteRoot = /var/www/institutolinux.ejemplo.com.ar/wwwroot StartFile = instituto.html AccessLogfile = /var/www/institutolinux.ejemplo.com.ar/access.log ErrorLogfile = /var/www/institutolinux.ejemplo.com.ar/error.log }
Para carreralinux.ejemplo.com.ar:
VirtualHost { Hostname = www.carreralinux.ejemplo.com.ar, carreralinux.ejemplo.com.ar WebsiteRoot = /var/www/carreralinux.ejemplo.com.ar/wwwroot StartFile = carrera.html AccessLogfile = /var/www/carreralinux.ejemplo.com.ar/access.log ErrorLogfile = /var/www/carreralinux.ejemplo.com.ar/error.log }
Prestemos atención al hecho de que la página de inicio que se servirá por defecto en cada caso, junto con los logs de acceso y de error, están personalizados para cada host virtual. A continuación, guardemos los cambios en el archivo de configuración para poder proseguir.
El contenido
Luego de asegurarnos de que las rutas indicadas en los archivos de configuración existen, deberemos crear los archivos instituto.html y carrera.html en los directorios indicados. Podemos utilizar el siguiente esqueleto HTML cambiando la leyenda a mostrar de acuerdo al sitio:
<!DOCTYPE html> <html lang="es"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta http-equiv="X-UA-Compatible" content="ie=edge"> <title>Hiawatha</title> </head> <body> <h1>Bienvenid@s a Instituto Linux</h1> </body> </html>
Debido a que en este ejemplo utilizamos dominios fictios, deberemos utilizar algún método de resolución de nombres en el equipo cliente desde el que accedamos a los mismos. La manera más simple de hacerlo es en el archivo C:\Windows\System32\Drivers\etc\hosts en Windows o /etc/hosts en Linux.
Finalmente, en dos pestañas separadas de nuestro navegador deberemos escribir las siguientes URLs. Como consecuencia de haber agregado dos opciones (con y sin www.) en la variable Hostname, podremos acceder a los sitios mediante cualquiera de las dos alternativas:
- http://www.institutolinux.ejemplo.com.ar:8080/ o http://institutolinux.ejemplo.com.ar:8080/
- http://www.carreralinux.ejemplo.com.ar:8080/ o http://carreralinux.ejemplo.com.ar:8080/
Como resultado, veamos el resultado en la Fig. 1:
En el man page de Hiawatha podemos encontrar muchas más opciones de configuración.
¡Nos leemos en el próximo post!
2 comentarios en «Hosts virtuales con Hiawatha: sitios en un servidor»
Hola, gracias por estos excelentes aportes, sin embargo no entiendo algunas cosas, pues apenas estoy iniciandome en linux>
1. supongo que debo crear una carpeta en la carpeta www de var llamada igual que el dominio ficticio que le voy a dar, es decir, ejemplo.com.
2. Adentro de la carpeta ejemplo.com debo crear otra carpeta que se llame wwwroot y dos archivos en blanco: error.log y access.log, tambien un archivo html.
3. A su vez modifico etc/hiawatha/hiawatha.conf debajo de la seccion VIRTUALHOSTS con los datos que proporcionas arriba.
4. Como puedo ejecutar el host virtual? coloco el Hostname que le asigne en la barra del navegador y da error, por favor digame que paso no estoy haciendo.
Gracias
María,
Por lo que comentás, me parece que no tenés ningún mecanismo de resolución de nombres. Fijate en este post en el que hablo sobre el mismo tema pero con el servidor web Apache: https://blog.carreralinux.com.ar/2016/11/crear-hosts-virtuales-inspeccionar-logs/
Los comentarios están cerrados.