Jump to content

Nextcloud Fehler in der GUI


Jukes
Go to solution Solved by Jukes,

Recommended Posts

Hallo,

 

ich habe ein riesiges Problem mit Nextcloud. Wenn ich mit die GUI starten will kann ich mich zwar einloggen, komme aber dann sofort zur folgenden Fehlermeldung (Als Datenbank nutze ich MariaDB):

 

"Internal Server Error The server encountered an internal error and was unable to complete your request. Please contact the server administrator if this error reappears multiple times, please include the technical details below in your report. More details can be found in the server log."

 

Schaue ich dann in das Log von Nextcloud sticht folgende Zeile hervor:

 

"Doctrine\DBAL\Exception: Failed to connect to the database: An exception occurred in the driver: SQLSTATE[HY000] [2006] MySQL server has gone away in /config/www/nextcloud/lib/private/DB/Connection.php:87"

 

Seltsamerweise klappt das Syncen mit der Nextcloud-App und verschiedenen Clients noch immer ohne große Probleme. Hat jemand schonmal diesen Fehler gehabt oder kann mir helfen diesen zu beheben? Das wäre fantastisch :)

 

Angehängt sind meine Diagnostics.

 

 

jukes-server-diagnostics-20220101-2329.zip

Link to comment
30 minutes ago, Jukes said:

Angehängt sind meine Diagnostics.

 

Da sehe ich jetzt nichts was mit deinem Problem zu tun hat, aber das hier kommt sehr oft drin vor. Das solltest du mal recherchieren warum das passiert:

Quote

Jan  1 23:28:00 Jukes-Server kernel: nvidia-nvlink: Nvlink Core is being initialized, major device number 243
Jan  1 23:28:00 Jukes-Server kernel: NVRM: The NVIDIA probe routine was not called for 1 device(s).
Jan  1 23:28:00 Jukes-Server kernel: NVRM: This can occur when a driver such as: 
Jan  1 23:28:00 Jukes-Server kernel: NVRM: nouveau, rivafb, nvidiafb or rivatv 
Jan  1 23:28:00 Jukes-Server kernel: NVRM: was loaded and obtained ownership of the NVIDIA device(s).
Jan  1 23:28:00 Jukes-Server kernel: NVRM: Try unloading the conflicting kernel module (and/or
Jan  1 23:28:00 Jukes-Server kernel: NVRM: reconfigure your kernel without the conflicting
Jan  1 23:28:00 Jukes-Server kernel: NVRM: driver(s)), then try loading the NVIDIA kernel module
Jan  1 23:28:00 Jukes-Server kernel: NVRM: again.
Jan  1 23:28:00 Jukes-Server kernel: NVRM: No NVIDIA devices probed.
Jan  1 23:28:00 Jukes-Server kernel: nvidia-nvlink: Unregistered the Nvlink Core, major device number 243

 

 

30 minutes ago, Jukes said:

"Doctrine\DBAL\Exception: Failed to connect to the database: An exception occurred in the driver: SQLSTATE[HY000] [2006] MySQL server has gone away in /config/www/nextcloud/lib/private/DB/Connection.php:87"

Wenn das immer so wäre, könntest du denke ich nicht mal die Login-Seite laden. Das könnte eine ältere Fehlermeldung sein, wo mal kurz die DB nicht zu erreichen war. Auch sollte eine nicht erreichbare Datenbank keinen Server Error auslösen, sondern eine Fehlermeldung von Nextcloud selbst.

 

30 minutes ago, Jukes said:

"Internal Server Error The server encountered an internal error and was unable to complete your request. Please contact the server administrator if this error reappears multiple times, please include the technical details below in your report. More details can be found in the server log."

Die Ursache für solche Fehlermeldungen stehen normalerweise in den Apache Logs. Ich habe das gerade beim offiziellen Nextcloud Container (knex666) ausprobiert, aber da werden die Logs an stderr weitergeleitet und ich gehe daher davon aus, dass sie normalerweise über die Container Logs zu sehen sein sollten. Nutzt du evtl einen anderen Container?

 

@ich777

Diese Softlinks habe ich im Nextcloud-Container vorgefunden, heißt das, dass alle Fehlermeldungen in den Container Logs stehen müssten?

ls -lah /var/log/apache2/
total 0
drwxrwxrwx 2 www-data www-data 72 Dec 21 20:36 .
drwxr-xr-x 1 root     root     57 Dec 22 13:10 ..
lrwxrwxrwx 1 www-data www-data 11 Dec 21 20:36 access.log -> /dev/stdout
lrwxrwxrwx 1 www-data www-data 11 Dec 21 20:36 error.log -> /dev/stderr
lrwxrwxrwx 1 www-data www-data 11 Dec 21 20:36 other_vhosts_access.log -> /dev/stdout

 

Sieht mir jedenfalls danach aus:

image.png.7dec1d424ca4e328d36120507cff72c7.png

 

 

Link to comment

Das mit der Daten-Synchronisation nehme ich zurück, das funktioniert leider doch nicht.

Tatsächlich taucht dieser Fehler immer wieder auf:

 

"Doctrine\DBAL\Exception: Failed to connect to the database: An exception occurred in the driver: SQLSTATE[HY000] [2006] MySQL server has gone away in /config/www/nextcloud/lib/private/DB/Connection.php:87"

 

Sowohl im Nextcloud-Log via Unraid (nachdem ich Nextcloud neustarte, als auch im error.log im Nextcloud-Ordner.

 

Was sind Apache-Logs :D? Und ich nutze den offiziellen Container. 

 

Link to comment
1 hour ago, Jukes said:

 

"Doctrine\DBAL\Exception: Failed to connect to the database: An exception occurred in the driver: SQLSTATE[HY000] [2006] MySQL server has gone away in /config/www/nextcloud/lib/private/DB/Connection.php:87"

Dann kann dein Container die Datenbank nicht erreichen. Was ist mit den Logs des MariaDB Containers? Teste bitte mal mit HeidiSQL oder einem phpmyadmin Container ob du eine Verbindung zur MariaDB aufbauen kannst.

 

Auch könntest du mal die Console vom Nextcloud Container öffnen und das ausführen:

apt-get update
apt-get install telnet
timeout 2 telnet <ip-vom-mariadb-container> 3306

 

Bekommst du ein "connected to" oder ein "unable to connect"?

Link to comment
6 hours ago, mgutt said:

Diese Softlinks habe ich im Nextcloud-Container vorgefunden, heißt das, dass alle Fehlermeldungen in den Container Logs stehen müssten?

Ja genau, aber das ist eher mit vorsicht zu genießen da dies nicht auf jeder Distribution funktioniert soweit ich weiß, hier würde 'tail -f access.log' Beispielsweise angebrachter sein.

Link to comment
10 hours ago, mgutt said:

Auch könntest du mal die Console vom Nextcloud Container öffnen und das ausführen:

apt-get update
apt-get install telnet
timeout 2 telnet <ip-vom-mariadb-container> 3306

 

Bekommst du ein "connected to" oder ein "unable to connect"?

Ehrlich gesagt nichts von beidem :D.... 

image.thumb.jpeg.869b368e127c7b7ef148e32e5b730e58.jpeg

Link to comment
11 hours ago, mgutt said:

Dann kann dein Container die Datenbank nicht erreichen. Was ist mit den Logs des MariaDB Containers? Teste bitte mal mit HeidiSQL oder einem phpmyadmin Container ob du eine Verbindung zur MariaDB aufbauen kannst.

 

So sieht das Log des MariaDB Containers aus: image.thumb.jpeg.ca53fbb680e5335e115b16bf6727f050.jpeg

 

Und sorry, das mit HeidiSQL und phpmyadmin ist leider etwas zu kompliziert für mich. Wie teste ich das aus?

Link to comment
59 minutes ago, Jukes said:

Ehrlich gesagt nichts von beidem :D.... 

Da der Befehl "apt-get" nicht geht, nutzt du nicht den Original Nextcloud Container. Welchen nutzt du?

 

Die spitzen Klammern müssen weg. Bitte so ausführen:

timeout 2 telnet 192.168.178.50 3306

 

Wieso hast du zuerst die IP 172.17.0.4 ausprobiert? Das ist eine interne IP, die sich jederzeit ändern kann. Hast du die evtl in deiner Nextcloud-Installation hinterlegt?

 

9 minutes ago, Jukes said:

Und sorry, das mit HeidiSQL und phpmyadmin ist leider etwas zu kompliziert für mich. Wie teste ich das aus?

 

 

 

Link to comment
7 hours ago, mgutt said:

Da der Befehl "apt-get" nicht geht, nutzt du nicht den Original Nextcloud Container. Welchen nutzt du?

 

Oh, jetzt sehe ich es auch. Damals gab es dann wohl nicht den offiziellen. Mein Container stammt aus dem linuxserver Repository.

 

7 hours ago, mgutt said:

Die spitzen Klammern müssen weg. Bitte so ausführen:

timeout 2 telnet 192.168.178.50 3306

 

Wenn ich das eingebe kommt folgendes:

image.thumb.jpeg.e0824efcc7ae94d5176bfeca6583aec6.jpeg

7 hours ago, mgutt said:

Wieso hast du zuerst die IP 172.17.0.4 ausprobiert? Das ist eine interne IP, die sich jederzeit ändern kann. Hast du die evtl in deiner Nextcloud-Installation hinterlegt?

 

Das war nur ein Versuch. Ich bin leider nicht super versiert, was Server-Kram angeht und versuche noch zu lernen. 

 

Mit HeidiSQL kann ich problemlos auf die Datenbank zugreifen und auch Nextcloud entdecken. Ich hab vor kurzem eine neue Datenbank für Wordpress hinzugefügt. Kann es etwas damit zu tun haben? Oder vielleicht mit Lese oder Schreibrechten im Appdata-Folder?

Edited by Jukes
Link to comment
2 hours ago, Jukes said:

Wenn ich das eingebe kommt folgendes:

Ok. Telnet muss erst installiert werden. Welches Betriebssystem verwendet der Container denn? Ansonsten probier mal so:

apk add telnet

 

Ansonsten gibt es evtl curl. Dann probiere das:

curl -sSL -D - <mariadb-ip>:3306 -o /dev/null

 

Link to comment
7 minutes ago, mgutt said:
apk add telnet

das resultiert in:

image.jpeg.fc970ac69bed60283cb12c8dbb0d9ea6.jpeg

10 minutes ago, mgutt said:
curl -sSL -D - http://<mariadb-ip>:3306 -o /dev/null

und hier kommt dies:

image.thumb.jpeg.0c59820a6f6619a4765b79c9490ab992.jpeg

13 minutes ago, mgutt said:

Welches Betriebssystem verwendet der Container denn?

Hier weiß ich leider nicht, was du meinst :/. Aber danke für die Hilfe. Ich wäre echt aufgeschmissen.

Link to comment
2 minutes ago, Jukes said:

und hier kommt dies:

Ok, das sieht so aus als könnte der Nextcloud Container den MariaDB erreichen.

 

Du musst jetzt in die Apache Logs vom Nextcloud Container schauen. Check mal über dessen Konsole ob es einen Apache Unterordner hier gibt:

ls -lah /var/log

 

Wenn ja schauen wie die Log Dateien heißen:

ls -lah /var/log/apache2

 

Dann kannst du sie zb so die letzten 30 Zeilen anschauen:

tail -n30 /var/log/apache2/error.log

 

Oder in einem der Pfade schauen:

/var/log/httpd

/var/log/apache

/var/log/apache2

 

Oder vielleicht gibt es die Datei:

/var/log/httpd-error.log

 

 

Link to comment

und zum Ausschluss, geh mal in die mariadb docker konsole

 

root@9d0cc2d00123:/# mysql -uroot -p
Warning: World-writable config file '/etc/my.cnf.d/custom.cnf' is ignored
Enter password: 
Welcome to the MariaDB monitor.  Commands end with ; or \g.
Your MariaDB connection id is 686
Server version: 10.5.13-MariaDB MariaDB Server

Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

MariaDB [(none)]> SHOW GRANTS for nextcloud;
+----------------------------------------------------------------------------------------------------------+
| Grants for nextcloud@%                                                                                   |
+----------------------------------------------------------------------------------------------------------+
| GRANT USAGE ON *.* TO `nextcloud`@`%` IDENTIFIED BY PASSWORD '*wasauchimmerhierstandistegal............' |
| GRANT ALL PRIVILEGES ON `nextcloud`.* TO `nextcloud`@`%` WITH GRANT OPTION                               |
+----------------------------------------------------------------------------------------------------------+
2 rows in set (0.000 sec)

MariaDB [(none)]> 

 

nur um auszuschließen das soweit alles passt, vorausgesetzt deine db heißt nextcloud, ansonsten, anpassen ;)

Link to comment
2 hours ago, alturismo said:

und zum Ausschluss, geh mal in die mariadb docker konsole

 

Okay, das ist interessant. Die Verbindung klappt nicht immer. Erst nach mehreren Versuchen kam das:

Quote

root@c624d6f4658c:/# mysql -uroot -p
Enter password: 
Welcome to the MariaDB monitor.  Commands end with ; or \g.
Your MariaDB connection id is 4
Server version: 10.5.13-MariaDB-log MariaDB Server

Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

MariaDB [(none)]> SHOW GRANTS for nextcloud;
ERROR 2006 (HY000): MySQL server has gone away
No connection. Trying to reconnect...
Connection id:    4
Current database: *** NONE ***

+----------------------------------------------------------------------------------------------------------+
| Grants for nextcloud@%                                                                                   |
+----------------------------------------------------------------------------------------------------------+
| GRANT USAGE ON *.* TO `nextcloud`@`%` IDENTIFIED BY PASSWORD '*XXXXXXX' |
| GRANT ALL PRIVILEGES ON `nextcloud`.* TO `nextcloud`@`%`                                                 |
+----------------------------------------------------------------------------------------------------------+
2 rows in set (0.004 sec)

 

Link to comment
9 hours ago, mgutt said:

Oder in einem der Pfade schauen:

/var/log/httpd

/var/log/apache

/var/log/apache2

 

Oder vielleicht gibt es die Datei:

/var/log/httpd-error.log

Ich hab leider keinerlei apache- oder var-Ordner, die ich über die Console finden kann. Gehe ich allerdings in den Nextcloud Ordner in appdata, dann finde ich einen error.log im NGINX Ordner. Dort taucht auch ständig dieser Fehler auf:

 

"2022/01/03 00:29:03 [error] 421#421: *21 FastCGI sent in stderr: "PHP message: PHP Fatal error:  Uncaught Doctrine\DBAL\Exception: Failed to connect to the database: An exception occurred in the driver: SQLSTATE[HY000] [2006] MySQL server has gone away in /config/www/nextcloud/lib/private/DB/Connection.php:87"

Link to comment
28 minutes ago, Jukes said:

Die Verbindung klappt nicht immer. Erst nach mehreren Versuchen kam das:

 

29 minutes ago, Jukes said:

ERROR 2006 (HY000): MySQL server has gone away
No connection. Trying to reconnect...

 

ok, dann schmiert dir anscheinend die mariadb als ab, mach mal alle docker aus wo auf die mariadb zugreifen, dann mariadb force update in den erweiterten docker Einstellungen (oben rechts der button in der Docker Übersicht)

 

image.thumb.png.b81e620f3d97cacbe388939692453871.png

 

dann kurz warten, dann die "anhängenden" container (nextcloud, wordpress, ...) starten.

Link to comment
26 minutes ago, alturismo said:

ok, dann schmiert dir anscheinend die mariadb als ab, mach mal alle docker aus wo auf die mariadb zugreifen, dann mariadb force update in den erweiterten docker Einstellungen (oben rechts der button in der Docker Übersicht)

Hat leider nichts geändert :(

Link to comment
  • Solution
On 1/3/2022 at 11:54 AM, alturismo said:

ich denke eher das ist bei dem update passiert, da hatten ja viele Probleme mit dem update, lies mal ab hier

 

Das war ein richtiger guter Hinweis! Ich hatte Glück und ein noch einen ca. 2 Monate alten MariaDB Ordner gefunden. Den habe ich dann in appdata ersetzt und jetzt funktioniert wieder alles einwandfrei. Habe dann in der Nextcloud Console noch den Befehl "sudo -u abc php /config/www/nextcloud/console.php files:scan --all" eingefügt und jetzt ist die Datenbank hoffentlich auf den neuesten Stand.

 

Oder muss ich sonst noch was beachten? 

Link to comment
14 minutes ago, Jukes said:

Oder muss ich sonst noch was beachten? 

 

falls jetzt ein Docker update vorhanden sein sollte, mach vorher alle anhängenden nochmal aus (NC, WP, was auch immer dran hängt), dann das update, dann kuurz warten, dann die anhängenden wieder normal starten, brauchte es hier auch einmalig beim Wechsel der Plattform.

Link to comment

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...