In questa guida vedremo come installare il webserver Apache 2.4 MPM Worker con PHP-FPM direttamente dai Repository di Ubuntu 14.04.
NOTA: L’editor di testo utilizzato da me è “vi“, ma se preferite, potete utilizzare l’editor di testo che più vi aggrada.
Apache MPM Worker è un modulo ad alte prestazioni in cui vengono creati vari processi figli di Apache, ognuno dei quali può contenere più thread, che a loro volta possono servire più connessioni. Questa modalità di esecuzione utilizza un quantitativo modesto di memoria. La modalità MPM Worker, in virtù dell’utilizzo dei thread multipli, è molto adatto a sistemi multiprocessore.
PHP-FPM è un’alternativa all’implementazione PHP FastCGI con alcune caratteristiche addizionali, utile per siti con alto carico di lavoro.
Dopo questa breve introduzione, passiamo alla pratica, quindi installiamo Apache Worker MPM (Multi-Processing Module)
sudo apt-get update & sudo apt-get install apache2-mpm-worker
una volta installato troveremo tutte le configurazioni sotto il path
/etc/apache2
a questo punto installiamo il modulo FastCGI per Apache e PHP5 FPM (FastCGI Process Manager)
sudo apt-get install libapache2-mod-fastcgi php5-fpm
se non dovesse essere possibile installarli con errori simili al seguente
[...] Package libapache2-mod-fastcgi is not available, but is referred to by another package. This may mean that the package is missing, has been obsoleted, or is only available from another source E: Package 'libapache2-mod-fastcgi' has no installation candidate
verifichiamo di avere abilitato i “repository multiverse” sulla nostra Ubuntu 14.04
sudo vi /etc/apt/sources.list
aggiungendo o decommentando le seguenti linee
deb http://archive.ubuntu.com/ubuntu trusty multiverse deb http://archive.ubuntu.com/ubuntu trusty-updates multiverse deb http://archive.ubuntu.com/ubuntu trusty-security multiverse
ed eseguiamo l’update delle repo e l’installazione
sudo apt-get update & sudo apt-get install libapache2-mod-fastcgi php5-fpm
una volta installato tutto, modifichiamo il file di configurazione php5-fpm.conf
sudo vi /etc/apache2/conf-available/php5-fpm.conf
inserendo le direttive necessarie al funzionamento con Apache 2.4.X
<IfModule mod_fastcgi.c> 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 /var/run/php5-fpm.sock -pass-header Authorization <Directory /usr/lib/cgi-bin> Require all granted </Directory> </IfModule>
salviamo ed usciamo (:wq!).
A questo punto abilitiamo tutti i moduli necessari
sudo a2enmod actions fastcgi alias
e le configurazioni di PHP5 FPM
sudo a2enconf php5-fpm
ed effettuiamo il reload delle configurazioni di Apache
sudo service apache2 reload
Se tutto è stato eseguito correttamente, non dovremmo avere errori, quindi procediamo con la verifica inserendo la pagina del phpinfo
sudo vi /var/www/html/info.php
inseriamo
<?php phpinfo(); ?>
salviamo ed usciamo e da un browser accediamo al nosto file digitando
http://ip-del-server/info.php
se tutto è andato per la meglio, sotto Server API visualizzeremo FPM/FastCGI, quindi avremo terminato con successo la nostra configurazione base di Apache 2.4.X MPM Worker e PHP5-FPM.