Pagine

giovedì 3 settembre 2009

PHP5 su server Lighttpd

PHP5 su server Lighttpd

Premessa

Lavorando sul mio NSLU2 dopo l'hackeraggio effettuato e dopo averci installato debian al posto dell'originario firmware, ho sentito la necessità di installare software leggero data la scarsa disponibilità di memoria ram e frequenza di clock...
Il primo servizio che ho voluto installare è stato il server web con un bel CMS.
Le mie applicazioni web solitamente si avvalgono della seguente tecnologia:
Su una macchina simile ho deciso che un server sql non è necessario; per questo il mio CMS preferito non è utilizzabile e al suo posto ho cercato un CMS che memorizzi le informazioni su files; anche il blasonato Apache, sulle qualità del quale non vi sono commenti da fare, risultava davvero un po', pesante...
Alla fine quindi mi sono orientato sulla seguente tecnologia:
L'ultimo problemino che ho incontrato è stato far funzionare PHP con Lighttpd. Bisogna, infatti abilitare il supporto CGI. Il risultato lo potete ammirare su http://vittoriozuccala.homelinux.net : digitando questo URL arriverete direttamente in casa mia e in particolare sul mio NSLU2 ;-)
In questo articolo spiegerò come ottenere questo risultato.

Lighttpd, CGI e PHP5

Di seguito presumo che il lettore abbia utilizzato Debian o Ubuntu. Su diverse distribuzioni Linux i comandi potrebbero cambiare. Si presume anche che l'indirizzo del proprio server sia 192.168.1.100. I riferimenti, ovviamente, cambiano sul vostro sistema.
Prima di tutto si installi Lighttpd:
apt-get install lighttpd
A questo punto dovreste poter accedere al server da un altro computer digitando sul vostro browser
http://192.168.1.100
Ciò che dovreste vedere è una schermata simile a questa:


Successivamente si installi php5:
apt-get install php5-cgi
Ora si modifichi il file di configurazione /etc/php5/cgi/php.ini dove bisogna aggiungere, anche al fondo del file:
[...]
cgi.fix_pathinfo = 1

A questo punto è necessario modificare il file di configurazione /etc/lighttpd/lighttpd.conf ed aggiungere "mod_fastcgi", al blocco server.modules:
[...]
server.modules = (
"mod_access",
"mod_alias",
"mod_accesslog",
"mod_fastcgi",
# "mod_rewrite",
# "mod_redirect",
# "mod_status",
# "mod_evhost",
# "mod_compress",
# "mod_usertrack",
# "mod_rrdtool",
# "mod_webdav",

ed alla fine del file si aggiunga il seguente blocco:
[...]
fastcgi.server = (
".php" => ((
"bin-path" => "/usr/bin/php5-cgi",
"socket" => "/tmp/php.socket"
)))

A questo punto tutto è pronto e si può riavviare il server web:
/etc/init.d/lighttpd restart

Ora il nostro sistema è pronto per ospitare dokuwiki!!
Se volete vedere questo è l'indirizzo del mio NSLU2 casalingo: http://vittoriozuccala.homelinux.net.
Buon lavoro.



4 commenti:

  1. Hai provato ad utilizzare al posto di lighttpd, cherokee? Potresti trarne soddisfazioni

    RispondiElimina
  2. Non ho provato ma lo metto nella lista dei server web da provare come alternativa.
    Gestisce anche l'interprete PHP?

    RispondiElimina
  3. Certamente sì, e sempre via fastCGI...Ed in più ha una comoda interfaccia web per la configurazione.

    RispondiElimina
  4. Cherokee supporta PHP via fastcgi, lo stesso approccio di lighttpd (con anche le medesime modifiche al file di configurazione di php)

    RispondiElimina