Installazione software · 4 min read · Feb 08, 2026

Installazione di Nginx Con PHP5 (E PHP-FPM) E Supporto MySQL Su OpenSUSE 11.4

Installazione di Nginx Con PHP5 (E PHP-FPM) E Supporto MySQL Su OpenSUSE 11.4

Versione 1.0
Autore: Falko Timme
Seguimi su Twitter

Nginx (pronunciato “engine x”) è un server HTTP ad alte prestazioni, gratuito e open-source. Nginx è noto per la sua stabilità, ricco set di funzionalità, configurazione semplice e basso consumo di risorse. Questo tutorial mostra come puoi installare Nginx su un server OpenSUSE 11.4 con supporto PHP5 (tramite PHP-FPM) e supporto MySQL.

Non fornisco 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

Prima installiamo MySQL 5 in questo modo:

yast2 -i mysql mysql-client mysql-community-server

Poi 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 -f --add mysql  
/etc/init.d/mysql start

Ora controlla che la rete sia abilitata. Esegui

netstat -tap | grep mysql

Dovrebbe mostrare qualcosa del genere:

server1:~ # netstat -tap | grep mysql  
tcp        0      0 *:mysql                 *:*                     LISTEN      2360/mysqld  
server1:~ #

Se non lo fa, modifica /etc/my.cnf e commenta l’opzione skip-networking:

vi /etc/my.cnf

| [...] #skip-networking [...] |

e riavvia il tuo server MySQL:

/etc/init.d/mysql restart

(Se ricevi il messaggio Non hai un pacchetto binario vim valido installato. Si prega di installare “vim”, “vim-enhanced” o “gvim”., esegui

yast2 -i vim

per installare vi e riprova.)

Esegui

mysql_secure_installation

per impostare una password per l’utente root (altrimenti chiunque può accedere al tuo database MySQL!):

server1:~ # mysql_secure_installation

NOTA: È RACCOMANDATO ESEGUIRE TUTTE LE PARTI DI QUESTO SCRIPT PER TUTTI I SERVER MySQL IN USO IN PRODUZIONE! 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 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 root? [Y/n] <– Y
Nuova password: <– inserisci la tua password root MySQL desiderata
Reinserisci la nuova password: <– conferma quella password
Password aggiornata con successo!
Ricaricamento delle tabelle di privilegio..
… 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 è inteso solo per testare 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 inteso solo per testare 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 di privilegio garantirà che tutte le modifiche apportate finora abbiano effetto immediato.

Ricaricare le tabelle di privilegio 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:~ #

3 Installazione di Nginx

Nginx è disponibile come pacchetto per OpenSUSE 11.4 che possiamo installare come segue:

yast2 -i nginx-0.8

Poi creiamo i collegamenti di avvio del sistema per nginx e lo avviamo:

chkconfig -f --add nginx  
/etc/init.d/nginx start

Digita l’indirizzo IP o il nome host del tuo server web in un browser (ad es. http://192.168.0.100), e dovresti vedere la seguente pagina:

Ricevi un errore 403 vietato perché su OpenSUSE 11.4, la root del documento predefinita di nginx è /srv/www/htdocs, e non c’è una pagina indice in /srv/www/htdocs.

4 Installazione di PHP5

Possiamo far funzionare PHP5 in nginx tramite PHP-FPM (PHP-FPM (FastCGI Process Manager) è un’implementazione alternativa di PHP FastCGI con alcune funzionalità aggiuntive utili per siti di qualsiasi dimensione, specialmente siti più trafficati) che installiamo come segue:

yast2 -i php5-fpm

Prima 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.conf

Poi apri /etc/php5/fpm/php-fpm.conf…

vi /etc/php5/fpm/php-fpm.conf

… e cambia error_log in /var/log/php-fpm.log e decommenta pm.min_spare_servers e pm.max_spare_servers:

| [...] error_log = /var/log/php-fpm.log [...] pm.min_spare_servers = 5 [...] pm.max_spare_servers = 35 [...] |

Successivamente crea i collegamenti di avvio del sistema per php-fpm e avvialo:

chkconfig -f --add php-fpm  
/etc/init.d/php-fpm start

PHP-FPM è un processo demone (con lo script di init /etc/init.d/php-fpm) che esegue un server FastCGI sulla porta 9000, come puoi vedere nell’output di

netstat -tapn
server1:~ # netstat -tapn  
Connessioni Internet attive (server e stabilite)  
Proto Recv-Q Send-Q Indirizzo Locale           Indirizzo Remoto         Stato       PID/Nome programma  
tcp        0      0 127.0.0.1:9000          0.0.0.0:*               LISTEN      4229/php-fpm.conf)  
tcp        0      0 0.0.0.0:3306            0.0.0.0:*               LISTEN      2360/mysqld  
tcp        0      0 0.0.0.0:111             0.0.0.0:*               LISTEN      1378/rpcbind  
tcp        0      0 0.0.0.0:80              0.0.0.0:*               LISTEN      3795/nginx  
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      1190/sshd  
tcp        0      0 127.0.0.1:25            0.0.0.0:*               LISTEN      1425/master  
tcp        0      0 :::111                    :::*                     LISTEN      1378/rpcbind  
tcp        0      0 :::22                     :::*                     LISTEN      1190/sshd  
tcp        0      0 ::1:25                    :::*                     LISTEN      1425/master  
server1:~ #
Share: X/Twitter LinkedIn

Ricevi i nuovi post nella tua casella di posta.

Nessuno spam. Disiscriviti in qualsiasi momento.