Standaardwebserverpagina lighttpd

lighttpd (lighty) je webový server, ktorý vyžaduje oveľa menej zdrojov ako napríklad Apache, a preto je vhodný najmä pre veľmi veľké zaťaženie alebo veľmi slabé systémy. Vyvinul ho Jan Kneschke a dá sa rozšíriť o moduly. FastCGI napríklad umožňuje spúšťanie kódu PHP. SCGI ľahko dopĺňa Ruby alebo Python.

Kroky na inštaláciu webového servera Lighttpd na Debian 11 alebo Ubuntu 20.04

Inštalácia

lighttpd je možné nainštalovať priamo z oficiálnych zdrojov balíkov na Debian 11 Bullseye, takže nepotrebujeme žiadne repo tretích strán, rovnako ako Apache. Spustite daný jediný príkaz na inštaláciu tohto webového servera.

sudo apt install lighttpd -y

Output:

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

Spustite a povoľte službu Lighttpd

Po dokončení inštalácie môže používateľ spustiť a povoliť službu webserver, aby sa mohla spustiť automaticky aj po reštarte systému alebo servera.

sudo systemctl start lighttpd
sudo systemctl enable lighttpd

Ak chcete skontrolovať stav:

systemctl status lighttpd

Konfigurácia Lighttpd na Debian 11 alebo Ubuntu

Lighttpd sa konfiguruje prostredníctvom súboru /etc/lighttpd/lighttpd.conf . Toto je možné upraviť pomocou ľubovoľného textového editora s právami root. Početné možnosti konfigurácie sú podrobne popísané v samotnom konfiguračnom súbore.

Example:

sudo nano /etc/lighttpd/lighttpd.conf

Povoliť CGI

CGI je rozhranie medzi webovým serverom a operačným systémom, napríklad na vykonávanie skriptov v jazyku Perl cez webový server. Týmto spôsobom je možné vytvárať dynamický obsah. Tento modul je teda možné aktivovať pomocou tohto príkazu:

sudo lighty-enable-mod cgi

Prístup k predvolenej webovej stránke Lighttpd

Otvorte prehliadač a ukážte na IP-adresu servera, kde máte nainštalovaný webový server Lighttpd. Dostanete predvolenú stránku tohto webového servera.

HTTP autentifikácia

S cieľom poskytnúť adresárom ochranu heslom, auth je potrebný modul a možno ho aktivovať cez

sudo lighty-enable-mod auth
sudo service lighttpd force-reload

Použitie .htaccess súbory známe z Apache bohužiaľ nie je možné s lighty. Namiesto toho je potrebné vykonať nastavenia v konfiguračnom súbore /etc/lighttpd/conf-enabled/05-auth.conf a je potrebné reštartovať webový server.

Autentifikácia je možná s základné a stráviťpričom backendy prostý, htpasswd, htdigest a ldap môže byť použité.

Napríklad, aby bolo možné poskytnúť adresárom /server-status a /server-statistics základnú autentifikáciu cez .htpasswd, je potrebný nasledujúci záznam v 05-auth.conf :

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"
                                )
                              )

Viac informácií nájdete na oficiálna dokumentácia.