[solved] PHPMyAdmin + Nginx: Permission denied

Debian macht sich hervorragend als Web- und Mailserver. Schau auch in den " Tipps und Tricks"-Bereich.
Antworten
Kobold76
Beiträge: 5
Registriert: 11.12.2020 10:19:31

[solved] PHPMyAdmin + Nginx: Permission denied

Beitrag von Kobold76 » 18.08.2024 20:30:44

Guten Abend.

kürzlich wollte ich mal wieder PHPMyAdmin auf meinem NAS installieren, nachdem ich das jahrelang nicht mehr genutzt hab. Leider wurde da anscheinend das Verhalten zu früheren Versionen geändert. Und das gefällt mir gar nicht.

Auf meinem NAS (192.168.109.10) läuft Nginx, php8.2-fpm und MariaDB.

/etc/nginx/sites-available/phpmyadmin.conf

Code: Alles auswählen

server {
    listen              80;     
    listen              443 ssl;
    include             ssl.conf;
    ssl_certificate     /etc/ssl/nginx/nginx.crt;
    ssl_certificate_key /etc/ssl/nginx/nginx.key;
     
    server_name phpmyadmin phpmyadmin.mydomain;      
     
    access_log off;             
#   access_log /var/log/nginx/phpmyadmin.access_log main;
    error_log /var/log/nginx/phpmyadmin.error_log notice;
     
    root /var/www/phpmyadmin/;  
     
    location ~ \.php$ {                                                                                                              
        try_files                       $uri =404;
        include                         fastcgi_params;
        fastcgi_pass                    unix:/run/php/phpmyadmin.sock;
        fastcgi_param                   SCRIPT_FILENAME  $document_root$fastcgi_script_name;
        fastcgi_buffer_size             128k;   
        fastcgi_buffers                 256 16k;
        fastcgi_busy_buffers_size       256k;   
        fastcgi_temp_file_write_size    256k;   
        fastcgi_index                   index.php;
    }
}
config.inc.php

Code: Alles auswählen

$i = 0;
 
/* Server: localhost [1] */
$i++;
$cfg['Servers'][$i]['verbose'] = '';
$cfg['Servers'][$i]['host'] = '127.0.0.1';
$cfg['Servers'][$i]['port'] = '';
$cfg['Servers'][$i]['socket'] = '/run/mysqld/mysql.sock';
$cfg['Servers'][$i]['connect_type'] = 'socket';
$cfg['Servers'][$i]['auth_type'] = 'cookie';
$cfg['Servers'][$i]['user'] = 'root';
$cfg['Servers'][$i]['password'] = 'strenggeheim';                                                                                   
$cfg['Servers'][$i]['AllowNoPassword'] = false;
Wenn mich jetzt versuch einzuloggen, bekomm ich im Log die folgende Fehlermeldung:

Code: Alles auswählen

Aug 18 20:19:55 kobold phpMyAdmin[2947]: user denied: root (root-denied) from 192.168.109.21
Aus DB-Sicht ist das vollkommen nachvollziehbar. Für die IP 192.168.109.21 (=mein Desktoprechner) existiert kein MySQL-Konto. Die Datenbank ist ja noch nicht mal per IP erreichbar sondern lokal auf dem NAS nur per Socket.

Allerdings war das Verhalten früher bei PHPMyAdmin, dass nicht die Client-IP (192.168.109.21) an die Datenbank durchgereicht wurde sondern die lokale IP (127.0.0.1 bzw. localhost). Ich finde das aktuelle Verhalten ziemlich suboptimal.

Wie bekomm ich hin, dass phpmyadmin wieder "lokal" läuft, d.h. nicht die IP meines Desktoprechners an die Datenbank durchreicht?
Zuletzt geändert von Kobold76 am 18.08.2024 20:39:39, insgesamt 1-mal geändert.

Kobold76
Beiträge: 5
Registriert: 11.12.2020 10:19:31

Re: PHPMyAdmin + Nginx: Permission denied

Beitrag von Kobold76 » 18.08.2024 20:39:28

Grmpf.

Der Ort für die config.inc.php ist in Debian nicht im Basisverzeichnis von phpmyadmin sondern in /etc/phpmyadmin. Hab die Config rüberkopiert. Jetzt klappt das Login.

Antworten