PHP-FPM und mod_fastcgi

Dieses Thema im Forum "Installation und Konfiguration" wurde erstellt von ramsys, 24. Juni 2013.

  1. ramsys

    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?
     
  2. Till

    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.
     
  3. ramsys

    ramsys Member

    Das ging ja schnell :)

    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
    
     
  4. Till

    Till Administrator

    Hast Du denn auch ein fastcgi PHP installiert?
     
  5. ramsys

    ramsys Member

    Siehe Code vorheriger Beitrag bzw. wie im Howto beschrieben:

    Code:
    apt-get install libapache2-mod-fastcgi php5-fpm
    
    a2enmod actions fastcgi alias
    
     
  6. Till

    Till Administrator

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

    ramsys Member

    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/
    
     
  8. ramsys

    ramsys Member

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

    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.
     
  10. ramsys

    ramsys Member

    Hat noch jemand einen Hinweis, wie die korrekte Installation von PHP-FPM mit mod_fastcgi nun aussieht?
     
  11. innocenti_jr

    innocenti_jr New Member

    Darf ich fragen, warum das so ist?

    Grüße - Oliver

    PS: Vielen Dank für diese tolle Software!
     
  12. Till

    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.
     
  13. ramsys

    ramsys Member

    Wie bereits beschrieben, funktioniert der Aufruf von ISPConfig auch dann nicht: "client denied by server configuration".

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

    innocenti_jr New Member

  15. Till

    Till Administrator

    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.
     
  16. Till

    Till Administrator

    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!

    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.
     
  17. ramsys

    ramsys Member

    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!

    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?

    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/
    
     
  18. Till

    Till Administrator

    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.

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

    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.
     
  19. ramsys

    ramsys Member

    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?
     

Diese Seite empfehlen