Jump to content
Froxlor Forum
  • 0

Permission denied auf socket File, Datei ist aber da


neomatt

Question

Wir nutzen froxlor mit nginx, php7.0 und php-fcgi.

Ich habe immer nach dem Neustart unseres Servers folgende Probleme, die vermutlich an einem falschen Zusammenspiel der Konfigurationen liegen:

1. Beim Starten des Service php7.0-fpm:

root@vps222149:/etc/nginx# service php7.0-fpm status
● php7.0-fpm.service - The PHP 7.0 FastCGI Process Manager
   Loaded: loaded (/lib/systemd/system/php7.0-fpm.service; enabled; vendor preset: enabled)
   Active: active (running) since Tue 2020-09-01 18:37:22 CEST; 42s ago
     Docs: man:php-fpm7.0(8)
  Process: 12692 ExecStopPost=/usr/bin/update-alternatives --quiet --remove php-fpm.sock /run/php/php7.0-fpm.sock (code=exited, status=0/SUCCESS)
  Process: 12727 ExecStartPost=/usr/bin/update-alternatives --quiet --install /run/php/php-fpm.sock php-fpm.sock /run/php/php7.0-fpm.sock 70 (code=exited, status=2)
 Main PID: 12693 (php-fpm7.0)
   Status: "Processes active: 0, idle: 33, Requests: 2, slow: 0, Traffic: 0req/sec"
   CGroup: /system.slice/php7.0-fpm.service
           ├─12693 php-fpm: master process (/etc/php/7.0/fpm/php-fpm.conf)
           ├─12694 php-fpm: pool 9quests.com

Dies kann ich lösen, in dem ich von Hand eine www.conf-Datei in /etc/php/7.0/fpm/pool.d lege, die

listen = /run/php/php7.0-fpm.sock

enthält. Das wird aber wohl nicht der richtige Weg sein...

2. Mir wird aktuell auf allen seiten ein 502 aus dem nginx angezeigt und im nginx-error-log aller customer steht:

2020/09/01 18:44:01 [crit] 14736#14736: *23 connect() to unix:/run/php/1-neomatt-neomatt.de-php-fpm.socket failed (13: Permission denied) while connecting to upstream, client: 89.163.140.15, server: neomatt.de, request: "HEAD / HTTP/1.1", upstream: "fastcgi://unix:/run/php/1-neomatt-neomatt.de-php-fpm.socket:", host: "neomatt.de"

Nun ist /run/php/1-neomatt-neomatt.de-php-fpm.socket aber vorhanden und für den user www-data sichtbar:

> namei -l /run/php/1-neomatt-neomatt.de-php-fpm.socket
f: /run/php/1-neomatt-neomatt.de-php-fpm.socket
drwxr-xr-x root     root     /
drwxr-xr-x root     root     run
drwxr-xr-x www-data www-data php
srw-rw---- neomatt  neomatt  1-neomatt-neomatt.de-php-fpm.socket

Die Dienste php-fcgi, php7.0-fpm und nginx starten ohne Fehlermeldungen.

Die Konfiguration ist seit einem notwendigem Update von PHP5 auf PHP7 irgendwie nicht ok. Was kann hier falsch sein?

 

 

Link to comment
Share on other sites

Recommended Posts

  • 0

Hallo,

ich nutze Froxlor bereits seit einigen Jahren und hatte nie größere Schwierigkeiten. Alle bisherigen "kleinigkeiten" konnte ich entweder selbst lösen oder fand relativ schnell eine Lösung. Nun stehe ich seit ein paar Tagen jedoch vor einem größeren Problem, die bestehenden Lösungsansätze halfen alle nicht. Ich habe inzwischen den Server sogar komplett neu installiert und von Apache2 auf nginx (auch nicht zum ersten mal) gewechselt, ohne veränderung. Alles funktioniert außer PHP.

Debian 12 (Linux 6.1.0-17-amd64), PHP 8.2 FPM, nginx 1.22.1, Froxlor in der aktuellsten Version 2.1.4

Fehlermeldung in "kunden"-error.log:
 

2024/01/15 12:16:12 [crit] connect() to unix:/var/run/nginx/*Kunde*-*****.de-php-fpm.socket failed (13: Permission denied) while connecting to upstream, client: *****, server: *****.de, request: "GET /.index.php HTTP/1.1", upstream: "fastcgi://unix:/var/run/nginx/*Kunde*-*****-php-fpm.socket:", host: "*****"
ls -al /var/run/nginx
total 0
drwxr-xr-x  2 www-data     www-data     160 Jan 15 12:16 .
drwxr-xr-x 27 root         root         960 Jan 15 12:16 ..
srw-rw----  1 *Test*       *Test*         0 Jan 15 12:16 *Test*-*****.de-php-fpm.socket
srw-rw----  1 *Kunde*       *Kunde*         0 Jan 15 12:16 *Kunde*-*****.de-php-fpm.socket
srw-rw----  1 froxlorlocal froxlorlocal   0 Jan 15 12:16 1-froxlor.panel-*****.de-php-fpm.socket

Die Fehlermeldung ist relativ eindeutig, jedoch alle bisherigen Versuche das Problem zu beheben führten nicht zum erfolg.

ls -al /var/lib/extrausers/
total 20
drwxr-xr-x  2 root root 4096 Jan 15 12:19 .
drwxr-xr-x 28 root root 4096 Jan 12 15:05 ..
-rw-r--r--  1 root root  175 Jan 12 16:05 group
-rw-r--r--  1 root root  420 Jan 12 16:05 passwd
-rw-r-----  1 root root  450 Jan 12 16:05 shadow

Die Dateien sind entsprechend der Froxlor Konfiguration auch mit den entsprechenden *Kunden* gefüllt.

id www-data
uid=33(www-data) gid=33(www-data) groups=33(www-data),2001(froxlorlocal)
getent group *Kunde*
*Kunde*:x:10003:*Kunde*,froxlorlocal

Ein "usermod -a -G www-data *Kunde*" und "usermod -a -G *Kunde* www-data" brachte leider keine Änderung.

Außer beim Froxlor Panel funktioniert PHP nicht, reines HTML ist kein Problem.

Keine Fehlermeldungen in der PHP8.2-fpm.log:

[15-Jan-2024 12:16:09] NOTICE: Terminating ...
[15-Jan-2024 12:16:09] NOTICE: exiting, bye-bye!
[15-Jan-2024 12:16:10] NOTICE: fpm is running, pid 103584
[15-Jan-2024 12:16:10] NOTICE: ready to handle connections
[15-Jan-2024 12:16:10] NOTICE: systemd monitor interval set to 10000ms

 

Was mich enorm wundert ist, dass auch nach einer Neuinstallation der Fehler sofort wieder da ist noch bevor ich irgendetwas "spezielles" konfiguriert habe. Über "neue" Lösungsansätze wäre ich sehr dankbar.

Link to comment
Share on other sites

  • 0
25 minutes ago, No Name said:

Ein "usermod -a -G www-data *Kunde*" und "usermod -a -G *Kunde* www-data" brachte leider keine Änderung.

nicht manuell an permissions rumspielen...

Läuft der nginx dienst denn auch unter "www-data"?

27 minutes ago, No Name said:
getent group *Kunde*
*Kunde*:x:10003:*Kunde*,froxlorlocal

da fehlt der www-data, das trägt froxlor eigentlich in die ftp_groups tabelle ein für jeden user

Link to comment
Share on other sites

  • 0
Gerade eben schrieb d00p:

nicht manuell an permissions rumspielen...

Ja, normalerweise lasse ich das auch Froxlor regeln. Dies war eine der möglichen Lösungsansätze die ich erfolglos probiert hatte.

Gerade eben schrieb d00p:

Läuft der nginx dienst denn auch unter "www-data"?

da fehlt der www-data, das trägt froxlor eigentlich in die ftp_groups tabelle ein für jeden user

Ja, ich hatte den nginx Dienst testweise auch mal auf froxlorlocal gestellt. Leider ebenfalls ohne andneres Ergebnis.

Was kann die Ursache sein das froxlor dies dieses mal nicht getan hat?

 

Und Danke für deine Hilfe!

 

Link to comment
Share on other sites

  • 0
Just now, No Name said:

Ja, ich hatte den nginx Dienst testweise auch mal auf froxlorlocal gestellt. Leider ebenfalls ohne andneres Ergebnis.

um gottes willen, mach doch so sachen nicht....

Just now, No Name said:

Was kann die Ursache sein das froxlor dies dieses mal nicht getan hat?

Froxlor macht das was in den Einstellungen steht, schau doch in deinen webserver settings mal nach was du da als Webserver user-name/group-name angegeben hast, das sollte www-data sein und dann prüfe in den froxlor vhost settings das für "Local user to use for PHP-FPM (Froxlor vHost)" (und natürlich auch gruppe) dein "froxlorlocal" user angegeben ist (wenn der so heisst)

Link to comment
Share on other sites

  • 0
vor 1 Minute schrieb d00p:

Froxlor macht das was in den Einstellungen steht, schau doch in deinen webserver settings mal nach was du da als Webserver user-name/group-name angegeben hast, das sollte www-data sein und dann prüfe in den froxlor vhost settings das für "Local user to use for PHP-FPM (Froxlor vHost)" (und natürlich auch gruppe) dein "froxlorlocal" user angegeben ist (wenn der so heisst)

Dort stand "froxlorlocal", darauf habe ich nicht geachtet, ich erinnere mich nicht das aktiv geändert zu haben. In den Webserver Settings steht jetzt www-data als user und group und in den VHost Settings steht unverändert weiter "froxlorlocal".

Leider habe ich weiterhin ein "13: Permission denied" auf der entsprechenden socket Datei.

Auch wenn dies nun besser aussieht:

getent group *Kunde*
*Kunde*:x:10003:*Kunde*,www-data

id www-data
uid=33(www-data) gid=33(www-data) groups=33(www-data),2001(froxlorlocal),10000(Test),10001(Test2),10002(Test3),10003(*Kunde*)

 

Link to comment
Share on other sites

  • 0
vor 4 Minuten schrieb d00p:

na lief denn der cronjob auch schon? Zur not mal forcieren (damit er die extrausers neu schreibt): `bin/froxlor-cli froxlor:cron -fd`

Leider ja, der cronjob ist schon durch.

Link to comment
Share on other sites

  • 0
vor 7 Minuten schrieb d00p:

dann schau doch mal bitte wie die einträge in der ftp_groups tabelle aussehen bevor wir hier ewig rumsuchen

 

(1, '*Test*', 10000, '*Test*,www-data', 1),
(2, '*Test*', 10001, '*Test*,www-data', 2),
(3, '*Test*', 10002, '*Test*,www-data', 3),
(4, '*Kunde*', 10003, '*Kunde*,www-data', 4);

 

Link to comment
Share on other sites

  • 0

mach mal ein nginx restart (nicht reload). Das sieht doch eigentlich alles okay aus. Ansonsten komm uns doch bitte im Discord besuchen, da ist der austausch etwas zügiger und wir können uns das mal anschauen

Link to comment
Share on other sites

  • 0
vor 6 Minuten schrieb d00p:

Okay, was wars denn jetzt?

Ich habe ehrlich keine Ahnung, ich habe deinen Key hinzugefügt und kurze Zeit später ging plötzlich alles. Ich habe nichts weiter mehr gemacht, das System hatte wohl Angst vor dir.

  • Haha 1
Link to comment
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...