ho pensato che forse come-bene inviare l'intero processo ho preso per configurare fpm con piscine, come detto @ChristianM, perché non ho ancora trovato una spiegazione completa su come farlo.
La prima parte di questo è per lo più una copia di un messaggio Ask Ubuntu: https://askubuntu.com/questions/378734/how-to-configure-apache-to-run-php-as-fastcgi-on-ubuntu-12-04-via-terminal/527227#comment905702_527227
L'ultima parte è come configurare piscine, e di ottenere il vhost per utilizzare le impostazioni del pool relevent
qui va :
Installare il lavoratore apache mpm (Spiegazione di prefork/wroker ed evento a http://www.vps.net/blog/2013/04/08/apache-mpms-prefork-worker-and-event/):
sudo apt-get install apache2-mpm-worker
Installare FastCGI e PHP5-FPM:
sudo apt-get install libapache2-mod-fastcgi php5-fpm
Ora consentono mods si ha bisogno, e disattivare quelli che non lo fai:
sudo a2dismod php5 mpm_prefork
sudo a2enmod actions fastcgi alias mpm_worker
Creare il file php5.fcgi e dare il permesso di utilizzare server web esso.
sudo touch /usr/lib/cgi-bin/php5.fcgi
sudo chown -R www-data:www-data /usr/lib/cgi-bin
Creare una configurazione globale per php5-fpm
sudo nano /etc/apache2/conf-available/php5-fpm.conf
incollare il seguente (useremo un socket invece dell'indirizzo IP)
<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 -idle-timeout 3600
<Directory /usr/lib/cgi-bin>
Require all granted
</Directory>
</IfModule>
Nota: Assicurarsi che tutte le configurazioni segui la stessa sintassi 'Require all granted'/'Require all denied' ... Altrimenti sentirai il dolore dopo il riavvio ...
Attivare la conf php5-fpm
sudo a2enconf php5-fpm
Riavviare apache e FPM
sudo service apache2 restart && sudo service php5-fpm restart
Questa impostazione essenzialmente crea una configurazione FastCGI globale per PHP, che utilizza il file/etc/php5/FPM/file php.ini.
Se si dispone di più vhosts, che stanno andando ad avere bisogno di diverse configurazioni di PHP, continuare con l'esempio qui sotto
In primo luogo, all'interno della dir /etc/php5/fpm/pool.d, si trova il www di default file .conf. Copia questo, chiamandolo qualcosa relevent:
sudo cp /etc/php5/fpm/pool.d/www.conf /etc/php5/fpm/pool.d/domain2.conf
Modifica questo file, cambiando il nome del pool:
[...]
[domain2]
[...]
E cambiare il nome del socket ascoltare qualcosa relevent:
[...]
listen = /var/run/php5-fpm-domain2.sock
[...]
Poi copia il file /usr/lib/cgi-bin/php5.fcgi, ancora una volta nominandolo qualcosa di rilevante:
cp /usr/lib/cgi-bin/php5.fcgi /usr/lib/cgi-bin/php5-domain2.fcgi
Ora sei pronto per aggiungere il modulo mod_fastcgi al dominio vhost. E 'quasi la stessa di quella descritta sopra, a meno di notare i cambiamenti per 'Alias', 'FastCgiServer' e '-socket'
<VirtualHost *:80>
ServerName domain2.com
[...]
<IfModule mod_fastcgi.c>
AddHandler php5.fcgi .php
Action php5.fcgi /php5.fcgi
Alias /php5.fcgi /usr/lib/cgi-bin/php5-domain2.fcgi
FastCgiExternalServer /usr/lib/cgi-bin/php5-domain2.fcgi -socket /var/run/php5-fpm-domain2.sock -pass-header Authorization -idle-timeout 3600
<Directory /usr/lib/cgi-bin>
Require all granted
</Directory>
</IfModule>
[...]
</VirtualHost>
Riavviare apache e FPM
sudo service apache2 restart && sudo service php5-fpm restart
ora per testare le modifiche.
nel nuovo file /etc/php5/fpm/pool.d/domain2.conf, aggiungere un cambio di valore php (ho scelto il valore session.name):
[...]
php_admin_value[session.name] = 'DOMAIN2'
[...]
testare la configurazione prima di riavviare FPM:
sudo php5-fpm -t
vi dirà se la configurazione non riesce, ma soprattutto vi dirà se la configurazione va bene. Poi si può andare avanti e riavviare FPM:
sudo service php5-fpm restart
E, infine, se si vuole essere super sicuro che il valore php è stato impostato, creare info.php all'interno del tuo sito, e basta aggiungere:
<?php
phpinfo();
?>
Per quanto riguarda la mia esperienza: puoi definire configurazioni di host virtuali per vhost (chiamate 'vhost.conf' sul nostro server) anche se abbiamo 1 php.ini per l'intero server. – tvgemert