Drupal + lighttpd

Dieser Artikel wurde am 9.2.2008 in meinem Blog veröffentlicht und 2009 in dieses Wiki übertragen.

Die Installation von drupal ist auch mit lighttpd als Webserver kein Problem. Sofern php bereits eingerichtet ist, fehlt lediglich noch die Möglichkeit lesbare URLSs einzusetzen. Dazu müssen zwei Dateien editiert werden:

/etc/lighttpd/lighttpd.conf

Hier werden eine Handler für die 404 Fehler definiert und der Zugriff auf bestimmte Dateitypen verboten. Bei apache passiert das die DOCROOT installierte Datei .htaccess.

$HTTP["host"] == "host.domain.tld" {
    server.document-root       = "/www/host.domain.tld/htdocs/"
    server.errorlog            = "/www/host.domain.tld/logs/error.log"
    accesslog.filename         = "/www/host.domain.tld/logs/access.log"

    # settings from .htaccess
    server.error-handler-404 = "/index.php"
    url.access-deny = ( "~",".inc",".engine",".install",".module",
                        ".sh","sql",".theme",".tpl.php",".xtmpl",
                        "Entries","Repository","Root" )

    # to enable drupal clean-urls we also need
    # to modify sites/default/settings.php!
}

DOCROOT/sites/default/settings.php

Dort wird der folgende Sourcecode einfach am Ende der Datei angefügt. (Im o.g. Beispiel wäre das die Datei /www/host.domain.tld/htdocs/sites/default/settings.php.)

if (strpos($_SERVER['SERVER_SOFTWARE'], 'lighttpd') !== false) {
    $lighttpd_url = $base_url.$_SERVER['REQUEST_URI'];
    $lighttpd_url = @parse_url($lighttpd_url);

    if ($lighttpd_url['path'] != '/index.php' && $lighttpd_url['path'] != '/') {
        $_SERVER['QUERY_STRING'] = $lighttpd_url['query'];
        parse_str($lighttpd_url['query'], $lighttpd_query);
        foreach ($lighttpd_query as $key => $val)
            $_GET[$key] = $_REQUEST[$key] = $val;
        $_GET['q'] = $_REQUEST['q'] = substr($lighttpd_url['path'], 1);
    }
}

Anschliessend lighttpd neu starten und dann in der Admin Oberfläche von drupal die lesbaren URLs aktivieren.

Nachtrag: Das gleiche Vorgehen führt auch beim neuen Drupal 6 zum Erfolg.

Kommentare

it/lighttpd_drupal.txt · Zuletzt geändert: 2011/01/10 16:52 (Externe Bearbeitung)
 
Falls nicht anders bezeichnet, ist der Inhalt dieses Wikis unter der folgenden Lizenz veröffentlicht: CC Attribution-Share Alike 3.0 Unported
Blog - Impressum

Recent changes RSS feed Donate Powered by PHP Valid XHTML 1.0 Valid CSS Driven by DokuWiki