Host Virtuales en Lighttpd

Module: mod_simple_vhost

Haremos un supuesto simple:

Cada máquina virtual está en un directorio debajo de un directorio de base en un camino que es el mismo que el nombre del host virtual. Por debajo de este camino vhost podría ser un directorio extra que es la raíz del documento del host virtual.

La raíz de documento para cada host virtual está construido a partir de tres valores:

  • raíz del servidor
  • hostname
  • documento de la raíz

La raíz del documento completo está construido, ya sea por:

server-root + hostname + document-root

o si esta ruta no existe, es por:

server-root + default-host + document-root

Un pequeño ejemplo, debe dejar esta idea clara:

/var/www/
/var/www/logs/
/var/www/servers/
/var/www/servers/example.org/
/var/www/servers/example.org/lib/
/var/www/servers/example.org/pages/
/var/www/servers/mail.example.org/
/var/www/servers/mail.example.org/lib/
/var/www/servers/mail.example.org/pages/

simple-vhost.server-root = "/var/www/servers/" 
simple-vhost.default-host = "example.org" 
simple-vhost.document-root = "pages"

Con esta instalación, las solicitudes de “example.org” o “algo-else.example.org” irán al directorio /var/www/servers/example.org/pages/, mientras que las solicitudes de “mail.example.org” se vaya a /var/www/servers/mail.example.org/pages. Usted puede utilizar los enlaces simbólicos para asignar varios nombres de host en el mismo directorio.

Conditionals vs. simple-vhost

Tienes que tener en cuenta que los condicionales y los simple-vhost pueden interferir unos con otros.

simple-vhost.server-root = "/var/www/servers/" 
simple-vhost.default-host = "example.org" 
simple-vhost.document-root = "pages" 

$HTTP["host"] == "news.example.org" {
    server.document-root = "/var/www/servers/news2.example.org/pages/" 
}

Cuando se solicita news.example.org, el server.document-root se establecerá en /var/www/servers/news2.example.org/pages/, pero simple-vhost la sobrescribirá poco después.

Si existe /var/www/servers/news.example.org/pages/, deberá ser usado. Si no, se usará el directorio /var/www/servers/example.org/pages/, porque es el predeterminado.

Para utilizar los condicionales junto con los simple-vhost, usted deberá hacer esto:

$HTTP["host"] != "news.example.org" {
    simple-vhost.server-root = "/var/www/servers/" 
    simple-vhost.default-host = "example.org" 
    simple-vhost.document-root = "pages" 
}

$HTTP["host"] == "news.example.org" {
    server.document-root = "/var/www/servers/news2.example.org/pages/" 
} 

Permitirá simple-vhosting para todos los hosts que no sean news.example.org.

Para dos o más hosts

Para permitir hosting de simple-vhost, que no sean test1.example.org y test2.example.org.

$HTTP["host"] !~ "^(test1\.example\.org|test2\.example\.org)$" {
    simple-vhost.server-root         = "/var/www" 
    simple-vhost.document-root       = "/html/" 
    ## the default host if no host is sent
    simple-vhost.default-host        = "example.org" 
}

$HTTP["host"] == "test1.example.org" {
    server.document-root = "/home/user/sites/test1.example.org/" 
    accesslog.filename = "/home/user/sites/logs/test1.example.org.access.log" 
}

$HTTP["host"] == "test2.example.org" {
    server.document-root = "/home/user/sites/test2.example.org" 
    accesslog.filename = "/home/user/sites/logs/test2.example.org.access.log" 
}

Por supuesto, necesitará los permisos de configuración de las carpetas (Cambiar propietario el usuario que ejecuta lighttpd) si lo haces como en este ejemplo.

Options

simple-vhost.server-root

informatica/linux-lighttp-vh.txt · Última modificación: 2020/03/23 22:24 por 127.0.0.1
Recent changes RSS feed Creative Commons License Donate Minima Template by Wikidesign Driven by DokuWiki