wheezyAnche se on è da molto tempo che è arrivata l’ultima versione stabile di Debian,  è arrivato per molti il momento di passare da Lenny a Wheezy. Se utilizzate un server web come Nginx non è consigliabile fare un dist-upgrade, ma è meglio reinstallare il sistema operativo da zero.

Nginx messo a disposizione in Wheezy, ci propone di default delle impostazioni diverse a quelle del vecchio pacchetto per Lenny, per cui sarà ben difficile non dover metter mano alla configurazione, in particolare a quella dei virtual host.

Vediamo come configurare Nginx con supporto a Mysql e a PHP mediante php-fpm (LEMP), cominciamo però dal principio.

PHP-FPM (FastCGI Process Manager) è un’alternativa all’applicazione FastCGI con alcune funzionalità aggiuntive utili per gestire le pagine scritte in PHP su siti particolarmente frequentati. E’ più comodo usare PHP-FPM anziché spawn-fcgi di lighttpd, perché non è necessario compilare nessun pacchetto nè aggiungere repository di terze parti.

Toshiba 4TB Canvio Basics Portable External Hard Drive,USB 3.2. Gen 1, Black (HDTB440EK3AA)

La prima cosa da fare, dopo aver installato il sistema operativo da zero, è aggiornare il sistema operativo con la classica sequenza di apt-get (da lanciare con l’utente root):

# apt-get update && apt-get upgrade

In seguito potrebbe essere conveniente rigenerare le chiavi ssh col comando:

# dpkg-reconfigure openssh-server

A questo punto si può installare nginx e mysql:

# apt-get install nginx mysql-server mysql-client

Poi la parte riguardante PHP5.

# apt-get install php5-cli php5-common php5-curl php5-fpm php5-gd php5-imagick php5-mcrypt php5-memcached php5-memcache php5-snmp php5-xmlrpc php5-mysql php5-imap

Infine installare il componente php-fpm:

# apt-get install php5-fpm

Aprire il file /etc/php5/fpm/php.ini e cercare la riga che contiene cgi.fix_pathinfo, togliere il punto e virgola davanti e assicurarsi che ci sia il numero zero come valore.

cgi.fix_pathinfo=0

Ricaricare il servizio php5-fpm e nginx

# /etc/init.d/php5-fpm reload

# /etc/init.d/nginx reload

Vediamo ora come creare un file di configurazione di un virtual host.

Il file può essere come il seguente:

server {
       listen 80;
       server_name www.miosito.xz miosito.xz;
       root /var/www/miosito.xz;
       access_log /var/log/nginx/miosito.xz-access.log;
       error_log /var/log/nginx/miosito.xz-error.log;

       if ($http_host != “www.miosito.xz”) {
                 rewrite ^ http://www.miosito.xz$request_uri permanent;
       }

       index index.php index.html;

       location = /favicon.ico {
                log_not_found off;
                access_log off;
       }

       location = /robots.txt {
                allow all;
                log_not_found off;
                access_log off;
       }

       # Blocca i tentativi di accedere a file nascosti come  .htaccess, .htpasswd, .DS_Store (su Mac).
       location ~ /\. {
                deny all;
                access_log off;
                log_not_found off;
       }

       location / {
                try_files $uri $uri/ /index.php?$args;
       }

       location ~ \.php$ {
                try_files $uri =404;
                include /etc/nginx/fastcgi_params;
                fastcgi_pass unix:/var/run/php5-fpm.sock;
                fastcgi_index index.php;
                fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
                fastcgi_intercept_errors on;
       }
}

Dove il nome del sito è www.miosito.xz e la cartella che contiene le pagine web è /var/www/miosito.xz

Dopo aver salvato il file di configurazione del virtual host in /etc/nginx/sites-available/miosito.xz è opportuno creare un link simbolico di questo file nella cartella /etc/nginx/sites-enabled/ in questo modo:

#ln -s /etc/nginx/sites-available/miosito.xz /etc/nginx/sites-enabled/miosito.xz

Ricaricare la configurazione di nginx.

# /etc/init.d/nginx reload

Per verificare che le impostazioni sono state inserite correttamente, basta creare un file prova.php in /var/www/miosito.xz e inserire il codice:

<?php
phpinfo();
?>

Aquesto punto inserire nel browser miosito.xz/prova.php e dovrebbe comparire una pagina contenente una tabella riepilogativa della funzionalità e caratteristiche della propria installazione di PHP.

Di valent

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *