VirtualHost en Lighttpd

Luego de haber instalado su Servidor Web con Lighttpd, desea que sirva a varios dominios y/o subdominios. Eso se logra mediante la configuración de VirtualHost.

Por default, lighttpd y los demás Servidores Web, se instalan teniendo como directorio raíz, un directorio donde el usuario propietario es root. Para facilidad de gestión, lo aconsejable es que para sus dominios, se configure VirtualHost con su propio directorio raíz, y cuando el visitante busque el dominio, el Servidor Web busque los archivos a servir en el directorio raiz, cuyo propietario es un usuario sin privilegios de superusuario, para mayor seguridad.


Pasos a seguir:

Anotar datos importantes de la configuración por default

Anotar el usuario por default del servicio web: www-data, lighttpd, http u otros
El directorio raiz: Document Root /var/www/html, /srv/htdocs/, u otros

Carpetas personalizadas

Cree o asigne una ruta donde alojará sus archivos a servir a través del Servidor Web. Por ejemplo /var/www/misitio/html
mkdir /var/www/misitio
mkdir /var/www/misitio/html

Un usuario sin privilegios de superusuario como propietario

Cambie de propietario a las carpetas creadas mediante la propiedad chown, asumiendo que su usuario es carlos:
chown carlos:carlos -Rf /var/www/misitio (Rf es para realizar el proceso de manera recursiva)

Backup de archivo de configuración original

Realizar un backup del archivo de configuración lighttpd.conf. Por lo general el archivo principal de configuración de lighttpd, se encuentra en /etc/lighttpd/lighttpd.conf

Como root realizar:
cp   /etc/lighttpd/lighttpd.conf /etc/lighttpd/lighttpd.conf.bak

Configuración de lighttpd.conf

Abrir con su editor favorito: nano, vi, vim, o desde su navegador de archivos nautilus o dolphin abra el archivo lighttpd.conf, borre todo lo existente y coloque lo siguiente:

server.port        = 80
# username y groupname deben ser los que se indican en el archivo original
server.username        = "http"
server.groupname    = "http"
server.document-root    = "/srv/http"
server.errorlog        = "/var/log/lighttpd/error.log"
dir-listing.activate    = "disable"
index-file.names    = ( "index.html" )
mimetype.assign        = (
                ".html" => "text/html",
                ".txt" => "text/plain",
                ".css" => "text/css",
                ".js" => "application/x-javascript",
                ".jpg" => "image/jpeg",
                ".jpeg" => "image/jpeg",
                ".gif" => "image/gif",
                ".png" => "image/png",
                "" => "application/octet-stream"
            )

server.modules   += ( "mod_access",
                     "mod_setenv",
                     "mod_auth",
                     "mod_rewrite",
                     "mod_redirect",
                     "mod_simple_vhost",
                     "mod_evhost",
                     "mod_alias",
                     "mod_fastcgi",
                     "mod_proxy",
                     "mod_deflate",
                     "mod_usertrack",
                     "mod_expire",
                     "mod_accesslog" )
                     
# podria agregar include "conf.d/*.conf" para separar los modulos, virtualhost, pero para este sencillo ejemplo toda la configuración será en un solo archivo

$HTTP["host"] == "aqui colocas el dominio o subdominio" {
    server.document-root = "/var/www/misitio/html"
}

Verificación de Sintaxis y reinicio del Servicio

Para verificar si la sintaxis es correcta, emplee:

lighttpd -t -f /etc/lighttpd/lighttpd.conf

Si es OK continuar, sino se corrige según el mensaje emitido por el sistema.

Reiniciar el servicio Lighttpd

systemctl restart lighttpd

Con eso es suficiente para que comience a servir los archivos contenidos en document-root al consultar su dominio a través de un navegador web.

En su navegador coloque http://(su dominio o subdominio) para corroborar que está en servicio su VirtualHost.

En la figura se muestra activo un subdominio prueba1.inversionespavel.com corriendo lighttpd como proxy inverso para Django Python.

 

VirtualHost en Lighttpd

 

Comentarios