PHP e Apache · 5 min read · Dec 27, 2025
Utilizzare PHP5-FPM Con Apache 2.4 (+ modulo mod_proxy_fcgi) Su Fedora 18
Utilizzare PHP5-FPM Con Apache 2.4 (+ modulo mod_proxy_fcgi) Su Fedora 18
Versione 1.0
Autore: Falko Timme
Seguimi su Twitter
Questo tutorial mostra come installare un server web Apache 2.4 su un server Fedora 18 con supporto PHP5 (tramite PHP-FPM) e MySQL. PHP-FPM (FastCGI Process Manager) è un’implementazione alternativa di PHP FastCGI con alcune funzionalità aggiuntive utili per siti di qualsiasi dimensione, specialmente per siti più trafficati. Su Apache 2.4, abbiamo bisogno del modulo mod_proxy_fcgi di Apache per farlo funzionare.
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
Per installare MySQL, facciamo così:
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.serviceImposta le password per l’account root di MySQL:
mysql_secure_installation[root@server1 ~]# mysql_secure_installation
NOTA: E’ RACCOMANDATO ESEGUIRE TUTTE LE PARTI DI QUESTO SCRIPT 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 root, la password sarà vuota, quindi dovresti semplicemente premere invio qui.
Inserisci la password attuale per root (premi invio per nessuna):
OK, password utilizzata con successo, procedendo…
Impostare la password root garantisce che nessuno possa accedere all’utente root di MySQL senza la corretta autorizzazione.
Impostare la password root? [Y/n] <– INVIO
Nuova password: <– yourrootsqlpassword
Reinserisci la nuova password: <– yourrootsqlpassword
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 è 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 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 di privilegio garantirà che tutte le modifiche apportate finora abbiano effetto immediato.
Ricaricare le tabelle di privilegio 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 Apache2
Apache2 è disponibile come pacchetto Fedora, quindi possiamo installarlo in questo modo:
yum install httpdQuesta è la versione 2.4 di Apache che non funziona con il modulo mod_fastcgi che era utilizzato in Apache 2.2 per PHP-FPM (vedi Utilizzare PHP5-FPM Con Apache2 Su Fedora 17); utilizzeremo quindi il modulo mod_proxy_fcgi.
Ora configura il tuo sistema per avviare Apache all’avvio…
systemctl enable httpd.service… e avvia Apache:
systemctl start httpd.serviceOra indirizza il tuo browser a http://192.168.0.100, e dovresti vedere la pagina segnaposto di Apache2:

La radice del documento predefinita di Apache è /var/www/html su Fedora, e il file di configurazione è /etc/httpd/conf/httpd.conf. Le configurazioni aggiuntive sono memorizzate nella directory /etc/httpd/conf.d/.
4 Installazione di PHP5
Possiamo far funzionare PHP5 in Apache2 tramite PHP-FPM e il modulo mod_proxy_fcgi di Apache. Il modulo mod_proxy_fcgi dovrebbe già essere installato e abilitato:
ls -l /usr/lib64/httpd/modules/mod_proxy*[root@server1 modules]# ls -l /usr/lib64/httpd/modules/mod_proxy*
-rwxr-xr-x 1 root root 52128 Oct 26 16:15 /usr/lib64/httpd/modules/mod_proxy_ajp.so
-rwxr-xr-x 1 root root 39984 Oct 26 16:15 /usr/lib64/httpd/modules/mod_proxy_balancer.so
-rwxr-xr-x 1 root root 19400 Oct 26 16:15 /usr/lib64/httpd/modules/mod_proxy_connect.so
-rwxr-xr-x 1 root root 11192 Oct 26 16:15 /usr/lib64/httpd/modules/mod_proxy_express.so
-rwxr-xr-x 1 root root 19368 Oct 26 16:15 /usr/lib64/httpd/modules/mod_proxy_fcgi.so
-rwxr-xr-x 1 root root 11152 Oct 26 16:15 /usr/lib64/httpd/modules/mod_proxy_fdpass.so
-rwxr-xr-x 1 root root 44184 Oct 26 16:15 /usr/lib64/httpd/modules/mod_proxy_ftp.so
-rwxr-xr-x 1 root root 39968 Oct 26 16:15 /usr/lib64/httpd/modules/mod_proxy_http.so
-rwxr-xr-x 1 root root 19464 Oct 26 16:15 /usr/lib64/httpd/modules/mod_proxy_scgi.so
-rwxr-xr-x 1 root root 98016 Oct 26 16:15 /usr/lib64/httpd/modules/mod_proxy.so
[root@server1 modules]#cat /etc/httpd/conf.modules.d/00-proxy.conf| [...] # Questo file configura tutti i moduli proxy: LoadModule proxy_module modules/mod_proxy.so LoadModule lbmethod_bybusyness_module modules/mod_lbmethod_bybusyness.so LoadModule lbmethod_byrequests_module modules/mod_lbmethod_byrequests.so LoadModule lbmethod_bytraffic_module modules/mod_lbmethod_bytraffic.so LoadModule lbmethod_heartbeat_module modules/mod_lbmethod_heartbeat.so LoadModule proxy_ajp_module modules/mod_proxy_ajp.so LoadModule proxy_balancer_module modules/mod_proxy_balancer.so LoadModule proxy_connect_module modules/mod_proxy_connect.so LoadModule proxy_express_module modules/mod_proxy_express.so LoadModule proxy_fcgi_module modules/mod_proxy_fcgi.so LoadModule proxy_fdpass_module modules/mod_proxy_fdpass.so LoadModule proxy_ftp_module modules/mod_proxy_ftp.so LoadModule proxy_http_module modules/mod_proxy_http.so LoadModule proxy_scgi_module modules/mod_proxy_scgi.so [...] |
Possiamo installare PHP-FPM come segue:
yum install php-fpmPoi apri /etc/php.ini:
vi /etc/php.iniPer evitare errori come
[08-Aug-2011 18:07:08] PHP Warning: phpinfo(): Non è sicuro fare affidamento sulle impostazioni del fuso orario del sistema. È *richiesto* 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 'CEST/2.0/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 impostare date.timezone in /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 (con lo script di init /etc/init.d/php-fpm) che esegue un server FastCGI sulla porta 9000.
Ricevi i nuovi post nella tua casella di posta.
Nessuno spam. Disiscriviti in qualsiasi momento.