lighttpd (lighty) è un server web che richiede molte meno risorse di Apache, ad esempio, ed è quindi particolarmente adatto per carichi molto grandi o sistemi molto deboli. È stato sviluppato da Jan Kneschke e può essere ampliato con moduli. FastCGI, ad esempio, consente l'esecuzione del codice PHP. SCGI integra lighty con Ruby o Python.
Passaggi per installare il server Web Lighttpd su Debian 11 o Ubuntu 20.04
Installazione
lighttpd può essere installato direttamente dai sorgenti dei pacchetti ufficiali su Debian 11 Bullseye, quindi non abbiamo bisogno di alcun repository di terze parti proprio come Apache. Esegui il comando singolo dato per installare questo server web.
sudo apt install lighttpd -y
Risultato:
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
Avvia e abilita il servizio Lighttpd
Una volta completata l'installazione, l'utente può avviare e abilitare il servizio webserver in modo che possa essere avviato automaticamente anche dopo aver riavviato il sistema o il server.
sudo systemctl start lighttpd sudo systemctl enable lighttpd
Per verificare lo stato:
systemctl status lighttpd
Configurazione Lighttpd su Debian 11 o Ubuntu
Il Lighttpd viene configurato tramite il file /etc/lighttpd/lighttpd.conf
. Questo può essere modificato con qualsiasi editor di testo con diritti di root. Numerose opzioni di configurazione sono descritte in dettaglio nel file di configurazione stesso.
Esempio:
sudo nano /etc/lighttpd/lighttpd.conf
Abilita CGI
CGI è un'interfaccia tra il server web e il sistema operativo, ad esempio, per eseguire script Perl tramite il server web. Il contenuto dinamico può essere generato in questo modo. Quindi, questo modulo può essere attivato tramite questo comando:
sudo lighty-enable-mod cgi
Accedi alla pagina Web predefinita di Lighttpd
Apri il browser e punta all'indirizzo IP del server in cui hai installato il server Web Lighttpd. Otterrai la pagina predefinita di questo server web.
Autenticazione HTTP
Per fornire alle directory una protezione con password, l' auth modulo è obbligatorio e può essere attivato tramite
sudo lighty-enable-mod auth sudo service lighttpd force-reload
L'uso di .htaccess i file conosciuti da Apache purtroppo non sono possibili con lighty. Invece, le impostazioni devono essere effettuate nel file di configurazione /etc/lighttpd/conf-enabled/05-auth.co
nf ed è richiesto il riavvio del server web.
L'autenticazione è possibile con base e digerire , per cui i backend semplice , htpasswd , htdigest e ldap può essere utilizzato.
Ad esempio, per fornire alle directory /server-status e /server-statistics l'autenticazione di base tramite .htpasswd, è richiesta la seguente voce in 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" ) )
Per maggiori informazioni consultare la documentazione ufficiale.