Nextcloud Bad Gateway nach Ubuntu Upgrade auf 22.04 LTS

  • Nach einem Systemupdate von Ubuntu 20.04 auf Ubuntu 22.04 bekomme nur noch den 502 Bad Gateway Fehler beim Aufruf von NC. Ich habe google schon genötigt, aber leider nicht viel gefunden.

    Unter 20.04 lief die NC25 mit php7.3, mariaDB und nginx.

    Ich habe fehlende Module und auch die php 8.1 fpm Version nachinstalliert. Auch das downgrade auf php 8.0 hat keine Besserung gebracht. Auch die NC config wurde auf php8.0-fpm bzw. php8.1-fpm geupdated.

    Hat wer eine Idee wo es klemmen könnte?


    Code
    etc/php/8.1/fpm/pool.d/www.conf enthält: `listen = /run/php/php8.1-fpm.sock`
    Code
    etc/nginx/conf.d/mysite_nextcloud.conf enthält `fastcgi_pass unix:/run/php/php8.1-fpm.sock
    Code
    The php8.1-fpm.sock and the php8.1-fpm.pid files are available in /run/php/
    Code
    etc/nginx/conf.d/mysite.de.conf enthält `server unix:/run/php/php8.1-fpm.sock;`
  • Sieht eig. okay aus..

  • Unter Ubuntu 20.04 lief das ganze ja mit php7.3-fpm, jetzt ist es php8.0-fpm.

    Ich denke auch nicht, dass es ein Rechteproblem ist. Das ganze hat ja bislang mit sock funktioniert und würde das gerne beibehalten.

    Ich werde gleich mal die PHP logs prüfen. Das Nextcloud Log ist leider leer.

  • Ich würde auch mit den NGINX-Logs anfangen. 5xx Errors sind "Server Fehler". Daher sollte auch der Webserver entsprechend Infos liefern. Ich sage nicht, dass die Ursache da zu finden ist. Die Logs des Webservers werden aber potentiell einen Hinweis auf die Ursache geben. Frei nach dem Motto: "Follow the logs"

  • /var/[definition='1','0']log[/definition]/nginx/error.[definition='1','0']log[/definition]

    Code
    2023/06/23 14:21:21 [warn] 1383#1383: conflicting server name "127.0.0.1" on 127.0.0.1:82, ignored
    2023/06/23 22:32:32 [warn] 1398#1398: conflicting server name "127.0.0.1" on 127.0.0.1:82, ignored
    2023/06/23 23:07:50 [crit] 1576#1576: *6 connect() to unix:/var/run/php/php7.4-fpm.sock failed (2: No such file or directory) while connecting to upstream, client: 127.0.0.1, server: 127.0.0.1, request: "GET /nextcloud/ HTTP/1.0", upstream: "fastcgi://unix:/var/run/php/php7.4-fpm.sock:", host: "192.168.178.40"
    2023/06/23 23:07:50 [error] 1576#1576: *4 open() "/etc/nginx/html/favicon.ico" failed (2: No such file or directory), client: 192.168.178.40, server: mysite.com, request: "GET /favicon.ico HTTP/2.0", host: "192.168.178.40", referrer: "https://192.168.178.40/nextcloud/"
    2023/06/23 23:11:44 [crit] 1576#1576: *10 connect() to unix:/var/run/php/php7.4-fpm.sock failed (2: No such file or directory) while connecting to upstream, client: 127.0.0.1, server: 127.0.0.1, request: "GET /nextcloud/ HTTP/1.0", upstream: "fastcgi://unix:/var/run/php/php7.4-fpm.sock:", host: "192.168.178.40"
    2023/06/23 23:11:44 [error] 1576#1576: *8 open() "/etc/nginx/html/favicon.ico" failed (2: No such file or directory), client: 192.168.178.40, server: mysite.com, request: "GET /favicon.ico HTTP/2.0", host: "192.168.178.40", referrer: "https://192.168.178.40/nextcloud/"

    Ich habe das Update auf Ubuntu 22.04 auf meiner Backup HDD durchlaufen lassen. Das eig. System läuft weiterhin auf Ubuntu 20.04 ohne Probleme.

    Das ganze dient der Sicherheit, dass nach dem Update, auch noch alles läuft.

    Der andere PC mit der Backup HDD hat die Lokale IP 192.168.178.40, während das eig. System mit dieser IP 192.168.178.32 angesteuert wird.

    Also habe ich versucht die NC mit https://192.168.178.40/nextcloud zu erreichen. Auch hier wird der Bad Gateway Fehler ausgegeben.

    Währenddessen das default System erst eine Zertifikat Warnung anzeigt und dann den Zugriff auf die NC verhindert, weil die IP nicht zu den trusted IPs gehört.

    Im [definition='1','0']log[/definition] file steht fastcgi://unix:/var/run/php/php7.4-fpm.sock:. Sollte das nicht auf php8.1-fpm laufen?

  • connect() to unix:/var/run/php/php7.4-fpm.sock failed (2: No such file or directory)

    Das klingt ziemlich eindeutig. Es gibt kein php7.4 mehr und der NGINX will da wohl immer noch drauf zugreifen, wie es scheint ;)

    Ich vermute, dass du da ggf. an der NGINX-Config noch was anpassen musst. Magst du uns mal deine Config für die Nextcloud zeigen? Und bitte nicht nur den Schnippsel von oben ;)

    Hier vielleicht noch was hilfreiches zur Analyse:

    Ubuntu 22.04 LTS : Nginx : Use PHP Scripts : Server World

  • /etc/nginx/conf.d/mysite.de.conf

  • /etc/nginx/conf.d/mysite_nextcloud.conf

  • Liegt deine Nextcloud in einem Unterordner von /var/www oder liegt sie im Webroot?

    Hintergrund meiner Frage ist: https://docs.nextcloud.com/server/latest/…e-nginx-webroot

    Und in Bezug dazu deine Konfig von root /var/www in der Date: mysite_nextcloud.conf

    Dann steht da weiter: fastcgi_pass unix:/run/php/php8.1-fpm.sock;

    Kannst du bestätigen, dass im Ordner /run/php eine Datei mit dem Namen php8.1-fpm.sock liegt?

    Hast du alle nötigen PHP Pakete installiert? Quelle:

    Install NextCloud on Ubuntu 22.04 (Nginx + PostgreSQL + PHP8)
    Nextcloud is much faster with PostgreSQL. This tutorial will be showing you how to install NextCloud on Ubuntu 22.04 with Nginx/PostgreSQL.
    www.linuxbabe.com

    Siehe "Step 4":

    Code
    sudo apt install imagemagick php-imagick php8.1-common php8.1-pgsql php8.1-fpm php8.1-gd php8.1-curl php8.1-imagick php8.1-zip php8.1-xml php8.1-mbstring php8.1-bz2 php8.1-intl php8.1-bcmath php8.1-gmp

    Gib uns doch mal die Ausgabe von:

    sudo apt list --installed | grep -i php


    Edit:

    Ahhhhh....wenn man sich nochmal den Fehler anschaut:

    023/06/23 23:11:44 [crit] 1576#1576: *10 connect() to unix:/var/run/php/php7.4-fpm.sock failed (2: No such file or directory)

    Und dann auch nochmal deine Konfig:

    fastcgi_pass unix:/run/php/php8.1-fpm.sock;

    Dann fällt zum einen auf, dass php7.4 verlangt wird und zum anderen, dass er das in /var/run/php/ sucht. Deine Konfig verweist aber auf ein php8.1 im Ordner /run/php (ohne "var" davor). In diese Richtung würde ich auch nochmal prüfen. Kann sein, dass es mit Symlinks gelöst ist, aber da würde ich auf jeden Fall nochmal nachschauen.

  • [tt]sudo apt list --installed | grep -i php

    [/tt]

    Die Nextcloud liegt im Verzeichnis /var/www/(/var/www/nextcloud) Im Verzeichnis /run/php/ liegt die Datei php8.1-fpm.sock und php8.0-fpm.sock.

  • Dann solltest du dahingehend recherchieren warum dein NGINX immer noch ein php7.4 unter /var/run/php verlangt.

    Denn schließlich findest du deine php-Dateien ja unter /run/php/ . Das ist ein anderer Pfad als das, wo der Server sucht.

    Vielleicht musst du auch nochmal in deiner Nextcloud-Config nachschauen. Die Fehlermeldung ist ja eindeutig. Du musst jetzt nur noch die Ursache finden.

  • Ich hab schon die Config files durchsucht, kann aber nirgends einen Eintrag zu php7.4 finden. Unter /var/run/php/ ist eine Verknüpfung zu /run/php/

    welche Config verursacht diesen Fehler?

    Code
    2023/06/24 18:36:17 [crit] 21679#21679: *5 connect() to unix:/var/run/php/php7.4-fpm.sock failed (2: No such file or directory) while connecting to upstream, client: 127.0.0.1, server: 127.0.0.1, request: "GET /nextcloud/ HTTP/1.0", upstream: "fastcgi://unix:/var/run/php/php7.4-fpm.sock:", host: "192.168.178.40"
  • Wie sieht die Verknüpfung genau aus?

    Kannst du mal bitte ein

    ls -al /var/run/php

    Und ein

    ls -al /run/php

    machen und die Ausgaben hier posten?

    In der Fehlermeldung steht was von "Client 127.0.0.1". Somit würde ich denken, dass es die Maschine ist auf der die Nextcloud installiert ist.

    Das ist hier übrigens gerade ein perfektes Beispiel warum ich Container so mag. Da hätten wir das Problem nicht. ;)

    Kann aber auch verstehen, dass man manches lieber nativ installiert ;)

  • ls -al /var/run/php

    Code
    ls -al /var/run/php
    
    insgesamt 8
    drwxr-xr-x  2 www-data www-data  140 Jun 24 18:15 .
    drwxr-xr-x 46 root     root     1360 Jun 24 19:00 ..
    -rw-r--r--  1 root     root        4 Jun 24 18:10 php8.0-fpm.pid
    srw-rw----  1 www-data www-data    0 Jun 24 18:10 php8.0-fpm.sock
    -rw-r--r--  1 root     root        4 Jun 24 18:15 php8.1-fpm.pid
    srw-rw----  1 www-data www-data    0 Jun 24 18:15 php8.1-fpm.sock
    lrwxrwxrwx  1 root     root       30 Jun 24 18:10 php-fpm.sock -> /etc/alternatives/php-fpm.sock

    ls -al /run/php

    Code
    ls -al /run/php
    
    insgesamt 8
    drwxr-xr-x  2 www-data www-data  140 Jun 24 18:15 .
    drwxr-xr-x 46 root     root     1360 Jun 24 19:00 ..
    -rw-r--r--  1 root     root        4 Jun 24 18:10 php8.0-fpm.pid
    srw-rw----  1 www-data www-data    0 Jun 24 18:10 php8.0-fpm.sock
    -rw-r--r--  1 root     root        4 Jun 24 18:15 php8.1-fpm.pid
    srw-rw----  1 www-data www-data    0 Jun 24 18:15 php8.1-fpm.sock
    lrwxrwxrwx  1 root     root       30 Jun 24 18:10 php-fpm.sock -> /etc/alternatives/php-fpm.sock

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!