PHP, Apache, Ubuntu · 4 min read · Jan 09, 2026

Utilizzare PHP5-FPM Con Apache2 Su Ubuntu 12.04 LTS

Utilizzare PHP5-FPM Con Apache2 Su Ubuntu 12.04 LTS

Versione 1.0
Autore: Falko Timme
Seguimi su Twitter

Questo tutorial mostra come puoi installare un server web Apache2 su un server Ubuntu 12.04 LTS 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.

Eseguo tutti i passaggi di questo tutorial con privilegi di root, quindi assicurati di essere connesso come root:

sudo su

2 Installazione di MySQL 5

Prima installiamo MySQL 5 in questo modo:

apt-get install mysql-server mysql-client

Ti verrà chiesto di fornire una password per l’utente root di MySQL - questa password è valida per l’utente root@localhost così come per [email protected], quindi non dobbiamo specificare manualmente una password root di MySQL in seguito:

Nuova password per l’utente MySQL “root”: <– yourrootsqlpassword
Ripeti la password per l’utente MySQL “root”: <– yourrootsqlpassword

3 Installazione di Apache2

Apache2 è disponibile come pacchetto Ubuntu. Abbiamo bisogno del pacchetto apache2-mpm-worker che possiamo installare in questo modo:

apt-get install apache2-mpm-worker

Ora indirizza il tuo browser a http://192.168.0.100, e dovresti vedere la pagina segnaposto di Apache2 (Funziona!):

La radice del documento predefinita di Apache è /var/www su Ubuntu, e il file di configurazione è /etc/apache2/apache2.conf. Le configurazioni aggiuntive sono memorizzate nelle sottodirectory della directory /etc/apache2 come /etc/apache2/mods-enabled (per i moduli Apache), /etc/apache2/sites-enabled (per gli host virtuali), e /etc/apache2/conf.d.

4 Installazione di PHP5

Possiamo far funzionare PHP5 in Apache2 tramite PHP-FPM e il modulo mod_fastcgi di Apache che installiamo come segue:

apt-get install libapache2-mod-fastcgi php5-fpm php5

PHP-FPM è un processo daemon (con lo script di init /etc/init.d/php5-fpm) che esegue un server FastCGI sulla porta 9000.

Successivamente abilita i seguenti moduli Apache…

a2enmod actions fastcgi alias

… e riavvia Apache:

/etc/init.d/apache2 restart

5 Configurazione di Apache

Per far funzionare Apache con PHP-FPM, abbiamo bisogno della seguente configurazione:

| AddHandler php5-fcgi .php Action php5-fcgi /php5-fcgi Alias /php5-fcgi /usr/lib/cgi-bin/php5-fcgi FastCgiExternalServer /usr/lib/cgi-bin/php5-fcgi -host 127.0.0.1:9000 -pass-header Authorization |

(Per saperne di più sulla direttiva FastCgiExternalServer, dai un’occhiata a http://www.fastcgi.com/mod_fastcgi/docs/mod_fastcgi.html#FastCgiExternalServer.)

Puoi metterlo nella configurazione globale di Apache (quindi è abilitato per tutti gli vhosts), ad esempio in /etc/apache2/conf.d/php5-fpm.conf (questo file non esiste, quindi devi crearlo), oppure puoi posizionarlo in ciascun vhost che dovrebbe utilizzare PHP-FPM. Voglio usare PHP-FPM con il vhost predefinito, quindi apro il suo file di configurazione del vhost /etc/apache2/sites-available/default…

vi /etc/apache2/sites-available/default

… e metto la seguente sezione da qualche parte tra :

| [...] AddHandler php5-fcgi .php Action php5-fcgi /php5-fcgi Alias /php5-fcgi /usr/lib/cgi-bin/php5-fcgi FastCgiExternalServer /usr/lib/cgi-bin/php5-fcgi -host 127.0.0.1:9000 -pass-header Authorization [...] |

Riavvia Apache dopo:

/etc/init.d/apache2 restart

Ora crea il seguente file PHP nella radice del documento /var/www:

vi /var/www/info.php

| |

Ora chiamiamo quel file in un browser (ad es. http://192.168.0.100/info.php):

Come puoi vedere, PHP5 sta funzionando, e sta funzionando tramite FPM/FastCGI, come mostrato nella riga Server API. Se scorri ulteriormente verso il basso, vedrai tutti i moduli che sono già abilitati in PHP5. MySQL non è elencato lì, il che significa che non abbiamo ancora supporto MySQL in PHP5.

6 Ottenere Supporto MySQL In PHP5

Per ottenere supporto MySQL in PHP, possiamo installare il pacchetto php5-mysql. È una buona idea installare anche alcuni altri moduli PHP5 poiché potresti averne bisogno per le tue applicazioni. Puoi cercare i moduli PHP5 disponibili in questo modo:

apt-cache search php5

Scegli quelli di cui hai bisogno e installali in questo modo:

apt-get install php5-mysql php5-curl php5-gd php5-intl php-pear php5-imagick php5-imap php5-mcrypt php5-memcache php5-ming php5-ps php5-pspell php5-recode php5-snmp php5-sqlite php5-tidy php5-xmlrpc php5-xsl

Ora ricarica PHP-FPM:

/etc/init.d/php5-fpm reload

Ora ricarica http://192.168.0.100/info.php nel tuo browser e scorri di nuovo verso il basso nella sezione moduli. Dovresti ora trovare molti nuovi moduli lì, incluso il modulo MySQL:

7 phpMyAdmin

phpMyAdmin è un’interfaccia web attraverso la quale puoi gestire i tuoi database MySQL. È una buona idea installarlo:

apt-get install phpmyadmin

Vedrai le seguenti domande:

Server web da riconfigurare automaticamente: <– apache2
Configurare il database per phpmyadmin con dbconfig-common? <– No

Dopo, puoi accedere a phpMyAdmin all’indirizzo http://192.168.0.100/phpmyadmin/:

8 Far Usare a PHP-FPM un Socket Unix

Per impostazione predefinita, PHP-FPM ascolta sulla porta 9000 su 127.0.0.1. È anche possibile far utilizzare a PHP-FPM un socket Unix che evita l’overhead TCP. Per fare ciò, apri /etc/php5/fpm/pool.d/www.conf…

vi /etc/php5/fpm/pool.d/www.conf

… e fai in modo che la riga listen appaia come segue:

| [...] ;listen = 127.0.0.1:9000 listen = /tmp/php5-fpm.sock [...] |

Poi ricarica PHP-FPM:

/etc/init.d/php5-fpm reload

Successivamente, passa attraverso la tua configurazione Apache e tutti i tuoi vhosts e cambia la riga FastCgiExternalServer /usr/lib/cgi-bin/php5-fcgi -host 127.0.0.1:9000 -pass-header Authorization in FastCgiExternalServer /usr/lib/cgi-bin/php5-fcgi -socket /tmp/php5-fpm.sock -pass-header Authorization, ad esempio in questo modo:

vi /etc/apache2/sites-available/default

| [...] AddHandler php5-fcgi .php Action php5-fcgi /php5-fcgi Alias /php5-fcgi /usr/lib/cgi-bin/php5-fcgi FastCgiExternalServer /usr/lib/cgi-bin/php5-fcgi -socket /tmp/php5-fpm.sock -pass-header Authorization [...] |

Infine ricarica Apache:

/etc/init.d/apache2 reload

9 Link

Informazioni sull’autore

Falko Timme è il proprietario di Timme Hosting (hosting web nginx ultra-veloce). È il principale manutentore di HowtoForge (dal 2005) e uno dei core developer di ISPConfig (dal 2000). Ha anche contribuito al libro O’Reilly “Linux System Administration”.

Share: X/Twitter LinkedIn

Ricevi i nuovi post nella tua casella di posta.

Nessuno spam. Disiscriviti in qualsiasi momento.