lighttpd aka lighty als apache Ersatz

2010-01-16 - kostaki Keine Kommentare »

Der Apache ist ein mächtiges Werkzeug das seinem Benutzer eine Vielzahl an Möglichkeiten zur Verfügung stellt. Hat man aber nur beschränkte Vorstellungen an seinen Webserver ist der Apache meistens Overkill und leider gehen die vielen Möglichkeiten zu Lasten der Performance. So kommt irgend wann der Punkt an dem die Eierlegende Wollmilchsau nicht mehr das ist was man haben möchte und hier kommt lighttpd aka lighty ins Spiel.

Lighttpd ist als schlanker, ressourcensparender, schneller, sicherer und flexibler Webserver gebaut worden und all dies erfüllt er auch. Die Vorteile kommen besonders in "High Performance" Umgebungen zum tragen in denen viele Dateien übertragen werden müssen. So ist er besonders beliebt bei Seiten wie imageshack.us, myspace.com und youtube.com, sowie einiger sehr großer Bittorrent Seiten. Eine Übersicht gibt es im lighttpd wiki. Das aktuelle Netcraft Survey (Nov 2009) berichtet zwar nur von einem Marktanteil von unter 0,5%, aber mit einer steigenden Tendenz. Der Webserver verbraucht nicht nur äußerst wenig Arbeitsspeicher und ist sehr CPU schonend, sondern er bringt auch alles was man braucht mit. Darunter FastCGI, Auth und URL Rewriting.

Das ersetzen des Apache mit lighttpd ist sehr einfach (besonders bei Debian), da man beide Webserver zusammen installieren und auf unterschiedlichen Ports betreiben kann. So kann man auch ein Livesystem ohne große Downtime umstellen. So kann man auch sehr einfach die Performance benchmarken und vergleichen. Das habe ich mir auch noch fest vorgenommen zu machen. :P

Wichtig ist, das man bei der Umstellung daran denkt, das lighttpd keine .htaccess Dateien unterstützt. URL Rewriting und Authentification die man normalerweise in .htaccess Dateien vornimmt, muss man in der lighttpd Config ab handeln. Das erhöht bei Multiuser Systemen natürlich die Arbeit für den Administrator, da nur dieser auf die Config zugreifen kann. Es gibt hierfür zwar auch Möglichkeiten dies zu vereinfachen, aber man sollte trotzdem daran denken! Wichtig ist auch das .htaccess/.htpasswd Dateien nicht mehr Standardmäßig vom Webserver geschützt sind und damit ganz normal im Browser aufgerufen und heruntergeladen werden können. Das würde ich jedem raten anzupassen und es ist auch ganz einfach. Die Config Datei des lighty ist für den geübten Apache Admin anfangs etwas gewöhnungsbedürftig, aber wenn man weiß wie sie funktioniert wird man sie lieben.

$ nano /etc/lighttpd/lighttpd.conf

Jetzt nach url.access-deny suchen und .htaccess und .htpasswd hinzufügen.

url.access-deny = ( "~", ".inc", ".htaccess", ".htpasswd" )

Und den lighttpd neu laden.

$ /etc/init.d/lighttpd force-reload

Soviel zur Einleitung. Dies soll nur ein allgemeiner Artikel sein. Die genaue Umstellung wird in diesen Artikeln beschrieben.

Weiterführende Artikel zum Thema lighttpd auf Debianroot

Als erstes eine einfache Installation von Lighttpd mit FastCGI-PHP Support als Ersatz eines Apaches.

Diese Liste wird erweitern sobald ich die anderen Artikel fertig habe.

Todo

  • Apache, fastcgi und suexec umstellen
  • Erklärung der richtigen fastcgi Konfiguration
  • Lighttpd Authentification mit Auth
  • Vhost Konfiguration
  • Apache mod_rewrite to lighttpd rewrite

Wichtige lighttpd Verzeichnisse und Dateien

PID des lighttpd
/var/run/lighttpd.pid

Runtime Daten
/var/run/lighttpd/

Logs
/var/log/lighttpd/

Upload und Cache Ordner
/var/cache/lighttpd/

Tägliches Cleanup Crontab. Entfernt Einträge aus den Cache Ordnern.
/etc/cron.daily/lighttpd

Einstellungen für den Umgang von logrotate mit den lighttpd logs
/etc/logrotate.d/lighttpd

Der Debian Starter
/etc/init.d/lighttpd

Die Konfigurationsdateien des lighttpd
/etc/lighttpd/

Die Hauptkonfigurationsdatei
/etc/lighttpd/lighttpd.conf

Vorhandene Module Konfigurationsdateien
/etc/lighttpd/conf-available/

Hier gelinkte Configs werden automatisch geladen
/etc/lighttpd/conf-enabled/

Hier liegen die Module von lighty
/usr/lib/lighttpd/

Consolen Kommandos

Aktiviert eine Module Config

$ lighty-enable-mod module

Deaktiviert eine Module Config

$ lighty-disable-mod module

Weitere lighttpd Debian Pakete:

lighttpd-doc installiert die Dokumentation nach /usr/share/doc/lighttpd-doc

$ aptitude install lighttpd-doc

lighttpd-mod-mysql-vhost ermöglicht die Verwaltung der vhostconfigs in einer MySQL Datenbank.

$ aptitude install lighttpd-mod-mysql-vhost

Außerdem gibt es noch lighttpd-mod-magnet, lighttpd-mod-trigger-b4-dl, lighttpd-mod-webdav

Related Links

Ähnliche Artikel

Kommentar schreiben

*

*