Apache mit php5-fpm installieren
Diese Anleitung wurde für Debian Wheezy geschrieben.
Voraussetzung: Frisch installierter Debian-Standardserver.
apt-get update
apt-get -y install apache2 apache2-mpm-worker apache2-utils php5 php5-fpm php5-common php5-gd php5-mysql php5-imap php5-cli libapache2-mod-fastcgi php-pear php-auth php5-mcrypt mcrypt php5-curl php5-intl php5-ming php5-ps php5-pspell php5-recode php5-snmp php5-sqlite php5-xmlrpc php5-xsl
Jetzt wird Apache noch mit php5-fpm verheiratet. Dazu das folgende File nach /etc/apache2/conf.d/ legen:
/etc/apache2/conf.d/php5-fpm
<FilesMatch ".+\.ph(p[345]?|t|tml)$">
SetHandler application/x-httpd-php
</FilesMatch>
<FilesMatch ".+\.phps$">
SetHandler application/x-httpd-php-source
Order Deny,Allow
Deny from all
</FilesMatch>
<FilesMatch "^\.ph(p[345]?|t|tml|ps)$">
Order Deny,Allow
Deny from all
</FilesMatch>
Action application/x-httpd-php /fcgi-bin/php5-fpm virtual
Alias /fcgi-bin/php5-fpm /fcgi-bin-php5-fpm
<Location /fcgi-bin/php5-fpm>
Order Deny,Allow
Deny from All
Allow from env=REDIRECT_STATUS
</Location>
FastCgiExternalServer /fcgi-bin-php5-fpm -socket /var/run/php5-fpm.sock -pass-header Authorization -idle-timeout 3600 -flush
Benötigte Apache-Module aktivieren und neu starten:
a2enmod actions fastcgi
service apache2 restart
Ein Testfile für PHP anlegen:
/var/www/test.php
<?php phpinfo(); ?>
Abschließend noch den Apache neu starten (service apache2 restart) und das Testfile im Browser aufrufen (http://dein-server.de/test.php). Die PHP-Infoseite sollte nun angezeigt werden.
Die php.ini liegt bei dieser Konfiguration in /etc/php5/fpm/php.ini. Verwendete Module dort im conf.d-Unterverzeichnis. PHP-FPM selbst wird dort in php-fpm.conf konfiguriert. Standardmäßig gibts nur einen Pool, der mit dem User www-data läuft. Dieser Pool wird in /etc/php5/fpm/pool.d/www.conf konfiguriert. In dieser Datei kann auch das Performance-Tuning von FPM erfolgen.