Jump to content
Froxlor Forum
  • 0
froxlorforum@pilsgenuss.de

Rechteproblem? nach Aktivierung php-fpm

Question

Hallo allerseits,

ich verstehe ein Problem auf meinem Froxlor-Server nicht:

Das Grundsystem ist ein Debian 9.11 stable mit Apache 2.4.25, PHP 7.0.33, FPM-FCGI installiert bzw. aktiviert habe. Froxlor ist 0.9.40.1-1+jessie1 (DB: 201809280) laut Dashboard.

Ich habe mod_proxy / mod_proxy_fcgi ebenso wie libnss-extrausers aktiviert und konfiguriert (nach Anleitung, hoffe ich).

PHP-FPM ist aktiviert, PHP-FCGID ist NICHT aktiviert (lässt sich nicht aktivieren wegen aktiviertem PHP-FPM - sollte also passen).

Das System hatte ich auf PHP-FPM umgestellt, um außer der "aktiven" PHP7.0-Version auch noch PHP5 anbieten zu können. Grundsätzlich funktioniert glücklicherweise nach ein paar Anlaufproblemen auch alles, allerdings nur mit ein wenig manueller Nachhilfe (die ich - zugegeben - nicht verstehe und für die ich Nachhilfe bräuchte):

Immer, wenn der Froxlor-Cronjob durchgelaufen ist, werden die Sockets im Verzeichnis /var/lib/apache2/fastcgi mit nicht richtigen Berechtigungen/ Benutzer bzw. Gruppen angelegt. Letzteres glaube ich allerdings nicht, denn es handelt sich bei den Benutzer-/Gruppenkombinationen immer um die "richtigen" Benutzer, denen auch die jeweilige Domain zugeordnet ist (zwei Beispiele):

srw-rw---- 1 froxlorlocal froxlorlocal 0 Sep 24 23:25 1-froxlor.panel-helena.bloombox.de-php-fpm.socket
srw-rw---- 1 jens         jens         0 Sep 24 23:25 1-jens-bembel.city-php-fpm.socket

Erst wenn ich diese nun per chmod 777 umstelle, lässt sich die jeweilige Webseite aufrufen:

srwxrwxrwx 1 froxlorlocal froxlorlocal 0 Sep 24 22:44 1-froxlor.panel-helena.bloombox.de-php-fpm.socket
srwxrwxrwx 1 jens         jens         0 Sep 24 22:44 1-jens-bembel.city-php-fpm.socket

Ansonsten gibt es vom Apache:

 

Service Unavailable

The server is temporarily unable to service your request due to maintenance downtime or capacity problems. Please try again later.

Kann mir irgendjemand sagen, an welcher Stelle ich einen Fehler gemacht habe? Welche Infos werden noch benötigt? Auf Dauer ist es nervig, nach einer Korrektur in Froxlor das chmod auszuführen ... ;-)

Vielen Dank,

Jens

 

 

Share this post


Link to post
Share on other sites

17 answers to this question

Recommended Posts

  • 0

Als Ergänzung: Wenn ich das recht sehe, läuft php-fpm mit genau dem User, dem auch der Socket "gehört":

jens     10844  0.0  0.0 359520  7476 ?        S    Sep24   0:00 php-fpm: pool bembel.city

 

Und der zugehörige Logeintrag:

[Wed Sep 25 02:13:57.561954 2019] [proxy:error] [pid 11018] (13)Permission denied: AH02454: FCGI: attempt to connect to Unix domain socket /var/lib/apache2/fastcgi/1-jens-bembel.city-php-fpm.socket (*) failed

Habe nun versucht, wie hier beschrieben:

https://serverfault.com/questions/897691/php-fpm-error-503-attempt-to-connect-to-unix-domain-socket-failed

das Verzeichnis auf ein Unterverzeichnis des Apache2 "DefaultRuntimeDir" zu konfigurieren. Hat grundsätzlich geklappt, aber der Fehler ist derselbe.

In der Datei /etc/php-fpm.d/bembel.city.conf, die von Froxlor erzeugt wird, steht auch explizit Benutzer/Gruppe auf dem Benutzer und nicht etwas Benutzer:Jens/ Gruppe: www-data:

;PHP-FPM configuration for "bembel.city" created on 2019.09.25 11:38:33
[bembel.city]
listen = /var/run/apache2/fastcgi/1-jens-bembel.city-php-fpm.socket
listen.owner = jens
listen.group = jens
listen.mode = 0660
user = jens
group = jens

 

Durch manuelles Hinzufügen der Gruppe in die Datei /etc/group wird das Problem per Workaround für's Erste gelöst:

jens:x:10002:jens,www-data

Danach den Apache2 neu starten und die Fehlermeldung "Service Unavailable" ist weg ...

Das sollte natürlich nicht der Sinn der Übung sein. ?

 

Edited by froxlorforum@pilsgenuss.de
Details nachgefügt

Share this post


Link to post
Share on other sites
  • 0
On 9/25/2019 at 7:59 AM, froxlorforum@pilsgenuss.de said:

Als Ergänzung: Wenn ich das recht sehe, läuft php-fpm mit genau dem User, dem auch der Socket "gehört":

das ist ja sinn der sache :)

On 9/25/2019 at 7:59 AM, froxlorforum@pilsgenuss.de said:

In der Datei /etc/php-fpm.d/bembel.city.conf, die von Froxlor erzeugt wird, steht auch explizit Benutzer/Gruppe auf dem Benutzer und nicht etwas Benutzer:Jens/ Gruppe: www-data:

ja das ist korrekt so

On 9/25/2019 at 7:59 AM, froxlorforum@pilsgenuss.de said:

Durch manuelles Hinzufügen der Gruppe in die Datei /etc/group wird das Problem per Workaround für's Erste gelöst:

in /etc/group hat das schonmal gar nix verloren. Ich dachte du nutzt libnss-extrausers? Es sollte auch der webserver-user (www-data) in der Gruppe des Customers sein, das regelt froxlor, siehe dazu /var/lib/extrausers/group - oder überprüfe in den froxlor einstellungen ob du da auch www-data als Webserver-Benutzer angegeben hast (ist default!)

Share this post


Link to post
Share on other sites
  • 0

Erst einmal vielen Dank für die Antwort. Und ja, ich gebe zu, ich hatte dann ein paar Dinge als eigene Antwort reingeschrieben, die ich zum einen in der ersten Runde vergessen hatte, zum anderen der Nachvollziehbarkeit halber für wichtig hielt.

 

Ja, ich nutze libnss-extrausers (sonst funktioniert php-fpm nicht wie gewünscht, wenn ich das richtig verstanden habe). Und auch die Dateien existieren im Verzeichnis /var/lib/extrausers.

Aber in der group-Datei steht bei keiner Gruppe "www-data" dabei. Hier die Gruppe "jens" aus dem Beispiel oben:

jens:x:10002:jens,froxlorlocal,froxlorlocal

Unter "Einstellungen" - "Webservereinstellungen" ist "www-data" als Benutzer und Gruppe definiert. Insofern ist mir nicht klar, warum dies nicht verwendet wird.

Was wäre denn noch zu prüfen?! Ich weiß nach 3 Abenden leider nicht mehr weiter ... 

 

Share this post


Link to post
Share on other sites
  • 0
2 minutes ago, froxlorforum@pilsgenuss.de said:

jens:x:10002:jens,froxlorlocal,froxlorlocal

Da steht zweimal froxlorlocal, eines davon muss der Webserver User sein, muss also in deinen Einstellungen irgendwo froxlorlocal drin stehen wo www-data reingehört

Share this post


Link to post
Share on other sites
  • 0
Gerade eben schrieb d00p:

Da steht zweimal froxlorlocal, eines davon muss der Webserver User sein, muss also in deinen Einstellungen irgendwo froxlorlocal drin stehen wo www-data reingehört

OK. Dann suche ich mal. ?

Bei den Froxlor-VHost-Einstellungen steht es drin. Aber das sollte ja nicht zusammenhängen:

    "phpfpm.vhost_httpuser": "froxlorlocal",
    "phpfpm.vhost_httpgroup": "www-data",

Das hier sollte nicht relevant sein:

    "system.mod_fcgid_httpuser": "froxlorlocal",
    "system.mod_fcgid_httpgroup": "froxlorlocal",

Das sind alle Vorkommen von "froxlorlocal" im Download des JSON-Modells der Einstellungen.
 

Share this post


Link to post
Share on other sites
  • 0

Könnte es sein, dass "mein Froxlor" schon zu alt ist oder anders: Hätte ich die Einstellungen jedes Mal nach einem Upgrade neu machen müssen (habe schon grob kontrolliert, ob sich da was geändert hat)? Sicher bin ich mir nicht, aber ich hatte Debian irgendwann hochgezogen von 8 auf 9 und dadurch (oder war es schon vorher von 7 auf 8 - müsste ich nachsehen) wurde auch der Apache umgestellt. Die Einstellungen hatte ich mir angesehen.

Die Umstellung auf php-fpm hatte ich erst vor kurzem vorgenommen, was bedingt gut geklappt hat. Und in diesem Zusammenhang kam auch erst libnss-extrausers dazu ...

Share this post


Link to post
Share on other sites
  • 0
14 minutes ago, froxlorforum@pilsgenuss.de said:

    "phpfpm.vhost_httpuser": "froxlorlocal",     "phpfpm.vhost_httpgroup": "www-data",

Da Ist dein Fehler ;)

Share this post


Link to post
Share on other sites
  • 0
vor 2 Minuten schrieb d00p:

Da Ist dein Fehler ;)

hmm. Verflixt. Ich verstehe - zumindest jetzt. Da stand zunächst in beiden Feldern "froxlorlocal" drin. Damit lief es nicht (klar). Also dachte ich, ich bin schlau und schreibe den www-data in die Gruppe.

 

Aber: ich habe das alles unter dieser Überschrift verstanden:

Verwende PHP-FPM im Froxlor-Vhost
Wenn verwendet, wird Froxlor selbst unter einem lokalen Benutzer ausgeführt
Lokaler Benutzer für PHP-FPM (Froxlor-Vhost)
Lokale Gruppe für PHP-FPM (Froxlor-Vhost)
 

Ich dachte, damit steuere ich ausschließlich den Froxlor-Vhost. Nicht funktioniert haben aber alle anderen VHosts ... Deswegen kam ich nicht drauf. ?

Nun kassiere ich allerdings im Froxlor-Panel mehrere Fehler:

PHP warning/error
#2 Unknown: open(/var/customers/tmp/froxlor.panel//sess_5721bcf8d802872cb9fd52789b0eb54a, O_RDWR) failed: Permission denied (13)

Unknown:0

Muss ich mir ansehen ... 

Share this post


Link to post
Share on other sites
  • 0

Ne halt jetzt, also lokaler user ist natürlich "froxlorlocal", genau wie auch group. Aber dennoch musst du irgendwo froxlor-local reingeschrieben haben wo der webserver user hingehört, dump doch einfach mal die panel_settings wo in der value überall froxlorlocal drinsteht

Share this post


Link to post
Share on other sites
  • 0
vor 16 Minuten schrieb d00p:

Ne halt jetzt, also lokaler user ist natürlich "froxlorlocal", genau wie auch group. Aber dennoch musst du irgendwo froxlor-local reingeschrieben haben wo der webserver user hingehört, dump doch einfach mal die panel_settings wo in der value überall froxlorlocal drinsteht

ok ... aber: Das hatte ich doch schon gemacht, oder? Das waren vorher genau die drei Zeilen, die ich aus dem Menüpunkt "Einstellungen" "Import/Export" heruntergeladen habe. Da erzeugt Froxlor eine Datei Froxlor_settings-0.9.40.1-201809280_26.09.2019.json und in der habe ich nach "froxlorlocal" gesucht. Aktuell sind es diese Zeilen hier, nachdem ich das wieder zurück korrigiert habe:

    "phpfpm.vhost_httpuser": "froxlorlocal",
    "phpfpm.vhost_httpgroup": "froxlorlocal",
    "system.mod_fcgid_httpuser": "froxlorlocal",
    "system.mod_fcgid_httpgroup": "froxlorlocal",

Das entspricht exakt dem, was auch in der panel_settings steht:

 
Vollständige Texte settingid settinggroup varname value
Bearbeiten Bearbeiten Kopieren Kopieren Löschen Löschen 67 phpfpm vhost_httpuser froxlorlocal
Bearbeiten Bearbeiten Kopieren Kopieren Löschen Löschen 68 phpfpm vhost_httpgroup froxlorlocal
Bearbeiten Bearbeiten Kopieren Kopieren Löschen Löschen 146 system mod_fcgid_httpuser froxlorlocal
Bearbeiten Bearbeiten Kopieren Kopieren Löschen Löschen 147 system mod_fcgid_httpgroup froxlorlocal


Oder stehe ich nun völlig auf dem Schlauch/ verstehe Deine Hinweise nicht?

Danke!

Share this post


Link to post
Share on other sites
  • 0
+-----------+--------------+-----------------+----------+
| settingid | settinggroup | varname         | value    |
+-----------+--------------+-----------------+----------+
|        67 | phpfpm       | vhost_httpuser  | froxlor  |
|        68 | phpfpm       | vhost_httpgroup | froxlor  |
|       115 | system       | httpuser        | www-data |
|       116 | system       | httpgroup       | www-data |
+-----------+--------------+-----------------+----------+

So müsste das aussehen (bei dir 'froxlorlocal' statt wie bei mir 'froxlor')

Share this post


Link to post
Share on other sites
  • 0
vor 15 Minuten schrieb d00p:

+-----------+--------------+-----------------+----------+
| settingid | settinggroup | varname         | value    |
+-----------+--------------+-----------------+----------+
|        67 | phpfpm       | vhost_httpuser  | froxlor  |
|        68 | phpfpm       | vhost_httpgroup | froxlor  |
|       115 | system       | httpuser        | www-data |
|       116 | system       | httpgroup       | www-data |
+-----------+--------------+-----------------+----------+

So müsste das aussehen (bei dir 'froxlorlocal' statt wie bei mir 'froxlor')

OK, verstehe. Aber was doch schon bei mir falsch ist: Der "varname" ist nicht httpuser, sondern mod_fcgid_httpuser! Das bedeutet doch vermutlich, dass ich irgendwo eine Checkbox falsch gesetzt habe ..

Grundsätzlich habe ich ja genau den httpuser richtig:

    "system.httpuser": "www-data",
    "system.httpgroup": "www-data",

Kann es sein, dass hier fälschlich "froxlorlocal" aus dem fcgid gezogen wird? Editieren kann ich das Feld ja nicht ...

Share this post


Link to post
Share on other sites
  • 0

Naja, mod_fcgid_httpuser hab ich schon auch, das ist eine ganz andere setting. Achtung, ändere jetzt nix manuell in der Datenbank, du machst dir alles Kaputt. Schau doch einfach was bei dir unte dem besagten Varname als value steht

Share this post


Link to post
Share on other sites
  • 0
3 minutes ago, froxlorforum@pilsgenuss.de said:

Anders rum: Kann ich über die Datenbank die beiden Einträge korrigieren - auf www-data?


    "system.mod_fcgid_httpuser": "froxlorlocal",
    "system.mod_fcgid_httpgroup": "froxlorlocal",

Ich trau mich mal. Moment.

nochmal, das sind die FCGID configs, die werden genau nix bewirken...und spiel bitte nicht manuell in der DB rum, das kann nur schiefgehen

Share this post


Link to post
Share on other sites
  • 0
vor 1 Minute schrieb d00p:

nochmal, das sind die FCGID configs, die werden genau nix bewirken...und spiel bitte nicht manuell in der DB rum, das kann nur schiefgehen

ok. ? aber sonst gibt es definitiv kein "froxlorlocal". Bzw. schon, in ftp_groups:

Suchergebnisse für "froxlorlocal" mindestens eines der Wörter:
0 Treffer in cronjobs_run    
0 Treffer in domain_dns_entries    
0 Treffer in domain_redirect_codes    
0 Treffer in domain_ssl_settings    
4 Treffer in ftp_groups Anzeigen Löschen
0 Treffer in ftp_quotalimits    
0 Treffer in ftp_quotatallies    
0 Treffer in ftp_users    
0 Treffer in mail_users    
0 Treffer in mail_virtual    
0 Treffer in panel_activation    
0 Treffer in panel_admins    
0 Treffer in panel_customers    
0 Treffer in panel_databases    
0 Treffer in panel_diskspace    
0 Treffer in panel_diskspace_admins    
0 Treffer in panel_domains    
0 Treffer in panel_domaintoip    
0 Treffer in panel_fpmdaemons    
0 Treffer in panel_htaccess    
0 Treffer in panel_htpasswds    
0 Treffer in panel_ipsandports    
0 Treffer in panel_languages    
0 Treffer in panel_phpconfigs    
0 Treffer in panel_plans    
0 Treffer in panel_sessions    
4 Treffer in panel_settings Anzeigen Löschen
0 Treffer in panel_syslog    
0 Treffer in panel_tasks    
0 Treffer in panel_templates    
0 Treffer in panel_ticket_categories    
0 Treffer in panel_tickets    
0 Treffer in panel_traffic    
0 Treffer in panel_traffic_admins    
0 Treffer in redirect_codes    

Insgesamt 8 Treffer

 

 

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now





×
×
  • Create New...