Pihole moved von Apache2 to NGINX und anderem Web Port, nun geht das Password Login nicht mehr

Hallo Zusammen,

Config; Debian 12, NGINX 1.22,

pihole -v
Pi-hole version is v5.17.3 (Latest: v5.17.3)
web version is v5.21 (Latest: v5.21)
FTL version is v5.25.1 (Latest: v5.25.1)

ich hatte PiHole seit Jahren auf einem Apache2 Server laufen, und nun auf NGINX gemoved.
Dabei benutze ich auf einem Sever Zabbix, Nextcloud und PiHole. Bisher alles über Port80/443 und dann eben durch Unterverzeichnisse getrennt.http:/meineip/admin. Nun laufen alle Server auf eigenen Ports, dabei läuft pihole auf Port 82, also http://meineip:82.
Das PiHole Loginfenster erscheint, gebe ich das Passwort ein, erscheint wieder das Loginfenster, gebe ich das Passwort falsch ein, wird das auch angezeigt das es falsch ist.
Gebe ich kein Passwort via sudo pihole -a -p ein (blank Passwort), dann komme ich direkt zum Dashboard. Ich denke dies ist eher ein NGINX Fehler, aber lieber frage ich hier mal, ob vielleicht dieses Fehlerbild bekannt ist. pihole -r auch schon ausgeführt.In den logs wird mir kein Loginfehler angezeigt.

Dies ist die nginx conf:

server {
        listen 82;
        listen [::]:82;
        server_name pihole2.meineip.de;

        root /var/www/html/admin;

        # Add index.php to the list if you are using PHP

        index  index.php index.html index.htm;

        location / {
                # First attempt to serve request as file, then
                # as directory, then fall back to displaying a 404.
                try_files $uri $uri/ =404;
                index index.php;
        }

        location ~ \.php$ {
                set $root_path /var/www/html/admin;
                fastcgi_buffer_size 32k;
                fastcgi_buffers 4 32k;
                fastcgi_pass unix:/var/run/php/php8.2-fpm.sock;
                fastcgi_index index.php;
                fastcgi_param SCRIPT_FILENAME $root_path$fastcgi_script_name;
                include fastcgi_params;
                fastcgi_param DOCUMENT_ROOT $root_path;
        }
}

OK, eine Lösung gefunden: setzte ich den Hacken bei: Remember me for 7 days, geht das Login. Mache ich den Hacken weg, geht es nicht. Strange.

Update: heute meinen Server auf php8.3 ugedatet, und nun geht auch der Login wieder, ohne den Hacken bei "Remember me for 7 days" zu setzen. Hier ist die funktionierende nginx conf:

# Default server configuration
#
server {
        listen 82;
        listen [::]:82;
        server_name pihole2.gedu.info;
        error_log  /var/log/nginx/pihole.error_log  error;
        access_log  /var/log/nginx/pihole.access.log;
        root /var/www/html/admin;
        # Add index.php to the list if you are using PHP
        index  index.php index.html index.htm;
        location / {
                # First attempt to serve request as file, then
                # as directory, then fall back to displaying a 404.
                try_files $uri $uri/ =404;
                index index.php;
        }
        location ~ \.php$ {
                set $root_path /var/www/html/admin;
                fastcgi_buffer_size 32k;
                fastcgi_buffers 4 32k;
                fastcgi_pass unix:/run/php/php8.3-fpm.sock;
                fastcgi_index index.php;
                fastcgi_param SCRIPT_FILENAME $root_path$fastcgi_script_name;
                include fastcgi_params;
                fastcgi_param DOCUMENT_ROOT $root_path;
        }
}

Danke erstmal für das Formatieren meines Posts.

Update: leider besteht das Login Problem nach dem php8.3-fpm Update weiterhin. Warum es kurzzeitig funktionierte ist mir leider unklar. Aber der Workaround mit dem Hacken bei "Remember me for 7 days" geht noch.

Zudem wird mein Dashboard nicht mehr angezeigt: Query Log geht aber.

Bitte lade ein Debug Log hoch und poste hier anschließend nur die Token-URL.
Das Token generierst Du über

pihole -d

wobei Du die Frage nach dem Upload bejahst.

Hallo RD, schon gut. Ich musste noch php-sqlite3 nachinstallieren, dann war das Dashboard wieder da.
Und mit dem Login Workaround, mit dem Hacken setzen, kann ich mit leben. Setze den Post somit auf Solved.

Danke für die Hilfe.

FINAL SOLUTION:

Ich habe nun zum Schluß den NGINX PiHole mit SSL abgesichert (und auf php8.3), damit ich mit https://meinedomain.de:82 auf das Dashboard komme. Nun geht auch der Login wieder ohne Probleme.

Hier die NGINX Conf für den PiHole, mit SSL und anderem Webport (z.B. als: /etc/nginx/sites-enabled/pihole.conf):


server {
    listen 82 ssl;
    server_name meinedomain.de;

    error_log /var/log/nginx/pihole.error_log error;
    access_log /var/log/nginx/pihole.access.log;

	ssl_certificate /etc/ssl/certs/pihole2.crt;
    ssl_certificate_key /etc/ssl/private/pihole2.key;
    
    add_header Strict-Transport-Security "max-age=31536000; includeSubDomains";
    
    root /var/www/html/admin;
    index  index.php index.html index.htm;
    
    if ($ssl_protocol = "") {
		rewrite (.*) https://$server_name$1 permanent;
	}
    
    location / {
		# First attempt to serve request as file, then
        # as directory, then fall back to displaying a 404.
        try_files $uri $uri/ =404;
        index index.php;
	}
    
    location ~ \.php$ {
		set $root_path /var/www/html/admin;
        fastcgi_buffer_size 32k;
        fastcgi_buffers 4 32k;
        fastcgi_pass unix:/run/php/php8.3-fpm.sock;
        fastcgi_index index.php;
        fastcgi_param SCRIPT_FILENAME $root_path$fastcgi_script_name;
        include fastcgi_params;
        fastcgi_param DOCUMENT_ROOT $root_path;
    }
}

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