DSM 7: Webserver phpMyAdmin

  • Ab sofort steht euch hier im Forum die neue Add-on Verwaltung zur Verfügung – eine zentrale Plattform für alles rund um Erweiterungen und Add-ons für den DSM.

    Damit haben wir einen Ort, an dem Lösungen von Nutzern mit der Community geteilt werden können. Über die Team Funktion können Projekte auch gemeinsam gepflegt werden.

    Was die Add-on Verwaltung kann und wie es funktioniert findet Ihr hier

    Hier geht es zu den Add-ons

Status
Für weitere Antworten geschlossen.

Ben2013

Benutzer
Registriert
01. Nov. 2021
Beiträge
127
Reaktionspunkte
13
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.
 
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.
 
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.
 
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?
 
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.
 
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.
 
/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.
 
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.
 
drwxrwxrwt müsste "chmod 1777 ..." sein.
 
Status
Für weitere Antworten geschlossen.
 

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