PHP-FPM und mod_fastcgi

ramsys

Member
Auf einem Server soll ausschließlich PHP-FPM eingesetzt werden. Dafür ist das Apache Modul mod_fastcgi statt mod-fcgid notwendig. Die Installation ist daher wie folgt geändert, der Rest entspricht The Perfect Server - Debian Wheezy (Apache2, BIND, Dovecot, ISPConfig 3) | HowtoForge - Linux Howtos and Tutorials:

Code:
apache2 apache2.2-common apache2-doc apache2-mpm-worker apache2-utils libexpat1 ssl-cert php5 php5-common php5-gd php5-imap libapache2-mod-fastcgi php5-fpm apache2-suexec php-pear php-auth php5-curl

Damit funktioniert dann aber ISPConfig nicht mehr (403 - Forbidden). Welche Einstellung wäre hierfür richtig?
 

Till

Administrator
ISPConfig benötigt mod-fcgid, da es nicht per FPM läuft. Du musst also wie im perfect setup beschrieben beide mod's installieren.
 

ramsys

Member
Das ging ja schnell :)

ISPConfig benötigt mod-fcgid, da es nicht per FPM läuft. Du musst also wie im perfect setup beschrieben beide mod's installieren.

Das hatte ich auch schon probiert, ebenfalls ohne Erfolg:

Code:
apache2 apache2.2-common apache2-doc apache2-mpm-worker apache2-utils libexpat1 ssl-cert php5 php5-common php5-gd php5-imap php5-cgi libapache2-mod-fastcgi libapache2-mod-fcgid php5-fpm apache2-suexec php-pear php-auth php5-curl
 

ramsys

Member
Und was genau steht im apache error.log bzgl. des 403 Fehlers?

Ich habe gerade einen komplett neuen Server nach dem Howto installiert (Wheezy). Lediglich zusätzlich zu libapache2-mod-fcgid und php5-cgi wie empfohlen noch libapache2-mod-fastcgi und php5-fpm. Außerdem wurden libapache2-mod-php5 und libapache2-mod-suphp entfernt sowie apache2-mpm-prefork gegen apache2-mpm-worker ausgetauscht.

Im error.log steht:

Code:
[Tue Jun 25 12:25:09 2013] [error] [client xxx.xxx.xxx.xxx] client denied by server configuration: /var/www/, referer: http://sub.domain.tld:8080/
 

ramsys

Member
Ansonsten bei der Installation keinerlei Fehler. Nur ein Abhängigkeitsfehler, der mit "Remove libgd2-noxpm" übernommen wurde.
 

ramsys

Member
Wenn ich nun libapache2-mod-php5 und libapache2-mod-suphp wieder hinzu nehme und den Abhängigkeitsfehler auflöse und apache2-mpm-worker entferne und dafür apache2-mpm-prefork installiere, funktioniert der Login in ISPConfig 3 wie erwartet ohne Probleme.

PS Noch ergänzend zum vorherigen Test: Beim Aufruf von ISPConfig ohne SSL kommt "Bad Request" mit dem korrekten Link zur HTTPS URL. Dieser führt dann zum 403 Fehler.
 

Till

Administrator

Weil es für fastcgi programmiert wurde und fpm nicht implementiert ist. Die Systemvorussetzungen für ISPConfig sind in den perfect setup guides festgelegt, d.h alle dort gelisteten Pakete werden benötigt. Du kannst natürlich nach belieben Pakete weglassen, das wird dann aber zu mehr oder weniger Fehlfunktionen führen oder wie in Deinem Fall dass Du das ISPConfig Interface nicht mehr aufrufen kannst.
 

Till

Administrator
Lediglich mit libapache2-mod-php5, was ja gerade nicht installiert werden soll und hier auch nicht als Voraussetzung genannt wurde.

Das steht aber im perfect setup als Systemvoarussetzung drin.

Wie ich oben geschrieben habe, wenn Du Pakete weg lässt die im perfect setup stehen dann kann es sein dass etwas nicht geht. Ich installiere Server nach perfect setup täglich und sie funktionieren immer, d.H. in den perfect setups die auf ispconfig.org unter Dokumentation gelistet sind fehlt nichts. Du kannst Dein setup natürlich individuell anpassen und Pakete weglassem, dann musst Du aber unter Umständen apache, php und andere Config Dateien manuell erstellen oder ändern.

Schau halt mal in das apache error.log was dort genau an Fehlern drin steht.
 

Till

Administrator
(Es ist leicht OT, weil es hier eigentlich um den Apachen geht.)
Wenn ich mir
The Perfect Server - Debian Wheezy (nginx, BIND, Dovecot, ISPConfig 3) | HowtoForge - Linux Howtos and Tutorials
durchlese, sollte doch die Kombi aus nginx und php-fpm mit ISPConfig funktionieren. Habe ich Tomaten auf den Augen? :eek:
Und wenn das der Fall ist: Warum sollte es nicht mit Apache klappen?

Das ist was anderes, ich habe mich auf apache bezogen da es in dem Thread darum geht. Daher bitte nicht andere Themen in laufende Threads posten!

Warum sollte es nicht mit Apache klappen?

Weil es ein ganz anderes setup ist. nginx ist kein 1zu1 Ersatz für apache, schau Dir mal die config Syntax, vorhandene Module etc. an, dann siehst Du dass Du nicht einfach eine apache Config unter nginx einsetzen kannst.
 

ramsys

Member
Ich installiere Server nach perfect setup täglich und sie funktionieren immer, d.H. in den perfect setups die auf ispconfig.org unter Dokumentation gelistet sind fehlt nichts.

Ja, das funktioniert ja auch alles einwandfrei. Im konkreten Fall sollte nur libapache2-mod-php5 und libapache2-mod-suphp nicht installiert werden. Weil es zum einen nicht benötigt wird. Vor allem aber, weil sonst zwingend apache2-mpm-prefork voraussetzt wird und die Installation von apache2-mpm-worker damit nicht möglich ist!

ISPConfig benötigt mod-fcgid, da es nicht per FPM läuft. Du musst also wie im perfect setup beschrieben beide mod's installieren.

Wenn bereits mod-fastcgi und mod-fcgid installiert sind: Warum benötigt dann aber ISPConfig noch zusätzlich unbedingt libapache2-mod-php5 :confused:

Kann man das eventuell durch eine manuelle Konfiguration ändern?

Wie kann apache2-mpm-worker installiert werden?

Schau halt mal in das apache error.log was dort genau an Fehlern drin steht.

Hatte ich bereits in #7 und #13 gepostet. Dort steht lediglich "client denied by server configuration":

Code:
[Tue Jun 25 12:25:09 2013] [error] [client xxx.xxx.xxx.xxx] client denied by server configuration: /var/www/, referer: http://sub.domain.tld:8080/
 

Till

Administrator
Wenn bereits mod-fastcgi und mod-fcgid installiert sind: Warum benötigt dann aber ISPConfig noch zusätzlich unbedingt libapache2-mod-php5

Ich kann Dir nur sagen dass das "Gesamtpaket" funktioniert wie es im perfect setup steht, welche Abhängigkeiten einzelne Module oder andere apache mpm's auf das Gesamtsystem haben müsste man im Einzelfall austesetn und ggf. eine separate Konfiguration dafür entwickeln.

Kann man das eventuell durch eine manuelle Konfiguration ändern?

Das geht sicherlich, das ispconfig Interface ist im weitesten Sinne ja auch nur eine Webseite, wenn es auch ein paar zusätzliche Sicherheitsanforderungen hat.

Wie kann apache2-mpm-worker installiert werden?

Ich habe ISPConfig noch nicht mit mpm_worker getestet, in den perfect setups nehmen wir ja prefork. Vielleicht funktioniert worker nicht richtig mit suexec und daher erhältst Du einen forbidden Fehler oder mod_fcgi oder fasttcgi ist zwar installiert aber nicht aktiviert.
 

ramsys

Member
Ich habe ISPConfig noch nicht mit mpm_worker getestet, in den perfect setups nehmen wir ja prefork. Vielleicht funktioniert worker nicht richtig mit suexec und daher erhältst Du einen forbidden Fehler oder mod_fcgi oder fasttcgi ist zwar installiert aber nicht aktiviert.

Ich habe mal verschiedene Konstellationen getestet. Wie es aussieht funktioniert ISPConfig an sich nur exakt mit der Konfiguration wie im Howto beschrieben.

In einer Multiserver-Umgebung scheint aber auch folgendes Setup zu funktionieren:

Server 1: Nur Control-Panel

Installation wie im Howto beschrieben, jedoch ohne mod-suphp.

Server 2: Nur Webserver

Installation wie im Howto beschrieben, jedoch ohne mod-php5 und ohne mod-suphp. Statt mod-fcgid/php5-cgi dafür mod-fastcgi/php5-fpm und mpm-prefork gegen mpm-worker ausgetauscht.

Spricht etwas bisher nicht Bedachtes dagegen? Gibt es eine bessere Alternative?
 

Werbung

Top