Configurar VirtualHost en Lighttpd

Si nuestro Lighttpd tiene que servir varios dominios (por ejemplo www.domain.com y www.otherdomain.com) configuraremos en /etc/lighttpd/lighttpd.conf un VirtualHost para cada uno de ellos:

# redireccionamos de http://domain.com a http://www.domain.com
$HTTP["host"] == "domain.com" {
    url.redirect = ( "^/(.*)" => "http://www.domain.com/$1" )
}
 
# configuramos http://www.domain.com
$HTTP["host"] == "www.domain.com" {
    server.document-root = "/var/www/domain/"
    server.name = "www.domain.com"
    dir-listing.activate = "disable"
    server.errorlog = "/var/log/lighttpd/domain.com.error.log"
    accesslog.filename = "/var/log/lighttpd/domain.com.access.log"
    # reglas rewrite para permalinks de WordPress
    url.rewrite = (
        "^/(wp-.+).*/?" => "$0",
        "^/(.*).(.+)$" => "$0",
        "^/(.+)/?$" => "/index.php/$1"
    )
}

Estas reglas rewrite son para WordPress y equivalen al archivo .htaccess generado por WordPress para Apache, cuyo contenido suele ser:

# BEGIN WordPress
<IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteBase /
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule . /index.php [L]
</IfModule>
# END WordPress

Además tenemos que activar los módulos mod_redirect y mod_rewrite descomentando las líneas correspondientes:

server.modules = (
    "mod_access",
    ...
    "mod_redirect",
    "mod_rewrite",
    ...
    # "mod_evasive"
)

Para aplicar los cambios reiniciamos Lighttpd:

# /etc/init.d/lighttpd restart

Un pensamiento en “Configurar VirtualHost en Lighttpd

  1. Félix

    Como siempre muy bueno el artículo, pero tengo una duda:
    Mi intención es probar un multisitio con Drupal 7 (sobre Debian stable) en localhost, del estilo http://localhost/sitio1, http://localhost/sitio2, etc… y así tener varios sitios con una sola instalación. Seguí un artículo de Benjamin Clark, pero no acabo de ponerlo en marcha, y no quiero tener que instalar Apache para ello: me ba muy bien el lighty.
    Cualquier orientación es bienvenida.
    Gracias de antemano.

    Responder

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos necesarios están marcados *

Puedes usar las siguientes etiquetas y atributos HTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>