Avete intenzione di installare un web server su una macchina dotata di poca memoria RAM o CPU limitata? In questo caso probabilmente Lighttpd (pronunciato lighty) sara’ la vostra scelta vincente! I suoi punti di forza sono: minimo consumo di risorse ed elevate prestazioni. A differenza del web server Apache dispone di un numero ridotto di moduli ed uno dei maggiori svantaggi e’ che se dovete installare sul vostro sito un cms, probabilmente sara’ necessario ritoccare qualche regole di rewrite. Niente paura pero’, in rete trovere molte informazioni a riguardo e a configurazione ultimata la soddisfazione ripaghera’ ogni sforzo.
Ecco come installarlo
In Debian:
apt-get update
apt-get install lighttpd php5-cgi
Con CentOS/Fedora:
yum install zlib pcre php-cli
rpm -Uhv http://apt.sw.be/redhat/el5/en/i386/rpmforge/RPMS/rpmforge-release-0.3.6-1.el5.rf.i386.rpm
yum install lighttpd lighttpd-fastcgi
/etc/init.d/lighttpd start
Eseguendo “ps ax” vedrete gia’ lighttpd in esecuzione:
www-data 11321 0.0 1.9 53616 1268 ? S 19:17 0:00 /usr/sbin/lighttpd -f /etc/lighttpd/lighttpd.conf
e collegandovi al server con un browser web visualizzerete la pagina di benvenuto (in CentOS/Fedora un messaggio di errore perche’ manca il file index del sito 
La configurazione di default crea un sito con la document root in
/var/www/ (Debian)
/srv/www/lighttpd/ (CentOS/Fedora)
In CentOS/Fedora dobbiamo eseguire anche questo comando per far eseguire il servizio all’avvio del server
chkconfig –level 345 lighttpd on
Integriamo adesso l’interprete php.
Forziamo il PHP a correggere il percorso del cgi in modo conforme alle specifiche PATH_INFO/PATH_TRANSLATED editando /etc/php5/cgi/php.ini (in Debian) e decommentando (togliendo il carattere ‘;’ da inizio riga) la direttiva “cgi.fix_pathinfo” ed impostando il suo valore a 1
cgi.fix_pathinfo=1
In CentOS invece apriamo il file /etc/php.ini e scriviamo cgi.fix_pathinfo=1 come ultima riga
Adesso dobbiamo far caricare il modulo fastcgi a lighttpd.
Questa e’ la procedura Debian
Accediamo nella cartella “conf-enabled”
cd /etc/lighttpd/conf-enabled/
creiamo un link simbolico alla configurazione di mod_fastcgi
ln -s ../conf-available/10-fastcgi.conf
E’ necessario impostare alla direttiva “bin-path” presente nel file 10-fastcgi.conf il corretto percorso del binario php-cgi. Apriamo quindi il file e la riga “bin-path” in questo modo
“bin-path” => “/usr/bin/php-cgi”,
N.B. Verificate che il file /usr/bin/php-cgi esista
Questa e’ la procedura per CentOS/Fedora
Apriamo il file lighttpd.conf e decommentiamo il modulo mod_fastcgi (in pratica dobbiamo togliere il carattere # ad inizio riga)
Poi aggiungiamo queste istruzioni a fine file:
fastcgi.server = ( “.php” =>
( “localhost” =>
(
“socket” => “/tmp/php-fastcgi.socket”,
“bin-path” => “/usr/bin/php-cgi”
)
)
)
Riavviamo il serizio per convalidare le nuove impostazioni
/etc/init.d/lighttpd restart
Pubblicando questo file
/var/www/info.php (Debian)
/srv/www/lighttpd/info.php (CentOS/Fedora)
con questo contenuto
<?php
phpinfo();
?>
Avremo modo (accedendo con un browser web all’indirizzo www.tuosito.it/info.php) di visualizzare la configurazione del php installato.
Se sul server volessimo ospitare piu’ di un sito dovremo abilitare mod_evhost.
Andiamo a creare le cartelle dei siti
Debian:
mkdir -p /var/www/virtual_hosts/www.sito1.it/htdocs
mkdir -p /var/www/virtual_hosts/www.sito2.it/htdocs
CentOS/Fedora:
mkdir -p /srv/www/virtual_hosts/www.sito1.it/htdocs
mkdir -p /srv/www/virtual_hosts/www.sito2.it/htdocs
Creiamo una pagina di benvenuto per entrambi i domini
Debian:
echo “Benvenuto nel sito1″ > /var/www/virtual_hosts/www.sito1.it/htdocs/index.html
echo “Benvenuto nel sito2″ > /var/www/virtual_hosts/www.sito2.it/htdocs/index.html
CentOS/Fedora:
echo “Benvenuto nel sito1″ > /srv/www/virtual_hosts/www.sito1.it/htdocs/index.html
echo “Benvenuto nel sito2″ > /srv/www/virtual_hosts/www.sito2.it/htdocs/index.html
Ora editiamo la configurazione di lighttpd (/etc/lighttpd/lighttpd.conf).
Abilitiamo “mod_evhost” decommentando il modulo dal gruppo “server.modules”, bastera’ eliminare il carattere # ad inizio riga. In questo modo:
server.modules = (
“mod_access”,
“mod_alias”,
“mod_accesslog”,
“mod_compress”,
# “mod_rewrite”,
# “mod_redirect”,
“mod_evhost”,
# “mod_usertrack”,
Adesso a fine file possiamo aggiungere queste righe, ed impostare la document root dei siti
$HTTP["host"] == “www.sito1.it” {
evhost.path-pattern = “/var/www/virtual_hosts/www.sito1.it/htdocs/”
}
$HTTP["host"] == “www.sito2.it” {
evhost.path-pattern = “/var/www/virtual_hosts/www.sito2.it/htdocs/”
}
N.B. Adattate path-pattern con il percorso associato ai vostri siti.
Salviamo il file e riavviamo il servizio
/etc/init.d/lighttpd restart
Cliccando QUI accederete alla guida sull’installazione di proftpd in debian per poter aggiornare i siti via ftp