Jump to content
Froxlor Forum
  • 0

Permission denied auf socket File, Datei ist aber da


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 post
Share on other sites

25 answers to this question

Recommended Posts

  • 0

Eine www.conf sollte gar nicht nötig sein wenn dort auch die von froxlor erstellten configs liegen. Ist das nicht der Fall stimmen deine settings nicht und ggfls werden die Pool configs an einem falschen Ort angelegt. Überprüfe deine fpm Daemon settings.

Bzgl der Berechtigungen, Stelle sicher, dass libnss-extrausers (empfohlen) oder libnss-mysql korrekt eingerichtet ist und funktioniert und das ein "id www-data" die Gruppen Zugehörigkeit zu den Kunden ausgibt.

Link to post
Share on other sites
  • 0

Ich habe nun im froxlor ui die PHP7 Pfade angepasst:

grafik.thumb.png.0288f7532147d7bd584c7b152a36a81f.png

Vermutlich falsch. Wenn ich die Config schreibe ist das Verzeichnis /etc/php/7.0/fpm leer und ich komme noch nicht mal mehr an das froxlor UI ran.

Wie müssen die Einstellungen hier sein?

Link to post
Share on other sites
  • 0

Alias-Ordner ist NICHT der ordner wo die pool-configs reinkommen, setz das einfach auf den default: /var/www/php-fpm/, ebenso das FastCGI IPC Verzeichnis, lass es einfach auf default: /var/lib/apache2/fastcgi/

Link to post
Share on other sites
  • 0

Der Ordner für die poolconfigs wird nicht in den PHP-FPM System-Einstellungen vorgenommen, sondern links im Menü unterhalb von "PHP-FPM Versionen"

Link to post
Share on other sites
  • 0

Habe nun die Konfig komplett auf PHP7 umgestellt. Erhalte nun nach restart einen zusätzlichen Fehler:

Unable to load dynamic library '/usr/lib/php/20151012/my
 

root@vps222149:/etc/php# 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 21:10:10 CEST; 6s ago
     Docs: man:php-fpm7.0(8)
  Process: 32486 ExecStopPost=/usr/bin/update-alternatives --quiet --remove php-fpm.sock /run/php/php7.0-fpm.sock (code=exited, status=0/SUCCESS)
  Process: 32597 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: 32487 (php-fpm7.0)
   Status: "Ready to handle connections"
   CGroup: /system.slice/php7.0-fpm.service
           ├─32487 php-fpm: master process (/etc/php/7.0/fpm/php-fpm.conf)
           ├─32488 php-fpm: pool 9quests.com
           ├─32489 php-fpm: pool 9quests.de
           ├─32490 php-fpm: pool a-i-l.net
           ├─32491 php-fpm: pool all-i-love.com
           ├─32492 php-fpm: pool allilove.222149.vs.webtropia.com
           ├─32493 php-fpm: pool eickeler-fotostudio.de
           ├─32494 php-fpm: pool fotostudio.server.neomatt.de
           ├─32495 php-fpm: pool home.spotterbee.com
           ├─32496 php-fpm: pool itest.qmeet.me
           ├─32499 php-fpm: pool learnquests.com
           ├─32504 php-fpm: pool learnquests.server.neomatt.de
           ├─32506 php-fpm: pool locodoro.de
           ├─32509 php-fpm: pool locodoro.server.neomatt.de
           ├─32518 php-fpm: pool mail.neomatt.de
           ├─32520 php-fpm: pool neomatt.com
           ├─32521 php-fpm: pool neomatt.de
           ├─32528 php-fpm: pool neomatt.server.neomatt.de
           ├─32530 php-fpm: pool ninequests.de
           ├─32533 php-fpm: pool ninequests.server.neomatt.de
           ├─32539 php-fpm: pool oodra.222149.vs.webtropia.com
           ├─32542 php-fpm: pool oodra.com
           ├─32547 php-fpm: pool oodra.de
           ├─32549 php-fpm: pool openquests.de
           ├─32552 php-fpm: pool qmeet.me
           ├─32557 php-fpm: pool qmeetme.server.neomatt.de
           ├─32559 php-fpm: pool server.neomatt.de
           ├─32566 php-fpm: pool spotterbee.222149.vs.webtropia.com
           ├─32571 php-fpm: pool spotterbee.com
           ├─32574 php-fpm: pool stats.neomatt.de
           ├─32581 php-fpm: pool vrdoro.com
           ├─32585 php-fpm: pool vrdoro.de
           ├─32586 php-fpm: pool vrdoro.server.neomatt.de
           └─32596 php-fpm: pool www.9quests.com

Sep 01 21:10:09 vps222149.vs.webtropia.com systemd[1]: Starting The PHP 7.0 FastCGI Process Manager...
Sep 01 21:10:09 vps222149.vs.webtropia.com php-fpm7.0[32487]: [01-Sep-2020 21:10:09] NOTICE: PHP message: PHP Warning:  PHP Startup: Unable to load dynamic library '/usr/lib/php/20151012/my
Sep 01 21:10:10 vps222149.vs.webtropia.com update-alternatives[32597]: update-alternatives: error: alternative path /run/php/php7.0-fpm.sock doesn't exist
Sep 01 21:10:10 vps222149.vs.webtropia.com systemd[1]: Started The PHP 7.0 FastCGI Process Manager.

 

Link to post
Share on other sites
  • 0

Naja, dann schau doch in die ini's wo er irgendwas mit /usr/lib/php/20151012/my[...] lädt (ist abgeschnitten die meldung), Ist jedenfalls wohl keine standard php-installation

Link to post
Share on other sites
  • 0

/etc/php# grep -r '/usr/lib/php/20151012/my' *

ergibt keinen treffer

/etc/php# grep -r '.dll' *

ergibt nur auskommentierte Zeilen.

Sollte ich php7 neu installieren? Bin langsam ratlos, denn bis gestern lief das alles und dann nach Serverneustart nicht mehr.

Link to post
Share on other sites
  • 0

Es gab schon beim letzten reboot die gleichen Probleme, dann wurde auf der Shell etwas angepasst. Danach lief es wieder bis zum nächsten reboot.

Ich habe jetzt php7.2 installiert. Die Konfigs wurden schon dorthin /etc/php/7.2/fpm/pool.d geschrieben. Die Sockets sind unter /var/lib/apache2/fastcgi/ angelegt.

Aber im error-log vom nginx steht immer noch:

2020/09/01 21:52:58 [crit] 2100#2100: *19 connect() to unix:/var/lib/apache2/fastcgi/1-neomatt-neomatt.de-php-fpm.socket failed (13: Permission denied) while connecting to upstream, client: 148.251.233.233, server: neomatt.de, request: "GET / HTTP/1.1", upstream: "fastcgi://unix:/var/lib/apache2/fastcgi/1-neomatt-neomatt.de-php-fpm.socket:", host: "neomatt.de"

Warum?

Link to post
Share on other sites
  • 0

Es muss doch nur das letzte Verzeichnis mit den Sockets für www-data lesbar sein, richtig?

/etc/php# namei -l /var/lib/apache2/fastcgi/
f: /var/lib/apache2/fastcgi/
drwxr-xr-x root     root     /
drwxr-xr-x root     root     var
drwxr-xr-x root     root     lib
drwxr-xr-x root     root     apache2
drwxr-xr-x www-data www-data fastcgi

Alle Startfehler insbesondere bei php7.0-fpm treten bei php7.2-fpm nicht mehr auf. Das "Permission denied" ist dann wohl das letzte Problem...

Link to post
Share on other sites
  • 0
23 minutes ago, neomatt said:

sind unter /var/lib/apache2/fastcgi/ angelegt.

Aber im error-log vom nginx steht immer noch:

...sag doch gleich das du nginx benutzt....gibt es den Ordner überhaupt? Darf www-data dort zugreifen? Ansonsten ist es nur ein Name. Und ob 7.0 oder 7.2 ist ziemlich egal. Wenn die config passt geht das alles.

Link to post
Share on other sites
  • 0

Den Ordner /var/lib/apache2/fastcgi/ gibt es, er ist mit den socket files gefüllt und er gehört www-data! Die socket files haben als owner die customer user.

root@vps222149:/etc/php# id www-data
uid=33(www-data) gid=33(www-data) groups=33(www-data),9999(froxlorlocal)

 

Link to post
Share on other sites
  • 0

Wie müssen die Gruppen aussehen?

/etc/php# groups www-data
www-data : www-data froxlorlocal

/etc/php# groups neomatt
neomatt : neomatt sftpUser

neomatt ist ein customer user. Diesem gehören auch die Socket-Files, die www-data lesen muss.

 

Link to post
Share on other sites
  • 0

libnss-extrausers ist installiert, extrausers dir angelegt, nsswitch.conf mit extrausers versehen, php7.2-fpm neu gestartet. Muss sich dann hier nicht etwas füllen:

ls -al /var/lib/extrausers/
total 8
drwxr-xr-x  2 root root 4096 Sep  1 22:58 .
drwxr-xr-x 51 root root 4096 Sep  1 22:56 ..
-rw-r--r--  1 root root    0 Sep  1 22:58 group
-rw-r--r--  1 root root    0 Sep  1 22:58 passwd
-rw-r--r--  1 root root    0 Sep  1 22:58 shadow

 

Link to post
Share on other sites
  • 0

Error-log vom nginx:

#0 /var/www/froxlor/admin_configfiles.php(138): Froxlor\Config\ConfigParser->__construct('/var/www/froxlo...')
#1 {main}
  thrown in /var/www/froxlor/lib/Froxlor/Config/ConfigParser.php on line 106" while reading response header from upstream, client: 5.147.48.55, server: server.neomatt.de, request: "GET /admin_configfiles.php?page=configfiles&s=f0c6c48825f256b1bbe860fdd424aa64 HTTP/1.1", upstream: "fastcgi://unix:/var/lib/apache2/fastcgi/1-froxlor.panel-server.neomatt.de-php-fpm.socket:", host: "server.neomatt.de", referrer: "https://server.neomatt.de/admin_phpsettings.php?page=overview&s=f0c6c48825f256b1bbe860fdd424aa64"
2020/09/01 22:52:50 [error] 3160#3160: *189 FastCGI sent in stderr: "PHP message: PHP Fatal error:  Uncaught Error: Call to undefined function Froxlor\Config\simplexml_load_file() in /var/www/froxlor/lib/Froxlor/Config/ConfigParser.php:106
Stack trace:
#0 /var/www/froxlor/admin_configfiles.php(138): Froxlor\Config\ConfigParser->__construct('/var/www/froxlo...')
#1 {main}
  thrown in /var/www/froxlor/lib/Froxlor/Config/ConfigParser.php on line 106" while reading response header from upstream, client: 5.147.48.55, server: server.neomatt.de, request: "GET /admin_configfiles.php?page=configfiles&s=f0c6c48825f256b1bbe860fdd424aa64 HTTP/1.1", upstream: "fastcgi://unix:/var/lib/apache2/fastcgi/1-froxlor.panel-server.neomatt.de-php-fpm.socket:", host: "server.neomatt.de", referrer: "https://server.neomatt.de/admin_settings.php?page=overview&s=f0c6c48825f256b1bbe860fdd424aa64"
2020/09/01 22:53:43 [error] 3160#3160: *201 open() "/var/www/froxlor/favicon.ico" failed (2: No such file or directory), client: 94.102.49.193, server: server.neomatt.de, request: "GET /favicon.ico HTTP/1.1", host: "server.neomatt.de"
2020/09/01 22:54:10 [error] 4978#4978: *1 FastCGI sent in stderr: "PHP message: PHP Fatal error:  Uncaught Error: Call to undefined function Froxlor\Config\simplexml_load_file() in /var/www/froxlor/lib/Froxlor/Config/ConfigParser.php:106
Stack trace:
#0 /var/www/froxlor/admin_configfiles.php(138): Froxlor\Config\ConfigParser->__construct('/var/www/froxlo...')
#1 {main}
  thrown in /var/www/froxlor/lib/Froxlor/Config/ConfigParser.php on line 106" while reading response header from upstream, client: 5.147.48.55, server: server.neomatt.de, request: "GET /admin_configfiles.php?page=configfiles&s=f0c6c48825f256b1bbe860fdd424aa64 HTTP/1.1", upstream: "fastcgi://unix:/var/lib/apache2/fastcgi/1-froxlor.panel-server.neomatt.de-php-fpm.socket:", host: "server.neomatt.de", referrer: "https://server.neomatt.de/admin_settings.php"
2020/09/01 22:55:17 [notice] 7301#7301: signal process started
2020/09/01 23:04:28 [error] 7306#7306: *45 open() "/var/www/froxlor/robots.txt" failed (2: No such file or directory), client: 192.71.23.211, server: server.neomatt.de, request: "GET /robots.txt HTTP/1.1", host: "server.neomatt.de", referrer: "http://9quest.com/robots.txt"
2020/09/01 23:04:28 [error] 7306#7306: *47 open() "/var/www/froxlor/humans.txt" failed (2: No such file or directory), client: 192.71.2.171, server: server.neomatt.de, request: "GET /humans.txt HTTP/1.1", host: "server.neomatt.de", referrer: "http://9quest.com/humans.txt"
2020/09/01 23:04:28 [error] 7306#7306: *49 open() "/var/www/froxlor/ads.txt" failed (2: No such file or directory), client: 192.71.142.35, server: server.neomatt.de, request: "GET /ads.txt HTTP/1.1", host: "server.neomatt.de", referrer: "http://9quest.com/ads.txt"

 

Link to post
Share on other sites
  • 0

Ich habe nun von Hand

usermod -a -G <customerUser> www-data

ausgeführt. Nun funktionieren bis auf eine Web-Seite alle wieder.

Bei der einen erhalte ich eine Fehlermeldung, die eher etwas mit der Web-Seiten-Installation zu tun hat, wie ich vermute.

Wenn Du noch sagen kannst, warum ich nicht mehr an die Froxlor-Einstellungen komme (was mittendrin auf einmal - nach dem Switch auf php7.2? - nicht mehr ging), bin ich sehr dankbar!

Link to post
Share on other sites
  • 0

Dies ist der nginx-Log, wenn ich auf die Froxlor-Einstellungen gehe:

2020/09/02 00:08:46 [error] 15137#15137: *8 FastCGI sent in stderr: "PHP message: PHP Fatal error:  Uncaught Error: Call to undefined function Froxlor\Config\simplexml_load_file() in /var/www/froxlor/lib/Froxlor/Config/ConfigParser.php:106
Stack trace:
#0 /var/www/froxlor/admin_configfiles.php(138): Froxlor\Config\ConfigParser->__construct('/var/www/froxlo...')
#1 {main}
  thrown in /var/www/froxlor/lib/Froxlor/Config/ConfigParser.php on line 106" while reading response header from upstream, client: 5.147.48.55, server: server.neomatt.de, request: "GET /admin_configfiles.php?page=configfiles&s=2ce23a794edf299ddb70d876ee495f41 HTTP/1.1", upstream: "fastcgi://unix:/var/lib/apache2/fastcgi/1-froxlor.panel-server.neomatt.de-php-fpm.socket:", host: "server.neomatt.de", referrer: "https://server.neomatt.de/admin_index.php?s=2ce23a794edf299ddb70d876ee495f41"

Alles andere geht jetzt.

Link to post
Share on other sites
  • 0

Alles geht, es fehlte noch das Paket: php7.2-xml

/var/lib/extrausers/ hat sich auch gefüllt:

ls -al /var/lib/extrausers/
total 20
drwxr-xr-x  2 root root 4096 Sep  1 22:58 .
drwxr-xr-x 51 root root 4096 Sep  1 22:56 ..
-rw-r--r--  1 root root  566 Sep  1 23:25 group
-rw-r--r--  1 root root 1046 Sep  1 23:25 passwd
-rw-r-----  1 root root 1213 Sep  1 23:25 shadow

Herzlichen Dank für die Unterstützung!

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