Installazione Server · 6 min read · Dec 18, 2025
Installazione di Lighttpd con PHP5 (PHP-FPM) e MySQL su Debian 8 (Jessie)
Lighttpd è un server web sicuro, veloce e conforme agli standard, progettato per ambienti critici per la velocità. Questo tutorial mostra come puoi installare Lighttpd su un server Debian 8 (Jessie) con supporto PHP5 (tramite PHP-FPM) e supporto MySQL. PHP-FPM (FastCGI Process Manager) è un’implementazione alternativa di PHP FastCGI con alcune funzionalità aggiuntive utili per siti di qualsiasi dimensione, specialmente per quelli più trafficati. Utilizzo PHP-FPM in questo tutorial invece di spawn-fcgi di Lighttpd.
1 Nota Preliminare
In questo tutorial, utilizzo il nome host server1.example.com con l’indirizzo IP 192.168.1.100. Queste impostazioni potrebbero differire per te, quindi devi sostituirle dove appropriato. Usa un server Debian minimale come base per questa installazione, questo può essere un’immagine minimale del tuo datacenter oppure puoi installarne uno da zero utilizzando il nostro tutorial sul server minimale Debian.
2 Installazione di MySQL / MariaDB
Debian 8 include 2 database compatibili con MySQL, il tradizionale database MySQL e MariaDB, un fork di MySQL mantenuto dall’inventore originale di MySQL Monty Widenius. MariaDB è attualmente leader in termini di velocità del database e attività di sviluppo, quindi la sceglierò per il mio server.
Di seguito descriverò l’installazione di MariaDB (Capitolo 2.1) e MySQL (Capitolo 2.2) in modo che tu possa scegliere il database che preferisci. Assicurati solo di seguire il capitolo 2.1 o 2.2 ma non entrambi.
2.1 Installare MariaDB
Per installare MariaDB, esegui questo comando.
apt-get install mariadb-server mariadb-clientTi verrà chiesto di fornire una password per l’utente root di MariaDB - questa password è valida per l’utente root@localhost così come per [email protected], quindi non dobbiamo specificare manualmente una password root di MariaDB in seguito:
Nuova password per l'utente "root" di MariaDB: <-- yourrootsqlpassword
Ripeti la password per l'utente "root" di MariaDB: <-- yourrootsqlpassword2.2 Installare MySQL
Installiamo MySQL 5 in questo modo:
apt-get install mysql-server mysql-clientTi verrà chiesto di fornire una password per l’utente root di MySQL - questa password è valida per l’utente root@localhost così come per [email protected], quindi non dobbiamo specificare manualmente una password root di MySQL in seguito:
Nuova password per l’utente “root” di MySQL: <– yourrootsqlpassword
Ripeti la password per l’utente “root” di MySQL: <– yourrootsqlpassword
3 Installazione di Lighttpd
Lighttpd è disponibile come pacchetto Debian, quindi possiamo installarlo in questo modo:
apt-get install lighttpdOra indirizza il tuo browser a http://192.168.1.100/, e dovresti vedere la pagina segnaposto di Lighttpd:

La root del documento predefinita di Lighttpd è /var/www su Debian, e il file di configurazione è /etc/lighttpd/lighttpd.conf.
Ulteriori configurazioni sono memorizzate in file nella directory /etc/lighttpd/conf-available - queste configurazioni possono essere abilitate con il comando lighttpd-enable-mod che crea un symlink dalla directory /etc/lighttpd/conf-enabled al file di configurazione appropriato in /etc/lighttpd/conf-available. Puoi disabilitare le configurazioni con il comando lighttpd-disable-mod.
4 Installazione di PHP5
Possiamo far funzionare PHP5 in Lighttpd tramite PHP-FPM che installiamo in questo modo:
apt-get install php5-fpm php5PHP-FPM è un processo daemon (con lo script di init /etc/init.d/php5-fpm) che esegue un server FastCGI sul socket /var/run/php5-fpm.sock.
5 Configurazione di Lighttpd e PHP5
Per abilitare PHP5 in Lighttpd, dobbiamo modificare /etc/php5/fpm/php.ini e decommentare la riga cgi.fix_pathinfo=1:
nano /etc/php5/fpm/php.ini[...]
; cgi.fix_pathinfo fornisce supporto *reale* per PATH_INFO/PATH_TRANSLATED per CGI. Il comportamento precedente di PHP era impostare PATH_TRANSLATED su SCRIPT_FILENAME, e non comprendere cosa sia PATH_INFO. Per ulteriori informazioni su PATH_INFO, vedere le specifiche CGI. Impostare questo su 1 farà sì che PHP CGI corregga i suoi percorsi per conformarsi alla specifica. Un'impostazione di zero fa sì che PHP si comporti come prima. Il valore predefinito è 1. Dovresti correggere i tuoi script per utilizzare SCRIPT_FILENAME piuttosto che PATH_TRANSLATED.
; http://php.net/cgi.fix-pathinfo
cgi.fix_pathinfo=1
[...]E riavvia il servizio php5-fpm per applicare la modifica della configurazione:
systemctl restart php5-fpm.serviceIl file di configurazione di Lighttpd per PHP /etc/lighttpd/conf-available/15-fastcgi-php.conf è adatto per l’uso con spawn-fcgi, tuttavia, vogliamo utilizzare PHP-FPM, quindi creiamo un backup del file (chiamato 15-fastcgi-php-spawnfcgi.conf) e modifichiamo 15-fastcgi-php.conf come segue:
cd /etc/lighttpd/conf-available/
cp 15-fastcgi-php.conf 15-fastcgi-php-spawnfcgi.conf
nano 15-fastcgi-php.conf# -*- depends: fastcgi -*-
# /usr/share/doc/lighttpd/fastcgi.txt.gz
# http://redmine.lighttpd.net/projects/lighttpd/wiki/Docs:ConfigurationOptions#mod_fastcgi-fastcgi
## Avvia un server FastCGI per php (richiede il pacchetto php5-cgi)
fastcgi.server += ( ".php" =>
((
"socket" => "/var/run/php5-fpm.sock",
"broken-scriptfilename" => "enable"
))
)Per abilitare la configurazione fastcgi, esegui i seguenti comandi:
lighttpd-enable-mod fastcgi
lighttpd-enable-mod fastcgi-phpQuesto crea i symlink /etc/lighttpd/conf-enabled/10-fastcgi.conf che punta a /etc/lighttpd/conf-available/10-fastcgi.conf e /etc/lighttpd/conf-enabled/15-fastcgi-php.conf che punta a /etc/lighttpd/conf-available/15-fastcgi-php.conf:
ls -l /etc/lighttpd/conf-enabledroot@server1:/etc/lighttpd/conf-available# ls -l /etc/lighttpd/conf-enabled
total 0
lrwxrwxrwx 1 root root 33 Aug 11 08:20 10-fastcgi.conf -> ../conf-available/10-fastcgi.conf
lrwxrwxrwx 1 root root 37 Aug 11 08:20 15-fastcgi-php.conf -> ../conf-available/15-fastcgi-php.confPoi ricarichiamo Lighttpd:
systemctl force-reload lighttpd.service6 Testare PHP5 / Ottenere Dettagli sulla Tua Installazione di PHP5
La root 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.
nano /var/www/html/info.phpOra chiamiamo quel file in un browser (ad es. http://192.168.1.100/info.php):

Come puoi vedere, PHP5 sta funzionando, e sta funzionando tramite FPM/FastCGI, come mostrato nella riga Server API. Se scorri ulteriormente verso il basso, vedrai tutti i moduli che sono già abilitati in PHP5. MySQL non è elencato lì, il che significa che non abbiamo ancora supporto MySQL in PHP5.
7 Ottenere Supporto MySQL in PHP5
Per ottenere supporto MySQL in PHP, possiamo installare il pacchetto php5-mysqlnd. Questo è un nuovo driver di database compatibile con MySQL e MariaDB. È una buona idea installare anche alcuni altri moduli PHP5 poiché potresti averne bisogno per le tue applicazioni. Puoi cercare i moduli PHP5 disponibili in questo modo:
apt-cache search php5Scegli quelli di cui hai bisogno e installali in questo modo:
apt-get install php5-mysqlnd php5-curl php5-gd php5-intl php-pear php5-imagick php5-imap php5-mcrypt php5-memcache php5-pspell php5-recode php5-sqlite php5-tidy php5-xmlrpc php5-xslXcache è un cache opcode PHP gratuito e open source per la memorizzazione nella cache e l’ottimizzazione del codice intermedio PHP. È simile ad altri cache opcode PHP, come eAccelerator e APC. È fortemente consigliato avere uno di questi installato per velocizzare la tua pagina PHP.
Xcache può essere installato come segue:
apt-get install php5-xcacheOra ricarica PHP-FPM:
systemctl restart php5-fpm.serviceOra ricarica http://192.168.1.100/info.php nel tuo browser e scorri di nuovo verso il basso nella sezione dei moduli. Dovresti ora trovare molti nuovi moduli lì, incluso il modulo MySQL:

8 phpMyAdmin
phpMyAdmin è un’interfaccia web attraverso la quale puoi gestire i tuoi database MySQL. È una buona idea installarlo:
apt-get install phpmyadminVedrai le seguenti domande:
Server web da riconfigurare automaticamente: <– lighttpd

Configurare il database per phpmyadmin con dbconfig-common? <-- Sì
Password dell'utente amministrativo del database: <-- yourrootsqlpassword
Password dell'applicazione MySQL per phpmyadmin: <-- Premi Dopo, puoi accedere a phpMyAdmin all’indirizzo http://192.168.1.100/phpmyadmin/:

9 Far Usare a PHP-FPM una Connessione TCP
Per impostazione predefinita, PHP-FPM ascolta sul socket /var/run/php5-fpm.sock. È anche possibile far utilizzare a PHP-FPM una connessione TCP. Per fare ciò, apri /etc/php5/fpm/pool.d/www.conf…
nano /etc/php5/fpm/pool.d/www.conf… e fai in modo che la riga listen appaia come segue:
[...]
;listen = /var/run/php5-fpm.sock
listen = 127.0.0.1:9000
[...]Questo farà sì che PHP-FPM ascolti sulla porta 9000 sull’IP 127.0.0.1 (localhost). Assicurati di utilizzare una porta che non sia in uso sul tuo sistema.
Poi ricarica PHP-FPM:
systemctl restart php5-fpm.serviceSuccessivamente, apri il file di configurazione PHP di Lighttpd /etc/lighttpd/conf-available/15-fastcgi-php.conf e sostituisci la riga socket con le righe host e port:
nano /etc/lighttpd/conf-available/15-fastcgi-php.conf# -*- depends: fastcgi -*-
# /usr/share/doc/lighttpd/fastcgi.txt.gz
# http://redmine.lighttpd.net/projects/lighttpd/wiki/Docs:ConfigurationOptions#mod_fastcgi-fastcgi
## Avvia un server FastCGI per php (richiede il pacchetto php5-cgi)
fastcgi.server += ( ".php" =>
((
"host" => "127.0.0.1",
"port" => "9000",
"broken-scriptfilename" => "enable"
))
)Infine ricarica Lighttpd:
systemctl force-reload lighttpd.service10 Link
- Lighttpd: http://www.lighttpd.net/
- PHP: http://www.php.net/
- PHP-FPM: http://php-fpm.org/
- MySQL: http://www.mysql.com/
- Debian: http://www.debian.org/
- phpMyAdmin: http://www.phpmyadmin.net/
Ricevi i nuovi post nella tua casella di posta.
Nessuno spam. Disiscriviti in qualsiasi momento.