PHP e Apache · 4 min read · Dec 30, 2025
Utilizzare PHP5-FPM Con Apache2 Su CentOS 6.3
Utilizzare PHP5-FPM Con Apache2 Su CentOS 6.3
Versione 1.0
Autore: Falko Timme
Seguimi su Twitter
Questo tutorial mostra come installare un server web Apache2 su un server CentOS 6.3 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.
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 Abilitare Repository Aggiuntivi
Dobbiamo installare mod_fastcgi più avanti, che è disponibile nei repository RPMforge. RPMforge può essere abilitato come segue:
rpm --import http://dag.wieers.com/rpm/packages/RPM-GPG-KEY.dag.txtcd /tmp
wget http://pkgs.repoforge.org/rpmforge-release/rpmforge-release-0.5.2-2.el6.rf.x86_64.rpm
rpm -ivh rpmforge-release-0.5.2-2.el6.rf.x86_64.rpmphp-fpm non è disponibile nei repository ufficiali di CentOS, ma dal repository Remi RPM che dipende dal repository EPEL; possiamo abilitare entrambi i repository come segue:
rpm --import https://fedoraproject.org/static/0608B895.txt
rpm -ivh http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-7.noarch.rpmrpm --import http://rpms.famillecollet.com/RPM-GPG-KEY-remi
rpm -ivh http://rpms.famillecollet.com/enterprise/remi-release-6.rpmyum install yum-prioritiesModifica /etc/yum.repos.d/epel.repo…
vi /etc/yum.repos.d/epel.repo… e aggiungi la riga priority=10 alla sezione [epel]:
| [epel] name=Pacchetti Extra per Enterprise Linux 6 - $basearch #baseurl=http://download.fedoraproject.org/pub/epel/6/$basearch mirrorlist=https://mirrors.fedoraproject.org/metalink?repo=epel-6&arch=$basearch failovermethod=priority enabled=1 priority=10 gpgcheck=1 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-6 [...] |
Poi fai lo stesso per la sezione [remi] in /etc/yum.repos.d/remi.repo, oltre a cambiare enabled in 1:
vi /etc/yum.repos.d/remi.repo| [remi] name=Les RPM de remi pour Enterprise Linux $releasever - $basearch #baseurl=http://rpms.famillecollet.com/enterprise/$releasever/remi/$basearch/ mirrorlist=http://rpms.famillecollet.com/enterprise/$releasever/remi/mirror enabled=1 priority=10 gpgcheck=1 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-remi failovermethod=priority [remi-test] name=Les RPM de remi en test pour Enterprise Linux $releasever - $basearch #baseurl=http://rpms.famillecollet.com/enterprise/$releasever/test/$basearch/ mirrorlist=http://rpms.famillecollet.com/enterprise/$releasever/test/mirror enabled=0 gpgcheck=1 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-remi |
3 Installare 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:
chkconfig --levels 235 mysqld on
/etc/init.d/mysqld startImposta 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 per 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 per root garantisce che nessuno possa accedere all’utente root di MySQL senza la corretta autorizzazione.
Impostare la password per root? [Y/n] <– INVIO
Nuova password: <– yourrootsqlpassword
Re-inserisci 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 è inteso 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 inteso 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 ~]#
4 Installare Apache2
Apache2 è disponibile come pacchetto CentOS, quindi possiamo installarlo in questo modo:
yum install httpdOra configura il tuo sistema per avviare Apache all’avvio…
chkconfig --levels 235 httpd on… e avvia Apache:
/etc/init.d/httpd startOra 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 CentOS, e il file di configurazione è /etc/httpd/conf/httpd.conf. Ulteriori configurazioni sono memorizzate nella directory /etc/httpd/conf.d/.
5 Installare PHP5
Possiamo far funzionare PHP5 in Apache2 tramite PHP-FPM e il modulo mod_fastcgi di Apache che installiamo come segue:
yum install mod_fastcgi php-fpmPoi apri /etc/php.ini:
vi /etc/php.iniPer evitare errori come
[08-Aug-2011 18:07:08] PHP Warning: phpinfo(): It is not safe to rely on the system's timezone settings. You are *required* to use the date.timezone setting or the date_default_timezone_set() function. In case you used any of those methods and you are still getting this warning, you most likely misspelled the timezone identifier. We selected 'Europe/Berlin' for 'CEST/2.0/DST' instead in /usr/share/nginx/html/info.php on line 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://www.php.net/manual/en/datetime.configuration.php#ini.date.timezone date.timezone = "Europe/Berlin" [...] |
Puoi scoprire il fuso orario corretto per il tuo sistema eseguendo:
cat /etc/sysconfig/clock[root@server1 nginx]# cat /etc/sysconfig/clock
ZONE="Europe/Berlin"
[root@server1 nginx]#Successivamente crea i collegamenti di avvio del sistema per php-fpm e avvialo:
chkconfig --levels 235 php-fpm on
/etc/init.d/php-fpm startPHP-FPM è un processo daemon (con lo script di inizializzazione /etc/init.d/php-fpm) che esegue un server FastCGI sulla porta 9000.
Successivamente riavvia Apache:
/etc/init.d/httpd restartRicevi i nuovi post nella tua casella di posta.
Nessuno spam. Disiscriviti in qualsiasi momento.