Installazione Server · 4 min read · Jan 25, 2026
Installazione di Nginx Con PHP5 (E PHP-FPM) E Supporto MySQL Su Fedora 17
Installazione di Nginx Con PHP5 (E PHP-FPM) E Supporto MySQL Su Fedora 17
Versione 1.0
Autore: Falko Timme
Seguimi su Twitter
Nginx (pronunciato “engine x”) è un server HTTP gratuito, open-source e ad alte prestazioni. 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 Fedora 17 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:
yum install mysql mysql-serverPoi 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:
systemctl enable mysqld.service
systemctl start mysqld.serviceOra controlla che la rete sia abilitata. Esegui
netstat -tap | grep mysqlDovrebbe mostrare qualcosa del genere:
[root@server1 ~]# netstat -tap | grep mysql
tcp 0 0 *:mysql *:* LISTEN 1116/mysqld
[root@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:
systemctl restart mysqld.serviceEsegui
mysql_secure_installationper impostare una password per l’utente root (altrimenti chiunque può accedere al tuo database MySQL!):
[root@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 e 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 (invio per nessuna): <– INVIO
OK, password utilizzata con successo, procedendo…
Impostare la password per root? [Y/n] <– INVIO
Nuova password: <– yourrootsqlpassword
Reinserisci la nuova password: <– yourrootsqlpassword
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] <– INVIO
… 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] <– INVIO
… 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] <– INVIO
- Eliminazione 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] <– INVIO
… 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!
[root@server1 ~]#
3 Installazione di Nginx
Nginx è disponibile come pacchetto per Fedora 17 che possiamo installare come segue:
yum install nginxPoi creiamo i collegamenti di avvio del sistema per nginx e lo avviamo:
systemctl enable nginx.service
systemctl start nginx.serviceDigita 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 pagina di benvenuto di nginx:

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). C’è un pacchetto php-fpm nei repository ufficiali di Fedora 17, quindi possiamo installare php-fpm insieme a php-cli e alcuni moduli PHP5 come php-mysql di cui hai bisogno se vuoi utilizzare MySQL dai tuoi script PHP:
yum install php-fpm php-cli php-mysql php-gd php-imap php-ldap php-odbc php-pear php-xml php-xmlrpc php-magickwand php-mbstring php-mcrypt php-mssql php-shout php-snmp php-soap php-tidyAPC è un cache opcode PHP gratuito e open per la memorizzazione nella cache e l’ottimizzazione del codice intermedio PHP. È simile ad altri cache opcode PHP, come eAccelerator e Xcache. È fortemente consigliato avere uno di questi installato per velocizzare la tua pagina PHP.
APC può essere installato come segue:
yum install php-pecl-apcPer evitare errori come
[13-Nov-2011 22:13:16] PHP Warning: phpinfo(): Non è sicuro fare affidamento sulle impostazioni del fuso orario del sistema. È *obbligatorio* utilizzare l'impostazione date.timezone o la funzione date_default_timezone_set(). Nel caso tu abbia utilizzato uno di questi metodi e stai ancora ricevendo questo avviso, è molto probabile che tu abbia scritto male l'identificatore del fuso orario. Abbiamo selezionato 'Europe/Berlin' per 'CET/1.0/no DST' invece in /usr/share/nginx/html/info.php alla riga 2… in /var/log/php-fpm/www-error.log quando chiami uno script PHP nel tuo browser, dovresti aprire /etc/php.ini e impostare date.timezone:
vi /etc/php.ini| [...] [Date] ; Definisce il fuso orario predefinito utilizzato dalle funzioni di data ; http://php.net/date.timezone date.timezone = "Europe/Berlin" [...] |
Puoi scoprire il fuso orario corretto per il tuo sistema eseguendo:
cat /etc/sysconfig/clock[root@server1 ~]# cat /etc/sysconfig/clock
ZONE="Europe/Berlin"
[root@server1 ~]#Successivamente crea i collegamenti di avvio del sistema per php-fpm e avvialo:
systemctl enable php-fpm.service
systemctl start php-fpm.servicePHP-FPM è un processo daemon che esegue un server FastCGI sulla porta 9000.
Ricevi i nuovi post nella tua casella di posta.
Nessuno spam. Disiscriviti in qualsiasi momento.