ubuntuusers.de

nginx + phpmyadmin

Status: Ungelöst | Ubuntu-Version: Server
Antworten |

pinki

Anmeldungsdatum:
26. Oktober 2009

Beiträge: Zähle...

Moin moin!

Ich bekomme phpmyadmin in Verbindung mit nginx einfach nicht zum Laufen und bin für jede Hilfe dankbar. Entweder wird mir angezeigt, dass die Adresse falsch ist oder ich erhalte eine leere Seite.

Die ganze Geschichte läuft unter Ubuntu Server 9.04.

Meine Konfiguration ist folgende:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
server {
        listen 80;
        server_name mysql.meinedomain.de

        location ~ /phpmyadmin/.+\.php$ {
            rewrite ^/phpmyadmin(/.+)$  break;
            fastcgi_pass 127.0.0.1:9000;

            index index.php;
            root /usr/share/phpmyadmin;
            fastcgi_index index.php;
            fastcgi_param SCRIPT_FILENAME
            /usr/share/phpmyadmin$fastcgi_script_name;
            include /etc/nginx/fastcgi_params.phpmyadmin;
        }
}

Die Konfiguration der "normalen Seite" funktioniert problemlos und ist folgende:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
server {
        listen                  80;
        server_name             meinedomain.de *.meinedomain.de;
        root                    /var/www/meinedomain.de;
        index                   index.html index.htm index.php;

        location / {
        root /var/www/meinedomain.de;
        index index.php index.html index.htm;
    }

        location ~ \.php$ {
                fastcgi_pass    127.0.0.1:9000;
                fastcgi_index   index.php;
                fastcgi_param   SCRIPT_FILENAME $document_root$fastcgi_script_name;
                include         fastcgi_params;
    }
}

Mit dieser Konfiguration läuft die "normale Seite" problemlos, und beim Aufruf von phpmyadmin erhalte ich die besagte leere Seite. Unter Apache funktioniert phpmyadmin problemlos.

Was mache ich falsch?

Gruß Michael

frostschutz

Avatar von frostschutz

Anmeldungsdatum:
18. November 2010

Beiträge: 7782

Was macht denn das rewrite break?

Hat mit deinem Problem nichts zu tun, aber bei php fastcgi/fpm solltest du unbedingt prüfen, ob die PHP-Datei tatsächlich existiert. Ansonsten schickst du bei einer URL a la image.gif/irgendwelcher/muell.php die image.gif durch den PHP-Interpreter. Wenn auf deiner Seite User eigene Bilder hochladen können (z.B. User-Avatare) oder du selbst fremde Bilder hochlädst, hast du damit eine wunderbare Sicherheitslücke in deiner Konfiguration, wenn im Bild dann PHP-Code eingebettet ist.

pinki

(Themenstarter)

Anmeldungsdatum:
26. Oktober 2009

Beiträge: 3

frostschutz schrieb:

Was macht denn das rewrite break?

Ich habe das in 'nem How-To so gefunden und nicht weiter darüber nachgedacht. Nach kurzem Googlen ist das break wohl dazu da, um zu verhindern, dass die nachfolgenden Sachen abgearbeitet werden. Habe den Teil mal aus der Konfiguration entfernt. Leider funktioniert das immer noch nicht. ☹ An sich ist mir auch egal, ob es unbedingt über die Subdomain geht. Wäre schön wenn, ist jedoch nicht unbedingt notwendig.

frostschutz schrieb:

Hat mit deinem Problem nichts zu tun, aber bei php fastcgi/fpm solltest du unbedingt prüfen, ob die PHP-Datei tatsächlich existiert. Ansonsten schickst du bei einer URL a la image.gif/irgendwelcher/muell.php die image.gif durch den PHP-Interpreter. Wenn auf deiner Seite User eigene Bilder hochladen können (z.B. User-Avatare) oder du selbst fremde Bilder hochlädst, hast du damit eine wunderbare Sicherheitslücke in deiner Konfiguration, wenn im Bild dann PHP-Code eingebettet ist.

Wie macht man das denn?

adun Team-Icon

Avatar von adun

Anmeldungsdatum:
29. März 2005

Beiträge: 8606

Läuft auf Port 9000 denn ein FastCGI Server?

pinki

(Themenstarter)

Anmeldungsdatum:
26. Oktober 2009

Beiträge: 3

adun schrieb:

Läuft auf Port 9000 denn ein FastCGI Server?

Ja. php-cgi läuft auf Port 9000.

Antworten |