Umstieg auf lighttpd

Ich hatte es schon länger vor und nun habe ich es endlich hinbekommen: Apache ist tot, es lebe lighttpd mit php-fastcgi. Diese Kombination ist wesentlich performanter und bedeutet weniger Overhead als Apache.

Ein paar Eckdaten:
– lighttpd mit mod_fastcgi
– “per User”-Konfiguration, die wie suPHP die PHP-Prozesse unter der Userkennung des jeweiligen vHosts ausführt
– kein Safe-Mode und kein open_basedir nötig
– integriert in Syscp, keine Änderungen an Syscp nötig

Die Migration eines laufenden Systems mit Apache, Syscp und suPHP gestaltet sich relativ einfach, wenn man dieser Anleitung folgt. Mit diesem Skript gelingt das Ganze sogar ohne Änderungen an Syscp. Als Voraussetzung müssen die Fastcgi-Startskripte und die benötigte Verzeichnisstruktur erstellt werden, so wie es hier beschrieben ist.

Achtung: die Logs unter /var/log/apache2 müssen für den lighttpd schreibbar gemacht werden (Gruppe anpassen oder chmod) und für eine Benamung der (eigentlich) virtuellen User von Syscp benötigt man den nscd sowie ein paar kleine Änderungen am System, die ich bei Nachfragen hier gerne noch raussuchen werde.

Rewrite-Rules für Serendipity finden sich hier. Diese müssen einfach als Konfiguration für den S9Y-Vhost hinzugefügt werden.

Jetzt kann der Heise-DoS kommen 😉

edit:// nun funktioniert auch der Verzeichnisschutz…

10 Replies to “Umstieg auf lighttpd”

  1. Vor ein paar Monaten habe ich auch mal ein paar Gehversuche mit lighty gewagt. Allerdings lief das ganze nicht wirklich fehlerfrei.

    Ich hab das Gefuehl, ich sollte mich da mal wieder ran wagen.

  2. Das große Problem von Lighttpd sind doch also immer noch die Rewrite Regeln. Unser Server hat ziemlich viele Vhosts und ich möchte eigentlich nicht jedes mal eine zentrale Konfigurationsdatei ändern müssen, wenn jemand sein Regelset verändert haben möchte.

    Gibt es da nicht mittlerweile eine Möglichkeit das ähnlich elegant wie bei Apache zu lösen? .htaccess mit Regeln und gut ist’s?

  3. Ja, da hast du Recht. Die Sache mit .htaccess wäre echt besser.

    Ich schau mich mal um, da ich bei meinem anderen Server genau dasselbe Problem habe (viele vhosts mit vielen mod_rewrite-Anwendungen).

  4. Wenn du .htaccess Dateien bzw. benutzerspezifische Konfigurationsmöglichkeiten benötigst, bleib beim Apache httpd. Die Nutzung von .htaccess-Dateien würde das Bearbeiten und Ausliefern der Requests verlangsamen, da pro Anfrage mindestens ein stat(2) Systemaufruf erfolgen muss, um zu überprüfen, ob die .htaccess Datei existiert. Von der Verarbeitung der Datei erst gar nicht zu reden.

    Auf die Implementierung einer derartigen Funktionalität wurde bei lighttpd bislang ganz bewusst verzichtet.

  5. Es gibt auch andere Möglichkeiten trotzdem dem Nutzer zu ermöglichen seine Rewriteregeln selbst einzustellen (so oft ändert man die ja nicht). Aber das alles in eine zentrale Konfigurationsdatei zu packen und bei jeder Änderung einen Neustart zu fordern … das ist einfach nicht gut für Server mit vielen Vhosts.

  6. Die Konfigurationsdateien des lighttpd lassen sich auch auslagern und dann mit [i]include[/i] oder [i]include_shell[/i] einbinden.

    Mit letzterem ließe sich sogar ein Setup erstellen, dass die Konfiguration dynamisch für die einzelnen Benutzer generiert. Mit einem SIGINT an den lighttpd wird dann die laufende Instanz “sanft” beendet und eine neue kann sofort gestartet werden.

  7. Danke für die Info.

    Und die Benutzer können mit ihren ausgelagerten Konfigurationsdateien nicht die Gesamtkonfiguration des lighttpd zerschießen? Oder gibt es da eine Möglichkeit das auf z.B. nur die Rewriteregeln zu beschränken?

  8. [quote]Und die Benutzer können mit ihren ausgelagerten Konfigurationsdateien nicht die Gesamtkonfiguration des lighttpd zerschießen?[/quote]
    Doch, das können sie. Die Benutzer können damit dann alles überschreiben, wenn die Dateien direkt eingebunden werden. Eine Einschränkung ist meines Wissens nicht möglich.

    Die Konfiguration sollte vor einem Neustart geprüft werden, lighttpd bietet eine entsprechende Option an.

  9. Danke für die Hinweise! Ich hab mich mal an eine Installation auf ‘nem jungfräulichen System gewagt. Mal sehen, ob ich da durch komme…

    [quote=”ff”]ein paar kleine Änderungen am System, die ich bei Nachfragen hier gerne noch raussuchen werde.[/quote]
    Das wär ich ja schon mal interessiert.

Leave a Reply

Your email address will not be published. Required fields are marked *