• Diese Seite verwendet Cookies. Indem du diese Website weiterhin nutzt, erklärst du dich mit der Verwendung von Cookies einverstanden. Erfahre mehr

Mariadb startet nach Upgrade nicht mehr

Mardor

Well-Known Member
Themenstarter #27
Ich habe einen nginx als reverse proxy davor, deshalb sehe ich nur die Meldung des Reverse Proxy. Allerdings sehe ich Response Code 500 vom nextcloud nging wenn ich darauf zugreife (für die status.php). Ansonsten sehe ich weder im php-fpm log noch im Nextcloud Log irgendeine Meldung.

Aufgefallen ist mir, dass ich im Gegensatz zur letzten Problematik mit mysql nun auch das eingefügte info.php file einen HTTP Response code 500 liefert. Das klingt für mich nach einem anderen Problem als eine Verbindungsproblematik mit der mariadb.
 

SolarCatcher

Well-Known Member
#29
@Mardor Wenn du schon einen 500er bekommst, wenn du allein eine info.php aufrufst, muss das Problem wirklich schon woanders sein. Falls Du den Server/die Jail nicht frisch installiert hast: Versuch doch nochmal alle PHP-Pakete zu löschen, den pkg cache zu leeren und dann neu zu installieren. Vielleicht ist irgendeine kleine Unstimmigkeit reingerutscht, so dass die Pakete nicht mehr zueinander passen... Ansonsten bleibt meist nur: Alle extensions aus der php.ini rausnehmen und nacheinander wieder reinnehmen. PHP-FPM reloaden und schauen. Dann findet man diejenige Extension, die das Problem verursacht.

Ansonsten fiel mir noch auf: In Deiner server.cnf bindest Du den mariadb-Server an 127.0.0.1. Sockstat zeigt ihn aber unter 10.49.1.5. Ist das in der Jail auch so? Dann klappt etwas mit der Konfiguration nicht. Wenn es nur vom Host ist, ist es vermutlich korrekt.
 
#30
Hi,

ich würde mal vermuten, dass das Socket vorher unter /tmp lag?
Du müsstest jetzt mal im nextcloud.log nachsehen (liegt im Datenverzeichnis), warum es nicht läuft. Eventuell liegt es am falschen Pfad zum Socket.

Rob
 

Mardor

Well-Known Member
Themenstarter #33
Hi,

also... ich habe den Snapshot zurückgesetzt und alles funktionierte wieder. Danach habe ich folgende Updates installiert:

Code:
Installed packages to be REMOVED:
        cairo: 1.16.0,2
        harfbuzz: 2.5.3_1
        libraqm: 0.6.0
        mesa-libs: 18.3.2_1
        python36: 3.6.9_3
        wayland: 1.16.0_1

Installed packages to be UPGRADED:
        ca_root_nss: 3.53 -> 3.54
        galera26: 26.4.2_1 -> 26.4.5
        glib: 2.56.3_8,1 -> 2.56.3_9,1
        libffi: 3.2.1_3 -> 3.3
        mariadb104-client: 10.4.13_2 -> 10.4.13_3
        mariadb104-server: 10.4.13_2 -> 10.4.13_3
        python37: 3.7.7_1 -> 3.7.8_1
        vim-console: 8.2.0869 -> 8.2.1110
Nach dem Neustart des Jails hatte ich keinen Zugriff auf die Nextcloud und auch keine MariaDB. Nach Hinzufügen der "mysql_optfile" option und Aktivieren von "port = 3306" und "socket = /var/run/mysql/mysql.sock" läuft MariaDB wieder, aber trotzdem kommt die Nextcloud nicht mehr hoch.

Irgendwie verstehe ich dieses Verhalten überhaupt nicht

Könnte es an pf liegen, die vielleicht die Connection auf 3306 geblocked ?
- Ich habe schon mit "tcpdump -A -n -e -ttt -i pflog0" geschaut ob etwas aufpoppt aber ausser den übrichen SYN Paketen aus dem Internet sehe ich nix oder würde ich das überhaupt mit diesem Kommando sehen ?

Gruß Mardor
 

CommanderZed

OpenBSD User
Mitarbeiter
#34
Nextcloud ist ja ein mega-komplexes stück software das dafür wenns auf nen Fehlerläuft default erst mal fast keine Fehlermeldungen rauswirft. Oft kann man da mit diesem komischen occ (oder wie das hieß) kommandozeilentool etwas werden.

Aber wie wärs denn ne runde niedrigschwelliger anzufangen und mal kurz irgend ne php datei zu erstellen die auf mysql zugreift, um mal zu schauen ob php generell funktioniert?

Dann kannst du zumindest anfangen nachzuforschen ob du ein problem php <-> mysql hast oder ob du ein Problem php/mysql <-> Nextcloud hast.
 

Mardor

Well-Known Member
Themenstarter #35
Hi,

die Idee ist gut, aber sollte ich nicht vorher überhaupt etwas sehen wenn ich eine info.php erstelle ?

Ich habe eine info.html (mit Inhalt "test") und eine info.php erstellt. Die html Datei sehe ich, bei der php Datei bekomme ich die Meldung vom Reverse Proxy.

Gruß Mardor
 

CommanderZed

OpenBSD User
Mitarbeiter
#37
Villeicht auch erstmal ohne Reverse-Proxy irgendwie testen?
Was kommt da denn für eine Fehlermeldung?
Ist die info.php im nextcloud Ordner?
 

CommanderZed

OpenBSD User
Mitarbeiter
#38
Weis jemand ob die neuen Pakete (ausser maria db) etwas mit Nextcloud zu tun haben ?
Ich nutze kein freebsd, aber so spontan würde ich sagen eher nicht.

Wie oben schon geschrieben, wenn du den Fehler näher eingrenzen willst ist es unabdingbar stück für stück zu schauen wo evtl. das Problem liegt und passende Testbedinungen zu schaffen.

Ein blindes "rumstochern" mit reverse-proxys die offenbar "irgendetwas machen was die Diagnose erschwert" wird dich da kaum weiterbringen.
 

Yamagi

Possessed With Psi Powers
Mitarbeiter
#40
Noch mal als Datenpunkt: Ich habe gerade einen ganzen Cluster mit vier Nodes von MariaDB 1.4.12 auf 1.4.13_2 aktualisiert. Das ging problemlos, ich musste nur in der /mysql/data/my.cnf (ich habe die Config aus Organisationsgründen im Datenverzeichnis) den Pfad zum Socket anpassen und das Verzeichnis /var/run/mysql anlegen.
 

Mardor

Well-Known Member
Themenstarter #41
Hi,

Dann liegt das Problem wohl bei PHP.
Ich würde jetzt mal das Error-Logging von PHP aktivieren, wenn es nicht schon ist und dann die Logfiles prüfen.
Ich habe den error log aktiviert und xtail auf den Pfad gesetzt
Code:
grep "^error_log" /usr/local/etc/php.ini
error_log = /var/log/php_error.log
Ich sehe keinen Eintrag im php_error.log

Wenn ich mein info.php script Aufrufe sehe ich folgenden Log Eintrag
Code:
91.56.10.50 - - [09/Jul/2020:19:33:24 +0200] "GET /ms_info.php HTTP/1.0" 500 494 "-" "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:78.0) Gecko/20100101 Firefox/78.0" "91.56.10.50"

Welche Fehlermeldung kommt denn vom Proxy?
Folgende Meldung wird angezeigt:
Code:
An error occurred.

Sorry, the page you are looking for is currently unavailable.
Please try again later.

If you are the system administrator of this resource then you should check the error log for details.

Faithfully yours, nginx.
Code:
grep "^error_log" /usr/local/etc/php.ini
error_log = /var/log/php_error.log
 
#42
Ist die Datei /var/log/php_error.log denn von dem Benutzer beschreibbar, unter dem das Skript läuft?
Du musst übrigens nicht ins Accesslog vom Webserver schauen, sondern in das Fehlerlog, dort sollten ebenso PHP-Fehlermeldungen landen. Wie hast du PHP in den Webserver eingebunden?

Rob
 

Wiedmann

Well-Known Member
#43
Wenn ich mein info.php script Aufrufe sehe ich folgenden Log Eintrag
Code:
91.56.10.50 - - [09/Jul/2020:19:33:24 +0200] "GET /ms_info.php HTTP/1.0" 500 494 "-" "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:78.0) Gecko/20100101 Firefox/78.0" "91.56.10.50"
Das ist jetzt ja ein Log von deinem Webserver. Und der zeigt den Status 500: Internal Server Error

Du solltest also in das Errorlog vom Webserver schauen was da drin steht.
 

Mardor

Well-Known Member
Themenstarter #44
Ist die Datei /var/log/php_error.log denn von dem Benutzer beschreibbar, unter dem das Skript läuft?
Du musst übrigens nicht ins Accesslog vom Webserver schauen, sondern in das Fehlerlog, dort sollten ebenso PHP-Fehlermeldungen landen. Wie hast du PHP in den Webserver eingebunden?
Ja, ich hatte den Log auf 777 gesetzt. Die einzige Meldung die ich sehe ist eine Imagick Meldung die aber nicht vom Aufruf stammt. Ansonsten ist der Log komplett leer. Diese Meldung kam auch schon vor dem Update.

Code:
ls -alh php_error.log
-rwxrwxrwx  1 root  wheel   412B  9 Juli 19:28 php_error.log
 
/var/log: cat php_error.log
[09-Jul-2020 17:28:39 UTC] PHP Warning:  Version warning: Imagick was compiled against ImageMagick version 1801 but version 1802 is loaded. Imagick will run but may behave surprisingly in Unknown on line 0
[09-Jul-2020 17:28:39 UTC] PHP Warning:  Version warning: Imagick was compiled against ImageMagick version 1801 but version 1802 is loaded. Imagick will run but may behave surprisingly in Unknown on line 0
Der Error Log des NGINX zeigt keine aktuelle Meldung
Code:
/var/log/nginx: date
Fr. 10 Juli 2020 23:14:32 CEST

/var/log/nginx: ls -alh
total 132
drwxr-xr-x  2 root  wheel     4B 11 Nov.  2018 .
drwxr-xr-x  4 root  wheel    55B 10 Juli 06:00 ..
-rw-r-----  1 root  wheel   2,0G 10 Juli 23:15 access.log
-rw-r-----  1 root  wheel   3,2M 10 Juli 02:07 error.log

tail -n 3 error.log
2020/07/10 02:07:47 [error] 95186#100708: *3293 access forbidden by rule, client: 213.83.23.38, server: <server-fqdn>, request: "GET /.anydomain.test HTTP/1.0", host: "cloud.netmage.info"
2020/07/10 02:07:47 [error] 95186#100708: *3294 access forbidden by rule, client: 213.83.23.38, server: <server-fqdn>, request: "GET /.%252e/.%252e/.%252e/.%252e/.%252e/.%252e/.%252e/etc/passwd HTTP/1.0", host: "rainbowtiger.netmage.info"
2020/07/10 02:07:48 [error] 95186#100708: *3504 access forbidden by rule, client: 213.83.23.38, server: <server-fqdn>, request: "GET /..\pixfir~1\how_to_login.html HTTP/1.0", host: "<reverse-proxy"
Auch der php-fpm.log zeigt nur die Neustarts des Kaoö

Code:
/var/log: tail -n 20 php-fpm.log
...
[07-Jul-2020 20:36:30] NOTICE: fpm is running, pid 72681
[07-Jul-2020 20:36:30] NOTICE: ready to handle connections
[09-Jul-2020 19:28:38] NOTICE: Finishing ...
[09-Jul-2020 19:28:38] NOTICE: exiting, bye-bye!
[09-Jul-2020 19:28:39] NOTICE: configuration file /usr/local/etc/php-fpm.conf test is successful

[09-Jul-2020 19:28:39] NOTICE: fpm is running, pid 20825
[09-Jul-2020 19:28:39] NOTICE: ready to handle connections
 

CommanderZed

OpenBSD User
Mitarbeiter
#45
Du hast deine test.php ja im gleichen verzeichniss wie die nextcloud und du nutzt den apachen?

Wenn ja, bei der Nextcloud ist glaub ich ne .htaccess dabei, blockiert die evtl. deine testdatei?
 

Mardor

Well-Known Member
Themenstarter #46
Du hast deine test.php ja im gleichen verzeichniss wie die nextcloud und du nutzt den apachen?

Wenn ja, bei der Nextcloud ist glaub ich ne .htaccess dabei, blockiert die evtl. deine testdatei?
Ich benutze den nginx.

Aber dein Kommentar hat mich weiter gebracht. Nach weiteren stundenlangem Testen sehe ich die php info Seite, wenn ich die index.php durch die info.php im nextcloud Verzeichnis ersetze.
 

Yamagi

Possessed With Psi Powers
Mitarbeiter
#47
Wenn ich mal raten darf: Könnte es ein, dass php-fpm das Script (also die .php-Datei) nicht findet? Dafür kann man in php-fpm den Log-Leven hochdrehen. Dann loggt er auch die Pfade zu den Scripten.
 

Mardor

Well-Known Member
Themenstarter #48
Hallo Yamagi,

der Increase des Loglevel auf debug zeigt mir nur eine Statistik:

Code:
*** /usr/jails/<jail>/var/log//php-fpm.log ***
[11-Jul-2020 19:00:41.715407] DEBUG: pid 24628, fpm_pctl_perform_idle_server_maintenance(), line 378: [pool www] currently 0 active children, 12 spare children, 12 running children. Spawning rate 1
[11-Jul-2020 19:00:42.775364] DEBUG: pid 24628, fpm_pctl_perform_idle_server_maintenance(), line 378: [pool www] currently 0 active children, 12 spare children, 12 running children. Spawning rate 1
[11-Jul-2020 19:00:43.838863] DEBUG: pid 24628, fpm_pctl_perform_idle_server_maintenance(), line 378: [pool www] currently 0 active children, 12 spare children, 12 running children. Spawning rate 1
[11-Jul-2020 19:00:44.902367] DEBUG: pid 24628, fpm_pctl_perform_idle_server_maintenance(), line 378: [pool www] currently 0 active children, 12 spare children, 12 running children. Spawning rate 1
 

Mardor

Well-Known Member
Themenstarter #49
Hi,

es geht ein wenig weiter voran. Ich hatte eben einfach um sicher zu gehen Nextcloud von 18.0.3 auf 19.0.0 upgedatet ( soll heissen ich habe das Nextcloud Verzeichnis ersetzt). Dabei hatte ich die config.php vergessen zu kopieren und bekam über den Browser plötzlich den typischen Einrichtungscreeen. Also war die Nextcloud somit am Laufen. Auf dieser Grundlage habe ich den Loglevel der Nextcloud auf 0 gesetzt und habe folgenden Zeilen erhalten

https://pastebin.com/XTxzkDfS

Wenn ich nicht etwas wichtiges übersehen habe dann ist dies eine wichtige Meldung

Code:
ailed to connect to the database: An exception occurred in driver: SQLSTATE[HY000] [2002] No such file or directory","Code":0,"Trace":[{"file":"/usr/local/www/nextcloud/3rdparty/doctrine/dbal/lib/Doctrine/DBAL/
Für mich klingt das als würde Nextcloud nicht auf die Datenbank kommen.

Sehe ich das richtig oder liege ich da falsch ?
 

mr44er

moderater Moderator
Mitarbeiter
#50
Ich ziehe in Bälde eine zweite nextcloud mit allem pipapo auf und werde dann meine alte Instanz ebenfalls mal updaten. Sollte mir was auffallen, schreib ichs hier.

Für dazwischen derweil: Hast du von der jail einen snapshot um auf einen konsistenten Stand zu kommen vor den Fixversuchen?