FastCGI Process Manager

von Thomas Lange

Wenn ihr zum Abkapseln von PHP-Umgebungen auf euren Apache-Servern Lösungen wie fcgid in Kombination mit suexec verwendet, dann kann ich euch empfehlen, euch mal den FastCGI Process Manager anzugucken.

Etwas, das ich besonders zu schätzen weiß, ist, dass man im Gegensatz zur Lösung mit fcgid und suexec über die CGI-Schnittstelle von PHP bei FPM auch einzelne Werte aus der globalen PHP-Konfigurationsdatei in den einzelnen Pool-Konfigurationen überschreiben kann. So hat man eine Konfigurationsdatei und kann dann in den speziellen Pool-Konfigurationen dynamisch Einstellungen (zum Beispiel open_basedir) überschreiben und muss nicht jedes mal die komplette PHP-Konfigurationsdatei duplizieren.

Außerdem läuft der FastCGI Process Manager als Daemon und übernimmt auch die Rechteverwaltung. Das heißt, dass man in der Apache-Konfiguration kein suexec mehr braucht, sondern dass man den Benutzer und die Gruppe, unter der PHP ausgeführt werden soll, in den einzelnen Pool-Konfigurationsdateien festlegen kann. Für jeden einzelnen Pool wird dann ein UNIX-Domain-Socket angelegt, über das man dann in der Apache-Konfiguration mit dem Proxy-Modul proxy_fcgi kommunizieren kann:

<FilesMatch \.php$>
	SetHandler "proxy:unix:/var/run/php5-fpm-hostname.tld.sock|fcgi://"
</FilesMatch>
Der Verfasser

Hi. Mein Name ist Thomas und ich bin nicht gut im Schreiben von Vorstellungen. Ich mag die IT und liebe es mit GNU\Linux zu arbeiten. Auf diesem Blog gibt es Beiträge über die verschiedensten Dinge, die mich beschäftigen oder interessieren (dieses Blogsystem ist eine Eigenentwicklung). Deine Fragen, Ergänzungen und Korrekturen zu Inhalten kannst du mir gerne per Mail mitteilen. 😊