Hosts virtuales con Hiawatha: sitios en un servidor

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:

Hosts virtuales con Hiawatha
Figura 1 – Hosts virtuales con Hiawatha

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»

  1. 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

Los comentarios están cerrados.