Installazione PHP · 4 min read · Jan 23, 2026

Installazione di PHP 5.3, Nginx e PHP-fpm su Ubuntu/Debian

Installazione di PHP 5.3, Nginx e PHP-fpm su Ubuntu/Debian

Versione 1.1
Seguimi su Twitter

Poiché Apache è per la maggior parte del tempo un processo che consuma molta memoria, le persone hanno iniziato a cercare modi diversi per ospitare il proprio sito web. Apache non è chiaramente l’unico server web disponibile. Alcuni buoni esempi sono lighttpd e nginx. In questo tutorial ti mostrerò come installarlo sul tuo server Ubuntu. Questo tutorial si applica anche a Debian, anche se c’è solo una piccola differenza.

Pronto? Iniziamo, d’accordo.

Passo 0 - Note preliminari

Per completare questo tutorial, presumo che tu abbia installato un sistema base di Debian o Ubuntu. Come questo può essere fatto, può essere letto in diversi tutorial. Questo tutorial si concentra solo sull’ottenere nginx+php in esecuzione senza troppi problemi.

Passo 1 - Nginx

L’installazione di nginx è il primo passo che dobbiamo fare. Questo può essere facilmente fatto scaricandolo dal repository.

sudo apt-get install nginx

Il vhost predefinito deve essere modificato per funzionare correttamente.

sudo vim /etc/nginx/sites-available/default

Un buon punto di partenza per la tua configurazione è:

server {
    listen   80;
    server_name  localhost;
    access_log  /var/log/nginx/localhost.access.log;

## Posizione predefinita
    location / {
        root   /var/www;
        index  index.php;
    }

## Le immagini e i contenuti statici vengono trattati in modo diverso
    location ~* ^.+\.(jpg|jpeg|gif|css|png|js|ico|xml)$ {
      access_log        off;
      expires           30d;
      root /var/www;
    }

## Analizza tutti i file .php nella directory /var/www
    location ~ .php$ {
        try_files $uri =404;
        fastcgi_split_path_info ^(.+\.php)(.*)$;
        fastcgi_pass   backend;
        fastcgi_index  index.php;
        fastcgi_param  SCRIPT_FILENAME  /var/www$fastcgi_script_name;
        include fastcgi_params;
        fastcgi_param  QUERY_STRING     $query_string;
        fastcgi_param  REQUEST_METHOD   $request_method;
        fastcgi_param  CONTENT_TYPE     $content_type;
        fastcgi_param  CONTENT_LENGTH   $content_length;
        fastcgi_intercept_errors        on;
        fastcgi_ignore_client_abort     off;
        fastcgi_connect_timeout 60;
        fastcgi_send_timeout 180;
        fastcgi_read_timeout 180;
        fastcgi_buffer_size 128k;
        fastcgi_buffers 4 256k;
        fastcgi_busy_buffers_size 256k;
        fastcgi_temp_file_write_size 256k;
    }

## Disabilita la visualizzazione di .htaccess e .htpassword
    location ~ \/\.ht {
        deny  all;
    }
}  
upstream backend {  
        server 127.0.0.1:9000;  
}  
 

Ok, abbiamo finito qui. Ora installeremo i file necessari per PHP.

Passo 2 - Installazione di PHP

Molti siti si affidano a PHP per fornire contenuti dinamici, sia che si tratti di un wiki, di un software per forum, di un weblog o di qualcos’altro di completamente diverso.

Se stai eseguendo Ubuntu, dobbiamo prima risolvere due dipendenze richieste per i pacchetti dotdeb. Se stai eseguendo la versione amd64, dovresti sostituire i386 con amd64.

Per Debian non dovrai fare questo!

cd /tmp
wget http://us.archive.ubuntu.com/ubuntu/pool/main/k/krb5/libkrb53_1.6.dfsg.4~beta1-5ubuntu2_i386.deb
wget http://us.archive.ubuntu.com/ubuntu/pool/main/i/icu/libicu38_3.8-6ubuntu0.2_i386.deb
sudo dpkg -i *.deb

Ancora una volta, questo è solo necessario se sei su Ubuntu.

Il resto del tutorial si applica sia a Ubuntu che a Debian.

Dobbiamo aggiungere il repository dotdeb alle fonti APT, in modo da poter utilizzare il loro PHP 5.3 e php-fpm impacchettati:

sudo echo "deb http://php53.dotdeb.org stable all" >> /etc/apt/sources.list

Aggiorna apt:

sudo apt-get update

Il testo risultante dovrebbe includere dotdeb.

Ora installeremo PHP (parte 1):

sudo apt-get install php5-cli php5-common php5-suhosin

Dobbiamo installare il cli prima del resto, perché questo causerà problemi in seguito.

sudo apt-get install php5-fpm php5-cgi

Se prevedi di utilizzare un database o richiedi moduli specifici (mcrypt, ldap, snmp, ecc.) puoi installarli anche.

Ok, quindi ora abbiamo nginx e PHP.

Una piccola nota: se stai usando “php short tags” (

Passo 3 - Finalizzazione

Riavvia nginx per aggiornare le modifiche di configurazione che abbiamo fatto in precedenza.

sudo /etc/init.d/nginx restart

Il riavvio dovrebbe essere andato senza problemi.

Dopo aver installato php5-fpm, dovrebbe essere stato avviato. Se hai modificato i tuoi file php.ini, devi riavviare php5-fpm.

sudo /etc/init.d/php5-fpm restart

Va bene. Ora dovrebbero entrambi essere in esecuzione.

Passo 4 - Test

Per testare se l’esecuzione di PHP funziona, crea un file index.php in /var/www con il seguente contenuto:

Visita il tuo server web e dovresti essere in grado di vedere il phpinfo generato. Se non lo vedi, qualcosa è andato storto.

Passo 5 - Risoluzione dei problemi e note finali

Se non hai visto il phpinfo, potrebbe esserci qualcosa di sbagliato. Per rintracciare cosa è andato storto, puoi controllare il log degli errori di nginx:

sudo tail /var/log/nginx/error.log

Ricorda, se hai modificato il tuo php.ini devi riavviare php5-fpm. Non è necessario riavviare nginx.

Nel mio esempio di configurazione ho abilitato l’intercettazione degli errori fastcgi. Se si verifica un errore grave (ad esempio un “impossibile ridefinire la classe xyz”), nginx può catturare questa pagina e mostrare una “bella” pagina di errore che qualcosa è andato storto. In questo modo, vengono fornite meno informazioni nel caso in cui qualcosa vada seriamente storto.

Se non ti piace questo, puoi disattivarlo.

Se php5-fpm non è in esecuzione, i tuoi file PHP non possono essere analizzati e nginx mostrerà all’utente una pagina di errore.

Bene, credo che abbiamo finito e ora sei in grado di servire PHP con il tuo nuovo server web basato su nginx. Nginx è piuttosto bello e puoi configurare molto. Se hai bisogno di riscritture, fai attenzione che nginx non funziona con i file .htaccess. Dovrai modificare le impostazioni del tuo vhost affinché le riscritture funzionino.

Share: X/Twitter LinkedIn

Ricevi i nuovi post nella tua casella di posta.

Nessuno spam. Disiscriviti in qualsiasi momento.