lighttpd (lighty) ist ein Webserver, der deutlich weniger Ressourcen benötigt als beispielsweise Apache und daher besonders für sehr große Lasten oder sehr schwache Systeme geeignet ist. Es wurde von Jan Kneschke entwickelt und ist modular erweiterbar. FastCGI ermöglicht beispielsweise die Ausführung von PHP-Code. SCGI ergänzt leicht mit Ruby oder Python.
Schritte zur Installation des Lighttpd-Webservers auf Debian 11 oder Ubuntu 20.04
Installation
lighttpd kann direkt von den offiziellen Paketquellen auf Debian 11 Bullseye installiert werden, daher benötigen wir kein Repo eines Drittanbieters, genau wie Apache. Führen Sie den angegebenen Einzelbefehl aus, um diesen Webserver zu installieren.
sudo apt install lighttpd -y
Ausgabe:
Reading package lists... Done Building dependency tree... Done Reading state information... Done The following additional packages will be installed: bzip2 file libbrotli1 libgdbm-compat4 libgdbm6 libmagic-mgc libmagic1 libperl5.32 lighttpd-mod-deflate lighttpd-mod-openssl mailcap media-types mime-support netbase perl perl-modules-5.32 spawn-fcgi xz-utils Suggested packages: bzip2-doc gdbm-l10n sensible-utils openssl rrdtool php-cgi php-fpm apache2-utils lighttpd-doc lighttpd-mod-authn-gssapi lighttpd-mod-authn-pam lighttpd-mod-authn-sasl lighttpd-mod-geoip lighttpd-mod-maxminddb lighttpd-mod-trigger-b4-dl lighttpd-mod-vhostdb-pgsql lighttpd-mod-webdav lighttpd-modules-dbi lighttpd-modules-ldap lighttpd-modules-lua lighttpd-modules-mysql perl-doc libterm-readline-gnu-perl | libterm-readline-perl-perl make libtap-harness-archive-perl The following NEW packages will be installed: bzip2 file libbrotli1 libgdbm-compat4 libgdbm6 libmagic-mgc libmagic1 libperl5.32 lighttpd lighttpd-mod-deflate lighttpd-mod-openssl mailcap media-types mime-support netbase perl perl-modules-5.32 spawn-fcgi xz-utils 0 upgraded, 19 newly installed, 0 to remove and 0 not upgraded. Need to get 8843 kB of archives. After this operation, 57.6 MB of additional disk space will be used. Do you want to continue? [Y/n] Y
Lighttpd-Dienst starten und aktivieren
Sobald die Installation abgeschlossen ist, kann der Benutzer den Webserver-Dienst starten und aktivieren, sodass er auch nach einem Neustart des Systems oder Servers automatisch gestartet werden kann.
sudo systemctl start lighttpd sudo systemctl enable lighttpd
So prüfen Sie den Status:
systemctl status lighttpd
Lighttpd-Konfiguration auf Debian 11 oder Ubuntu
Der Lighttpd wird über die Datei /etc/lighttpd/lighttpd.conf
konfiguriert . Diese kann mit jedem Texteditor mit Root-Rechten bearbeitet werden. Zahlreiche Konfigurationsoptionen sind in der Konfigurationsdatei selbst ausführlich beschrieben.
Beispiel:
sudo nano /etc/lighttpd/lighttpd.conf
CGI aktivieren
CGI ist eine Schnittstelle zwischen dem Webserver und dem Betriebssystem, um beispielsweise Perl-Skripte über den Webserver auszuführen. Auf diese Weise können dynamische Inhalte generiert werden. Dieses Modul kann also über diesen Befehl aktiviert werden:
sudo lighty-enable-mod cgi
Auf die standardmäßige Lighttpd-Webseite zugreifen
Öffnen Sie Ihren Browser und zeigen Sie auf die Server-IP-Adresse, auf der Sie den Lighttpd-Webserver installiert haben. Sie erhalten die Standardseite dieses Webservers.
HTTP-Authentifizierung
Um Verzeichnisse mit Passwortschutz zu versehen, muss die auth Modul wird benötigt und kann über
aktiviert werdensudo lighty-enable-mod auth sudo service lighttpd force-reload
Die Verwendung von .htaccess Dateien, die aus Apache bekannt sind, ist mit lighty leider nicht möglich. Stattdessen müssen die Einstellungen in der Konfigurationsdatei /etc/lighttpd/conf-enabled/05-auth.co
nf, und ein Neustart des Webservers ist erforderlich.
Authentifizierung ist mit basic möglich und verdauen , wobei die Backends einfach , htpasswd , htdigest und ldap verwendet werden.
Um beispielsweise die Verzeichnisse /server-status und /server-statistics mit einer Basisauthentifizierung per .htpasswd zu versehen, ist folgender Eintrag in 05-auth.conf erforderlich:
auth.backend = "htpasswd" auth.backend.htpasswd.userfile = "/etc/lighttpd/htpasswd" auth.require = ( "/server-status" => ( "method" => "basic", "realm" => "server status", "require" => "valid-user" ), "/server-info" => ( "method" => "digest", "realm" => "server info", "require" => "valid-user" ) )
Weitere Informationen finden Sie in der offiziellen Dokumentation.