Lighttpd è un server Web sicuro, veloce e conforme agli standard progettato per ambienti critici per la velocità. Questo tutorial mostra come installare Lighttpd su un server Debian Etch con supporto PHP5 (tramite FastCGI) e supporto MySQL.
Non garantisco che questo funzionerà per te!
1 Nota preliminare
In questo tutorial utilizzo l'hostname server1.example.com con l'indirizzo IP 192.168.0.100. Queste impostazioni potrebbero differire per te, quindi devi sostituirle dove appropriato.
2 Installazione di MySQL 5.0
Per prima cosa installiamo MySQL 5.0 in questo modo:
apt-get install mysql-server mysql-client
Crea una password per l'utente root di MySQL (sostituisci yourrootsqlpassword con la password che desideri utilizzare):
mysqladmin -u root password yourrootsqlpassword
Quindi verifica con
netstat -tap | grep mysql
su quali indirizzi MySQL è in ascolto. Se l'output è simile a questo:
tcp 0 0 localhost.localdo:mysql *:* LISTEN 2713/mysqld
il che significa che MySQL è in ascolto solo su localhost.localdomain, quindi sei al sicuro con la password che hai impostato in precedenza. Ma se l'output è simile a questo:
tcp 0 0 *:mysql *:* LISTEN 2713/mysqld
dovresti anche impostare una password MySQL per il tuo nome host, perché altrimenti chiunque può accedere al tuo database e modificare i dati:
mysqladmin -h server1.example.com -u root password yourrootsqlpassword
3 Installazione di Lighttpd
Lighttpd è disponibile come pacchetto Debian, quindi possiamo installarlo in questo modo:
apt-get install lighttpd
Ora indirizza il tuo browser a http://192.168.0.100 e dovresti vedere la pagina segnaposto di Lighttpd:
La radice del documento predefinita di Lighttpd è /var/www su Debian e il file di configurazione è /etc/lighttpd/lighttpd.conf.
4 Installazione di PHP5
Possiamo far funzionare PHP5 in Lighttpd tramite FastCGI. Fortunatamente, Debian fornisce un pacchetto PHP5 abilitato per FastCGI che installiamo in questo modo:
apt-get install php5-cgi
5 Configurazione di Lighttpd e PHP5
Per abilitare PHP5 in Lighttpd, dobbiamo modificare due file, /etc/php5/cgi/php.ini e /etc/lighttpd/lighttpd.conf. Per prima cosa apriamo /etc/php5/cgi/php.ini e aggiungiamo la riga cgi.fix_pathinfo =1 proprio alla fine del file:
vi /etc/php5/cgi/php.ini
[...] cgi.fix_pathinfo = 1 |
Quindi apriamo /etc/lighttpd/lighttpd.conf e aggiungiamo "mod_fastcgi", alla stanza server.modules:
vi /etc/lighttpd/lighttpd.conf
[...] 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", # "mod_expire", # "mod_flv_streaming", # "mod_evasive" ) [...] |
e poi, alla fine del file, aggiungiamo la seguente stanza:
[...] fastcgi.server = ( ".php" => (( "bin-path" => "/usr/bin/php5-cgi", "socket" => "/tmp/php.socket" ))) |
Quindi riavviamo Lighttpd:
/etc/init.d/lighttpd restart
6 Testare PHP5 / Ottenere dettagli sull'installazione di PHP5
La radice del documento del sito Web predefinito è /var/www. Ora creeremo un piccolo file PHP (info.php) in quella directory e lo chiameremo in un browser. Il file mostrerà molti dettagli utili sulla nostra installazione di PHP, come la versione di PHP installata.
vi /var/www/info.php
<?php phpinfo(); ?> |
Ora chiamiamo quel file in un browser (es. http://192.168.0.100/info.php):
Come vedi, PHP5 funziona e funziona tramite FastCGI, come mostrato nella riga dell'API del server. Se scorri più in basso, vedrai tutti i moduli che sono già abilitati in PHP5. MySQL non è elencato lì, il che significa che non abbiamo ancora il supporto per MySQL in PHP5.
7 Ottenere supporto MySQL in PHP5
Per ottenere il supporto MySQL in PHP, possiamo installare il pacchetto php5-mysql. È una buona idea installare alcuni altri moduli PHP5 e potresti averne bisogno per le tue applicazioni. Puoi cercare i moduli PHP5 disponibili in questo modo:
apt-cache search php5
Scegli quelli che ti servono e installali in questo modo:
apt-get install php5-mysql php5-curl php5-gd php5-idn php-pear php5-imagick php5-imap php5-mcrypt php5-memcache php5-mhash php5-ming php5-ps php5-pspell php5-recode php5-snmp php5-sqlite php5-tidy php5-xmlrpc php5-xsl php5-json
Potresti vedere una domanda come questa:
Continuare a installare libc-client senza il supporto di Maildir? <-- Sì
Ora riavvia Lighttpd:
/etc/init.d/lighttpd restart
(Se hai installato il modulo php5-json e ricevi avvisi come questo:
PHP Warning: Module 'json' already loaded in Unknown on line 0
significa che il modulo è stato caricato due volte. Apri /etc/php5/cgi/php.ini, scorri verso il basso fino alla fine e commenta la riga extension=json.so:
vi /etc/php5/cgi/php.ini
[...] ;extension=json.so [...] |
Quindi riavvia nuovamente Lighttpd:
/etc/init.d/lighttpd restart
Gli avvisi ora dovrebbero essere scomparsi.)
Ora ricarica http://192.168.0.100/info.php nel tuo browser e scorri di nuovo verso il basso fino alla sezione dei moduli. Ora dovresti trovare molti nuovi moduli lì, incluso il modulo MySQL:
8 link
- Lighttpd:http://www.lighttpd.net
- PHP:http://www.php.net
- MySQL:http://www.mysql.com
- Debian:http://www.debian.org