DSM 7: Webserver phpMyAdmin

Ben2013

Benutzer
Mitglied seit
01. Nov 2021
Beiträge
114
Punkte für Reaktionen
11
Punkte
18
Hallo,

um die offizielle phpMyAdmin-Webseite auf dem Webserver zu hosten wurden die Webseiten-Dateien in den Pfad /volume1/web/phpMyAdmin kopiert.

Zusätzlich ist der Besitzer auf http:http geänndert worden:

Code:
$ sudo chown -R http:http /volume1/web/phpMyAdmin

Dennoch wird beim Aufruf der URL http://[IP-Diskstation]/phpMyAdmin ein Fehler 500 angezeigt.

Im Error-Log steht dann folgendes:#

[error] 14280#14280: *43845 directory index of "/var/services/web/missing/" is forbidden, client: 192.168.1.115, server: , request: "GET /missing/ HTTP/1.1", host: "192.168.1.32", referrer: "http://192.168.1.32/phpMyAdmin/"

Kann mir jemand erklären, warum der Pfad /var/services/web/missing/ versucht wurde zu lesen? Dieser Pfad existiert nicht.

Der Webserver sollte doch den Pfad /var/services/web/phpMyAdmin auslesen.

Zur Info: Mir ist bewusst, dass es auch ein Paket phpMyAdmin gibt. Bei diesem Paket kann allerdings nur der lokale Maria10 Server auf der Diskstation ausgewählt werden und keine anderen. Bei der unter /var/services/web/phpMyAdmin sind mehrere Datenbank-Server eingetragen, die in der Config-Datei verwaltet werden können.
 

Ben2013

Benutzer
Mitglied seit
01. Nov 2021
Beiträge
114
Punkte für Reaktionen
11
Punkte
18
Nachtrag:

Erst nachdem die php-Option "display_errors" aktiviert wurde, kann man der Ursache etwas näher kommen.

Code:
Error during session start; please check your PHP and/or webserver log file and configure your PHP installation properly. Also ensure that cookies are enabled in your browser.

session_start(): open(SESSION_FILE, O_RDWR) failed: Permission denied (13)

session_start(): Failed to read session data: files (path: /var/services/tmp)

Der Pfad "/var/services/tmp" verweist auf "/volume1/@tmp".
Diskstation_Webserver-tmp-Error.png
Auf diesen Pfad haben alle bereits volle Zugriffsrechte.

Von daher müsste es eigentlich fehlerfrei durchlaufen. Im Pfad "/volume1/@tmp" sind bereits einige Temporäre Dateien vorhanden.

Diskstation_Webserver-tmp-Error 2.png

In diesen Pfaden wurden keine Berechtigungs-Änderungen vorgenommen.

Seit dem Erwerb der Diskstation vor etwas mehr als 1 Monat beschleicht mich das Gefühl, als wenn DSM 7 mit zu vielen Fehlern ausgeliefert wurde.

So tritt ein Fehler im Umgang von Letsencrypt wiederholt auf:

Letsencrypt-Meldungen.png
Es fehlt auch hier mindestens ein Pfad. Es kann jedoch nicht geklärt werden, ob es eher ein Folgefehler ist.
 

Ben2013

Benutzer
Mitglied seit
01. Nov 2021
Beiträge
114
Punkte für Reaktionen
11
Punkte
18
Zur Info: Um phpMyAdmin mit mehreren MySQL-Servern verwenden zu können, wurde neben dem Synology-NAS ein extra Hardware-Proxmox-System in Betrieb genommen, auf dem mehrere Container installiert werden können. u.a. wurde ein Container mit Debian und nginx mit phpMyAdmin in Betrieb genommen.
 

Ulfhednir

Benutzer
Sehr erfahren
Mitglied seit
26. Aug 2013
Beiträge
3.476
Punkte für Reaktionen
1.087
Punkte
194
Im Kern möchtest du also phpMyAdmin manuell installieren, um auf mehrere, separate MySQL-Instanzen zugreifen zu können, richtig?
Warum veranstaltest du diesen Aufwand, wenn es Tools wie HeidiSQL gibt?
 

Ben2013

Benutzer
Mitglied seit
01. Nov 2021
Beiträge
114
Punkte für Reaktionen
11
Punkte
18
Warum veranstaltest du diesen Aufwand, wenn es Tools wie HeidiSQL gibt?
HeidiSQL läuft meines Wissens nicht in einem WebBrowser. phpMyAdmin kann man via Webbrowser aufrufen, ohne es auf einem Android. / Mac / Linux / .und vieles mehr installieren bzw. die passenede Portabel-Version suchen zu müssen.
 

Ben2013

Benutzer
Mitglied seit
01. Nov 2021
Beiträge
114
Punkte für Reaktionen
11
Punkte
18
Die Ursache, wesehalb es nicht funktioniert, liegt darin, dass der Benutzer phpMyAdmin oder die gleichlautende Gruppe keinen Zugriff auf den Temporären Pfad hat. Weiß jemand, wie man mit Terminal-Befehlen einem Benutzer oder einer Gruppe den Zugriff auf einen Pfad erteilen kann?

Den Filemanager in der Weboberfläche kann ich leider nicht nehmen, da dieser nicht diese Pfade anzeigen lassen kann.
 

Benares

Benutzer
Sehr erfahren
Mitglied seit
27. Sep 2008
Beiträge
13.803
Punkte für Reaktionen
3.761
Punkte
468
/var/services/tmp ist ein Link auf /volume1/@tmp. Die Rechte dort sitzen bei mir auf
Code:
drwxrwxrwt    3 root                root                     4096 Dec  1 14:57 @tmp
somit sollte eigentlich jeder alles dürfen.
 

Ben2013

Benutzer
Mitglied seit
01. Nov 2021
Beiträge
114
Punkte für Reaktionen
11
Punkte
18
Hallo Benares,

mit
Code:
chmod 777 /volume/@tmp
habe ich die Rechte gesetzt.

Dennoch weicht die Ausgabe etwas ab:

Code:
$ ls -l /volume1 | grep @tmp
drwsrwsrwt  1 root         root              652 Dec  5 22:24 @tmp

Zuvor hatte wurden mit
Code:
chmod 7777 /volume1/@tmp
alle Rechte gesetzt.
 

Benares

Benutzer
Sehr erfahren
Mitglied seit
27. Sep 2008
Beiträge
13.803
Punkte für Reaktionen
3.761
Punkte
468
drwxrwxrwt müsste "chmod 1777 ..." sein.
 


 

Kaffeautomat

Wenn du das Forum hilfreich findest oder uns unterstützen möchtest, dann gib uns doch einfach einen Kaffee aus.

Als Dankeschön schalten wir deinen Account werbefrei.

:coffee:

Hier gehts zum Kaffeeautomat