apache2.2 mit php-fpm
Eigentlich nimmt man für sowas ja einen nginx, weil dieser von haus aus kein php modul hat schaltet man über nen socket oder port nen php dienst dahinter, da einige menschen aber einen an der waffel haben kommen Sie auf die idee das auch mit einem apache zu machen
Aber für einen Testcase musste ich das ganze nachbauen in php5.4 mit dem apache2.2, im apache2.4 schaut das ganze schon wieder anders aus :/ da man nie genug php pakete haben kann installieren wir gleich noch welche
apt-add-repository ppa:ondrej/php5-oldstable
apt-get update
aptitude install apache2 libapache2-mod-fastcgi php5-fpm php5 php5-cgi php5-common php5-curl php5-gd php5-geoip php5-imagick php5-imap php5-intl php5-ldap php5-mcrypt php5-pgsql php5-sqlite php5-xmlrpc php5-xsl php5-xmlrpc php5-xdebug php5-uuid php5-tidy php5-svn php5-sqlite php5-pgsql php5-mysql php5-memcached php5-memcache php5-mcrypt php5-ldap php5-intl php5-imap php5-imagick php5-geoip php5-gd php5-dev php5-curl php5-common php5-cli
nun noch die entsprechenden apache module aktivieren
a2enmod rewrite ssl aut* alias actions vhost_alias fastcgi
nun müssen wir noch das fastcgi modul einstellen, da es default nichts macht, man kann diese einstellungen auch für jeden vhost machen, aber wenn man nur eine php.ini hat und keine unterschiedliche, kann man diese auch zentral verwalten.
/etc/apache2/mods-enabled# cat fastcgi.conf
<ifmodule mod_fastcgi.c>
AddHandler fastcgi-script .fcgi
#FastCgiWrapper /usr/lib/apache2/suexec
FastCgiIpcDir /var/lib/apache2/fastcgi
FastCGIExternalServer /var/www/cgi-bin/php5.external -host 127.0.0.1:9000
Alias /cgi-bin/ /var/www/cgi-bin/
AddHandler php5-fcgi .php
Action php5-fcgi /cgi-bin/php5.external
<location /cgi-bin/php5.external>
Order Deny,Allow
Deny from All
Allow from env=REDIRECT_STATUS
</location>
</ifmodule>
mkdir -p /var/www/cgi-bin
nun noch die php.ini und die konfiguration unter /etc/php5/fpm/ bearbeiten und schon läuft das ganze, wichtig hier ist die konfiguration unter pool.d, welche angibt ob ein socket oder eine ip/port verbindung erstellt werden soll
listen = 127.0.0.1:9000
service apache2 restart
/etc/init.d/php-fpm restart