Installazione Server · 4 min read · Dec 17, 2025
Installazione di Lighttpd con supporto PHP5 (PHP-FPM) e MySQL su OpenSUSE 13.1
Installazione di Lighttpd con supporto PHP5 (PHP-FPM) e MySQL su OpenSUSE 13.1
Versione 1.0
Autore: Falko Timme, aggiornato da Srijan Kishore
Segui howtoforge su Twitter
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 OpenSUSE 13.1 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.
Non rilascio alcuna garanzia che questo funzionerà per te!
1 Nota Preliminare
In questo tutorial utilizzo il nome host 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
Per prima cosa installiamo MySQL 5 in questo modo:
zypper install mysql-community-server mysql-community-server-clientPoi creiamo i collegamenti di avvio del sistema per MySQL (in modo che MySQL si avvii automaticamente ogni volta che il sistema si avvia) e avviamo il server MySQL:
chkconfig mysql on
systemctl start mysql.servicePer mettere in sicurezza l’installazione di MySQL, esegui:
mysql_secure_installationOra ti verranno poste diverse domande:
server1:~ # mysql_secure_installation
NOTE: ESEGUIRE TUTTE LE PARTI DI QUESTO SCRIPT È RACCOMANDATO PER TUTTI I SERVER MySQL IN USO IN PRODUZIONE! PER FAVORE LEGGI ATTENTAMENTE OGNI PASSO!
Per accedere a MySQL per metterlo in sicurezza, avremo bisogno della password attuale per l’utente root. Se hai appena installato MySQL e non hai ancora impostato la password per root, la password sarà vuota, quindi dovresti semplicemente premere invio qui.
Inserisci la password attuale per root (premi invio per nessuna): <– INVIO
OK, password utilizzata con successo, procedendo…
Impostare la password per root garantisce che nessuno possa accedere all’utente root di MySQL senza la corretta autorizzazione.
Impostare la password per root? [Y/n] <– Y
Nuova password: <– inserisci la tua password root MySQL desiderata
Re-inserisci la nuova password: <– conferma quella password
Password aggiornata con successo!
Ricaricamento delle tabelle dei privilegi..
… Successo!
Per impostazione predefinita, un’installazione di MySQL ha un utente anonimo, che consente a chiunque di accedere a MySQL senza dover avere un account utente creato per loro. Questo è destinato solo per test e per rendere l’installazione un po’ più fluida. Dovresti rimuoverli prima di passare a un ambiente di produzione.
Rimuovere gli utenti anonimi? [Y/n] <– Y
… Successo!
Normalmente, root dovrebbe essere autorizzato a connettersi solo da ‘localhost’. Questo garantisce che qualcuno non possa indovinare la password di root dalla rete.
Negare l’accesso remoto a root? [Y/n] <– Y
… Successo!
Per impostazione predefinita, MySQL viene fornito con un database chiamato ‘test’ a cui chiunque può accedere. Questo è anche destinato solo per test e dovrebbe essere rimosso prima di passare a un ambiente di produzione.
Rimuovere il database di test e l’accesso ad esso? [Y/n] <– Y
- Rimozione del database di test…
… Successo! - Rimozione dei privilegi sul database di test…
… Successo!
Ricaricare le tabelle dei privilegi garantirà che tutte le modifiche apportate finora abbiano effetto immediato.
Ricaricare le tabelle dei privilegi ora? [Y/n] <– Y
… Successo!
Pulizia…
Tutto fatto! Se hai completato tutti i passaggi sopra, la tua installazione di MySQL dovrebbe ora essere sicura.
Grazie per aver utilizzato MySQL!
server1:~ #
Ora la tua configurazione di MySQL dovrebbe essere sicura.
3 Installazione di Lighttpd
Lighttpd è disponibile come pacchetto OpenSUSE, quindi possiamo installarlo in questo modo:
zypper install lighttpdPoi creiamo i collegamenti di avvio del sistema per Lighttpd (in modo che Lighttpd si avvii automaticamente ogni volta che il sistema si avvia) e lo avviamo:
chkconfig lighttpd on
systemctl start lighttpd.serviceNota: Se ricevi un errore nell’avvio del servizio lighttpd, disinstalla apache2, apache2 interferisce con il processo di lighttpd. Inoltre, puoi avviare il servizio di lighttpd.
zypper remove apache2
chkconfig lighttpd on
systemctl start lighttpd.serviceOra indirizza il tuo browser a http://192.168.0.100, e dovresti vedere che Lighttpd fornisce una pagina (beh, è una pagina 404 perché non c’è un file index nella root dei documenti di Lighttpd, ma almeno questo significa che Lighttpd sta funzionando correttamente):

La root dei documenti predefinita di Lighttpd è /srv/www/htdocs su OpenSUSE, e il file di configurazione è /etc/lighttpd/lighttpd.conf.
4 Installazione di PHP5
Possiamo far funzionare PHP5 in Lighttpd tramite PHP-FPM che installiamo in questo modo:
zypper install php5-fpmPrima di avviare PHP-FPM, rinomina /etc/php5/fpm/php-fpm.conf.default in /etc/php5/fpm/php-fpm.conf:
mv /etc/php5/fpm/php-fpm.conf.default /etc/php5/fpm/php-fpm.confCambia i permessi della directory di sessione di PHP:
chmod 1733 /var/lib/php5Poi apri /etc/php5/fpm/php-fpm.conf…
vi /etc/php5/fpm/php-fpm.conf… e cambia error_log in /var/log/php-fpm.log:
| [...] error_log = /var/log/php-fpm.log [...] |
Non esiste un file php.ini per PHP-FPM sotto OpenSUSE 13.1, quindi copiamo il php.ini CLI:
cp /etc/php5/cli/php.ini /etc/php5/fpm/Successivamente apri /etc/php5/fpm/php.ini…
vi /etc/php5/fpm/php.ini… e imposta cgi.fix_pathinfo su 1:
| [...] ; 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 fosse 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 alle specifiche. 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 [...] |
Successivamente crea i collegamenti di avvio del sistema per php-fpm e avvialo:
chkconfig php-fpm on
systemctl start php-fpm.serviceRicevi i nuovi post nella tua casella di posta.
Nessuno spam. Disiscriviti in qualsiasi momento.