Lighttpd: un Web server leggero come un aereoplanino di carta

19 giugno 2007

Il nome di questo Web server, Lighttpd, deriva dalla contrazione light footprint + httpd = LightTPD e si pronuncia “lighty”. Il logo, un aereoplanino di carta, ne evoca i tre elementi essenziali: leggerezza, movimento verticale ovvero crescita, dinamicità, e libertà.

Lighttpd nasce come soluzione per server sottoposti a massicci carichi di lavoro, riducendo ed ottimizzando l’utilizzo di memoria e CPU. Pur essendo stato progettato con l’obiettivo principale di garantire un numero di connessioni parallele superiore ai più blasonati Web server, non disdegna alcune caratteristiche avanzate quali FastCGI, autenticazione, URL rewriting, SSL ed altre, come testimoniano i numerosi moduli disponibili. Il software è open source, rilasciato sotto licenza BSD ed è utilizzabile su piattaforme unix-like anche se esistono alcuni progetti per il porting su Windows.

Caso mai nutriste dei dubbi su Lighttpd vi sono nomi del calibro di YouTube, SourceForge o Wikipedia che lo adottano su alcuni dei loro Web server. Potete trovare un elenco di utilizzatori alla pagina Powered by Lighttpd. Anche le statistiche di Netcraft testimoniano come questo server stia rapidamente guadagnando popolarità inserendosi nei top 5 più installati.

Prima di cominciare a sporcarci le mani un’ultima notazione di carattere storico: lighttpd nasce nel febbraio del 2003 ad opera di Jan Kneschke che, nel bel mezzo della stesura della tesi di laurea, decide di distrarsi un po’ dando alla luce la sua creatura. Ammetto di provare una certa invidia per questi programmatori che, per diletto, decidono di scrivere ex novo un mail server o un Web server.

Installiamo Lighttpd

Per installare il Web server possiamo percorrere o la strada dei pacchetti precompilati, o la compilazione a partire dai sorgenti. Di seguito prenderemo in considerazione la prima soluzione, meno “insidiosa”, in questo caso risultano disponibili sia i pacchetti .rpm sia i .deb. Al momento della stesura dell’articolo la stable release è 1.4.15 e, se siete interessati all’archivio dei sorgenti potete scaricarlo dal sito madre. I prerequisiti di base sono libpcre e libz, ma possono essere richieste altre librerie da particolari moduli. Consiglio una scorsa alla pagina Additional Libraries per l’elenco delle possibili dipendenze. Se preferite o siete obbligati alla compilazione dei sorgenti, dovete avere le due librerie citate installate con i loro headers. La sequenza consueta ./configure && make && make install, senza specificare particolari parametri, installerà tutto nella directory /usr/local/.

Ma abbiamo detto che sceglieremo la via più semplice dei pacchetti precompilati (consigliabile almeno per i primi esperimenti) ed in particolare, considerando una Linux box con Fedora Core 6, ci appoggeremo agli automatismi di YUM. In modo analogo chi usa Debian e derivate, come Ubuntu, può affidarsi ad APT.

Cominciamo con assumere il ruolo di root e verificare la presenza dei prerequisiti:

# yum list zlib pcre
 
 pcre.i386   6.6-1.1   installed       
 zlib.i386   1.2.3-3   installed      

Se la risposta è simile alle due ultime righe siete a cavallo, altrimenti dovete procedere con il comando:

# yum install zlib pcre

Passiamo ora al Web server:

# yum install lighttpd

Yum propone lighttpd.i386 versione 1.4.15-1.fc6, analogamente dalla versione Core 3 in poi dovreste trovare il pacchetto disponibile (magari non aggiornato all’ultima release).

Nel mio caso Yum ha segnalato una dipendenza mancante: lua.i386, richiesta dal modulo mod_magnet, e mi ha proposto di installarla insieme al pacchetto principale. Un bel “y” per yes ed il processo è terminato …..sembra quasi di essere dalle parti di Redmond …

Ora però è meglio investigare su cosa l’automatismo abbia prodotto nel nostro sistema.

Se vuoi aggiornamenti su Lighttpd: un Web server leggero come un aereoplanino di carta inserisci la tua e-mail nel box qui sotto:
 
X
Se vuoi aggiornamenti su Lighttpd: un Web server leggero come un aereoplanino di carta

inserisci la tua e-mail nel box qui sotto:

Ho letto e acconsento l'informativa sulla privacy

Acconsento al trattamento di cui al punto 3 dell'informativa sulla privacy