pi-hole v6 - DNS läuft ohne Fehler, WEB-Interface nicht erreichbar

Beobachtetes und erwartetes Verhalten

In der Version 5 ist pihole bei mir jahrelang gelaufen und das WEb-IF war erreichbar. Auf dem raspberry pi läuft ein apache2 Server.
Sei Update auf Version 6 läuft nach Konfiguration vom Terminal der DNS regelrecht. Die WEB-Oberfläche ist nicht verfügbar.

System: Raspberry Pi 4b+
Linux rasp-4b-1.fritz.box 6.12.20+rpt-rpi-v8 #1 SMP PREEMPT Debian 1:6.12.20-1+rpt1~bpo12+1 (2025-03-19) aarch64 GNU/Linux

webservice:
port = "8080,8443s,[::]:8080,[::]:8443s"
webroot = "/var/www/pihole" ### CHANGED, default = "/var/www/html"
webhome = "/admin/"

Aufruf im LAN mittels Firefox:
http://192.168.179.200:8080/admin oder
https://192.168.179.200:8443/admin
Antwort:
Error 404: Not Found
Not found

pihole status

[✓] FTL is listening on port 53
[✓] UDP (IPv4)
[✓] TCP (IPv4)
[✓] UDP (IPv6)
[✓] TCP (IPv6)

[✓] Pi-hole blocking is enabled

Firewall UFW
ports 8080,8443 im lokalen Netz IPv4 und IPv6 geöffnet.

# curl -I http://localhost:8080/admin/
HTTP/1.1 302 Found
Location: /admin/login
curl -I http://localhost:8080/admin/login
HTTP/1.1 404 Not Found

...

/var/www/pihole/admin/login.lp existiert
644 root:root

Warum öffnet die Seite nicht?

Debug Token:

https://tricorder.pi-hole.net/AkD5e63r/

Was gibt folgendes Kommando zurück:

ls -lah /var/www/pihole
# ls -lah /var/www/pihole
insgesamt 12K
drwxr-xr-x 3 root root     4,0K  8. Apr 13:47 .
drwxr-x--- 8 root www-data 4,0K  8. Apr 13:46 ..
drwxr-xr-x 9 root root     4,0K  8. Apr 08:59 admin

Und

ls -lah /var/www/pihole/admin
# ls -lah /var/www/pihole/admin
insgesamt 632K
drwxr-xr-x  9 root root 4,0K  8. Apr 08:59 .
drwxr-xr-x  3 root root 4,0K  8. Apr 13:47 ..
-rw-r--r--  1 root root   17  8. Apr 08:59 .codespellignore
-rw-r--r--  1 root root 2,3K  8. Apr 08:59 CONTRIBUTING.md
drwxr-xr-x  2 root root 4,0K  8. Apr 08:59 .devcontainer
-rw-r--r--  1 root root  571  8. Apr 08:59 .editorconfig
-rw-r--r--  1 root root 1,1K  8. Apr 08:59 error403.lp
-rw-r--r--  1 root root  969  8. Apr 08:59 error404.lp
drwxr-xr-x  7 root root 4,0K  8. Apr 14:43 .git
-rw-r--r--  1 root root   43  8. Apr 08:59 .gitattributes
drwxr-xr-x  4 root root 4,0K  8. Apr 08:59 .github
-rw-r--r--  1 root root  154  8. Apr 08:59 .gitignore
-rw-r--r--  1 root root 1,3K  8. Apr 08:59 gravity.lp
-rw-r--r--  1 root root 4,9K  8. Apr 08:59 groups-clients.lp
-rw-r--r--  1 root root 8,7K  8. Apr 08:59 groups-domains.lp
-rw-r--r--  1 root root 4,5K  8. Apr 08:59 groups-lists.lp
-rw-r--r--  1 root root 3,3K  8. Apr 08:59 groups.lp
drwxr-xr-x  3 root root 4,0K  8. Apr 08:59 img
-rw-r--r--  1 root root  11K  8. Apr 08:59 index.lp
-rw-r--r--  1 root root 1,2K  8. Apr 08:59 interfaces.lp
-rw-r--r--  1 root root  14K  8. Apr 08:59 LICENSE
-rw-r--r--  1 root root 7,6K  8. Apr 08:59 login.lp
-rw-r--r--  1 root root 1,6K  8. Apr 08:59 messages.lp
-rw-r--r--  1 root root 2,8K  8. Apr 08:59 network.lp
-rw-r--r--  1 root root 4,0K  8. Apr 08:59 package.json
-rw-r--r--  1 root root 335K  8. Apr 08:59 package-lock.json
-rw-r--r--  1 root root  144  8. Apr 08:59 postcss.config.js
-rw-r--r--  1 root root 9,7K  8. Apr 08:59 queries.lp
-rw-r--r--  1 root root  10K  8. Apr 08:59 README.md
drwxr-xr-x  4 root root 4,0K  8. Apr 08:59 scripts
-rw-r--r--  1 root root 2,2K  8. Apr 08:59 search.lp
-rw-r--r--  1 root root 1,5K  8. Apr 08:59 settings-all.lp
-rw-r--r--  1 root root  15K  8. Apr 08:59 settings-api.lp
-rw-r--r--  1 root root  21K  8. Apr 08:59 settings-dhcp.lp
-rw-r--r--  1 root root  18K  8. Apr 08:59 settings-dns.lp
-rw-r--r--  1 root root 7,0K  8. Apr 08:59 settings-dnsrecords.lp
-rw-r--r--  1 root root 7,1K  8. Apr 08:59 settings-privacy.lp
-rw-r--r--  1 root root  19K  8. Apr 08:59 settings-system.lp
-rw-r--r--  1 root root 6,5K  8. Apr 08:59 settings-teleporter.lp
drwxr-xr-x  3 root root 4,0K  8. Apr 08:59 style
-rw-r--r--  1 root root 1,5K  8. Apr 08:59 taillog.lp
drwxr-xr-x 29 root root 4,0K  8. Apr 08:59 vendor

Die Berechtigungen in /var/www/pihole/admin sind ok, aber für das Verzeichnis /var/www hätte ich drwxr-xr-x 8 root root erwartet.

Gibt es einen Grund, warum Du die Gruppe www-data als Eigentümer von /var/www/ gesetzt hast? Falls ja, sollte der pihole-User eventuell Mitglied der www-data-Gruppe werden.

Falls nicht, solltest Du in Betracht ziehen, root als Eigentümer einzusetzen:

sudo chown root:root /var/www

Damit Pi-hole auf das darunter liegende pihole-Verzeichnis zugreifen darf, sind auf jeden Fall die Berechtigungen für /var/www/ anzupassen:

sudo chmod 755 /var/www

Die Berechtigungen stammen noch von der Einrichtung des apache2 web-servers, der im Verzeichnis /var/www/html unter dem Konto www-data läuft. Die Änderung der Gruppe von www-data auf root kann eigentlich nichts ändern und tut es auch tatsächlich nicht. Wohl aber die Änderung der Rechte von 750 auf 755. Das behebt tatsächlich das Problem.
Ich habe nicht beachtet, dass der Dienst pihole-FTL unter dem Konto pihole läuft und daher auf den übergeordeten Verzeichnissen o+r-x Rechte benötigt.
Also Vielen Dank - das Problem ist behoben.
Dennoch bin ich jetzt einen anderen Weg gegangen, den ich logischer finde.
owner:group können in dem Verzeichnis admin bzw. bei mir pihole/admin und rekursiv darunter auf pihole:pihole und die Rechtemaske auf 750 gesetzt werden. Denn dann sind die o+r-x Rechte überflüssig. Wenn dann noch pihole Mitglied der Gruppe www-data ist, ist das Problem auch gelöst und nirgendwo ist der Zugriff für 'jedermann' nötig. Also:
chown -R pihole: admin # bzw. bei mir pihole/admin
chmod -R o-rx admin # bzw. bei mir pihole/admin
usermod -aG www-data pihole
systemctl restart pihole-FTL.service
Das wäre mein Vorschlag. Der Gewinn für die Sicherheit ist ohne Zweifel gering, aber die Konstruktion ist transparenter.
Nochmals vielen Dank!

Du solltest Dir vormerken, beim nächsten Update auf eine neue Pi-hole-Version Deine Berechtigungen und Eigentümer zu prüfen.

Generell würde ein Update die Berechtigungen im admin-Verzeichnis zurücksetzen.
In Deinem speziellen Fall bin ich mir nicht ganz sicher, da Du Pi-holes Web-Dateien in ein benutzerspezifisches Verzeichnis verschoben hast.

This topic was automatically closed 21 days after the last reply. New replies are no longer allowed.