phpMyAdmin neben Nextcloud installieren (nginx)

phpMyAdmin Logo

phpMyAdmin ist eine Webanwendung zur Administration von MySQL-Datenbanken. Zwar kann eine Datenbank auch über den Befehl mysql auf der Kommandozeile direkt administriert werden, jedoch ist die grafische Benutzeroberfläche von phpMyAdmin weitaus intuitiver zu bedienen, als SQL-Befehle direkt in der Kommandozeile einzutippen.

Dies Artikel zeigt daher, wie man phpMyAdmin auf einem Ubuntu Server 18.04.1 in Verbindung mit nginx als Webserver installieren und einrichten kann. In dieser Konfiguration sind nach der Installation noch einige Optimierungen für phpMyAdmin notwendig. Als Grundlage dienen hier zwei bereits bekannte Artikel:

Ich gehe daher im Folgenden davon aus, dass Nextcloud mit MariaDB/MySQL bereits auf dem System installiert ist. Für die verschlüsselte Verbindung über HTTPS sollte ein gültiges SSL-Zertifikat ebenso bereits vorhanden sein.

Update-Historie (letztes Update 13.01.2019)
  • 13.01.2019:
    • Anweisungen für PHP_VALUE  und client_max_body_size angepasst, so dass nun auch größere SQL-Dumps verarbeitet werden können.

Installation phpMyAdmin

Zunächst bringen wir das System auf den neusten Stand:

apt-get update && apt-get upgrade -V

Anschließend kann phpMyAdmin durch folgenden Befehl installiert werden:

apt-get install phpmyadmin

Der Installer läuft dabei interaktiv ab, so dass eine Grundkonfiguration bereits nach der Installation des Paketes gegeben ist.

In einem ersten Schritt folgt die automatische Konfiguration des Webservers. Hier werden leider nur die Optionen apache2 und lighttpd angeboten – nginx befindet sich nicht in der Auswahl.

phpMyAdmin Setup: Auswahl des Webservers
phpMyAdmin Setup: Auswahl des Webservers

Daher wird hier keine Option ausgewählt, sondern der Schritt einfach mit Enter übersprungen.

Die Installation wird nun fortgesetzt und nach einer kurzen Zeit erscheint ein Hinweis, dass für den Betrieb von phpMyAdmin eine Datenbank installiert und konfiguriert sein muss.

phpMyAdmin Setup: Konfiguration mittels dbconfig-common
phpMyAdmin Setup: Konfiguration mittels dbconfig-common

Achtung: Die Datenbank (MariaDB) wurde bereits beim Setup von Nextcloud installiert und aufgesetzt (siehe hier bzw. hier). Falls man hier nun Yes wählt, erhält man im nächsten Schritt einen Fehler. Daher muss an dieser Stelle No gewählt werden.

Nach wenigen Augenblicken ist die Installation von phpMyAdmin dann auch schon abgeschlossen.

Konfiguration nginx für phpMyAdmin

Während der Installation von phpMyAdmin stand nginx als Webserver leider nicht zur Auswahl, daher muss der Webserver nach dem Setup noch manuell angepasst werden.

Der richtige Ort für die Änderungen ist dabei der Gateway-Host:

nano /etc/nginx/conf.d/meinedomain.de.conf

Hier fügen wir nun ganz am Ende (aber vor der letzten schließenden Klammer) folgenden Inhalt ein:

location /phpmyadmin {
	root /usr/share/;
	index index.php index.html index.htm;

	client_max_body_size 100M;
	
	location ~ ^/phpmyadmin/(.+\.php)$ {
		try_files $uri =404;
		root /usr/share/;
		fastcgi_pass php-handler;
		fastcgi_index index.php;
		fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
		include /etc/nginx/fastcgi_params;
		fastcgi_param PHP_VALUE "open_basedir=/var/www:/tmp/:/usr/share/phpmyadmin:/usr/share/php:/etc/phpmyadmin/
			upload_max_filesize = 100M
			post_max_size = 100M
			max_execution_time = 3600";
    }
	
	location ~* ^/phpmyadmin/(.+\.(jpg|jpeg|gif|css|png|js|ico|html|xml|txt))$ {
	   root /usr/share/;
	}
}

Am Ende wird der Webserver noch neu gestartet, damit die Änderungen wirksam werden:

service nginx restart

Optimierung der phpMyAdmin-Installation

Da nun alle Vorbereitungen getroffen wurden, kann man sich nun mit folgender URL bei phpMyAdmin anmelden:

https://meinedomain.de/phpmyadmin

Es erscheint eine Anmeldemaske, mit der man sich nun als User root an der Datenbank anmelden kann. Das Root-Passwort wurde bei der ursprünglichen Installation von MariaDB angelegt (siehe hier). Eine Anmeldung mit Root ist notwendig, da man ansonsten nicht die erforderlichen Rechte an der Datenbank besitzt, um umfangreiche Änderungen durchzuführen.

phpMyAdmin: Anmeldung mit Root-Account
phpMyAdmin: Anmeldung mit Root-Account

Direkt nach dem Login wird man mit zwei Warnungen konfrontiert. Um die Einrichtung von phpMyAdmin abzuschließen ist leider noch etwas Handarbeit notwendig.

phpMyAdmin: Fehler nach erstem Login
phpMyAdmin: Fehler nach erstem Login

Passwort zur Verschlüsselung generieren

Zunächst kümmern wir uns um die untere Fehlermeldung („blowfish_secret“). Dabei handelt es sich um ein Sicherheits-Feature, bei dem ein Passwort zur Verschlüsselung der Verbindung in einer Konfigurations-Datei von phpMyAdmin hinterlegt werden muss.

Dieses Passwort muss genau 32 Zeichen lang sein. Am einfachsten kann man ein entsprechendes Passwort (oder besser gesagt den entsprechenden Hash-Wert) über die Seite Blowfish password hash generator generieren lassen.

Blowfish password hash generator
Blowfish password hash generator

Dazu gibt man in das entsprechende Eingabefeld einfach ein möglichst komplexes Passwort ein. Einfacher geht es über die Schaltfläche zur automatischen Generierung eines Passwortes (roter Pfeil). Dieses Passwort muss man sich dabei nicht merken, daher kann es eine beliebige Zeichenfolge (am besten mit Sonderzeichen) sein. Anschließend wird der Hash-Wert über den Button Generate erzeugt. Dieses Hash-Wert muss man nun kopieren.

Nachfolgend wird folgende Datei bearbeitet:

nano /etc/phpmyadmin/config.inc.php

Ganz am Ende der Datei wird nun folgende Zeile mit dem soeben kopierten Hash-Wert eingefügt:

$cfg['blowfish_secret'] = '$2a$07$ZHGuhpP7Gl3913T9GOMDk.EbFoBpbGBkuNesqXPvM0NTufx0BCAmm';

Verwaltungsdatenbank für phpMyAdmin anlegen

Wenn man die phpMyAdmin-Seite neu lädt, sollte nun nur noch eine Fehlermeldung zu sehen sein: Es muss noch eine Verwaltungsdatenbank für phpMyAdmin angelegt werden. Dazu klickt man einfach auf den Link Finden Sie heraus warum in der Meldung.

Anschließend klickt wiederum auf den Link anlegen auf der erscheinenden Seite.

Nach einem kurzen Moment sollte die neue Datenbank erfolgreich angelegt worden sein.

phpMyAdmin: Die Verwaltungs-Datenbank wurde erfolgreich angelegt
phpMyAdmin: Die Verwaltungs-Datenbank wurde erfolgreich angelegt

Fehler beim Öffnen von Tabellen

Auf der Übersichts-Seite von phpMyAdmin sollten nun keine Fehlermeldungen mehr angezeigt werden. Man wird beim Arbeiten mit phpMyAdmin jedoch auf ein weiteres Problem stoßen, wenn man eine Tabelle in einer Datenbank öffnen möchte.

Hier wird dann die Meldung count(): Parameter must be an array or an object that implements countable angezeigt:

phpMyAdmin: Fehler nach dem Öffnen einer Tabelle
phpMyAdmin: Fehler nach dem Öffnen einer Tabelle

Hierbei handelt es sich um einen Fehler im Quellcode des phpMyAdmin-Paketes, welches in den Ubuntu Paketquellen enthalten ist. Hier muss noch eine kleine Änderung am Sourcecode vorgenommen werden.

Dazu öffnen wir folgende Datei:

nano /usr/share/phpmyadmin/libraries/sql.lib.php

Anschließend suchen wir nach folgender Zeile (am besten folgende Zeile kopieren und in nano mittels STRG + W danach suchen):

|| (count($analyzed_sql_results['select_expr'] == 1)

Diese eine Zeile (und nur diese!) wird dann gelöscht und durch folgende Zeile ersetzt:

|| ((count($analyzed_sql_results['select_expr']) == 1)

Nach dieser kleinen Änderung sollte kein Fehler mehr beim Öffnen einer Tabelle erscheinen.

Fehler beim Importieren/Exportieren von Datenbanken

Das nächste Problem wird man bemerken, wenn man Datenbanken importieren oder exportieren möchte. In beiden Fällen wird man folgende Fehlermeldung bekommen:

Warning in ./libraries/plugin_interface.lib.php#551
count(): Parameter must be an array or an object that implements Countable

Auch hier muss man den Code modifizieren, so dass meine Fehlermeldungen mehr erscheinen.

Dazu öffnen wir die betroffene Datei:

nano /usr/share/phpmyadmin/libraries/plugin_interface.lib.php

Anschließend wird die betroffene Code-Zeile gesucht (STRG + W):

if ($options != null && count($options) > 0) {

Die komplette Zeile wird nun durch Folgendes ersetzt:

if ($options != null) {

Nach dem Speichern der Datei wird der Fehler beim Importieren/Exportieren nicht mehr erscheinen.

Optional: Zugriff auf phpMyAdmin nur über das lokale Netzwerk

Der Zugriff auf die Datenbankverwaltung ist mit dem gezeigten Setup von überall aus möglich – auch aus dem Internet. Aus Gründen der Sicherheit ist es hier eine Überlegung wert, ob man den Zugriff auf phpMyAdmin auf das lokale Netzwerk (LAN) beschränken möchte.

In diesem Fall müssen nochmals die Anweisungen für phpMyAdmin im Gateway-Host angepasst werden:

nano /etc/nginx/conf.d/meinedomain.de.conf

Ganz oben im location-Block für phpMyAdmin fügen wir nun folgende Anweisungen ein:

allow 192.168.178.0/24; 
deny all;

Nach einem Neustart des Webserver ist phpMyAdmin nur noch im lokalen Netzwerk (192.168.178.xxx) erreichbar. Beim Zugriff über das Internet erscheint dann nur ein Fehler HTTP 403 (Forbidden).

Fazit

Die Installation von phpMyAdmin ist schnell erledigt, jedoch sind hier und da noch einige Nacharbeiten notwendig, bis das Datenbankverwaltungs-Tool einwandfrei funktioniert.

Jedoch lohnt sich hier der Aufwand, da man nun die Datenbanken auf dem System komfortabel mit einer grafischen Oberfläche bearbeiten kann. Das ist viel intuitiver, als mit dem Tool mysql die Datenbanken auf der Kommandoziele zu bearbeiten.

Trotzdem sollte man immer beachten, dass man mit phpMyAdmin Admin-Zugriff auf alle Datenbanken hat (zumindest, wenn man sich mit dem User ‚root‘ einloggt). Beim Bearbeiten der Datenbanken sollte man Vorsicht walten lassen – eine falsche Bearbeitung von Tabellen kann hier dazu führen, dass die auf der Datenbank basierende Anwendung nicht mehr wie erwartet funktioniert.

Weiterführende Artikel

Links

34 Kommentare zu „phpMyAdmin neben Nextcloud installieren (nginx)“

  1. Hallo Jan
    wie immer, großartige Anleitung.
    Hast du vielleicht Lust eine Anleitung für „Cockpit“ (websocket) zu schreiben?
    Vielen Dank für deine Arbeit

    Carsten

      1. Ja, das meine ich. Wäre wirklich toll. Aber vielleicht kennst du ja auch etwas vergleichbares, was du als besser betrachtet. Suche einfach ein control panel, welches man nachträglich installieren kann und bei dem auf jeden Fall ein terminal über den Browser erreichbar ist.
        Vielen Dank noch einmal.

        Carsten

        1. Hi Carsten,

          mit dem Thema habe ich mich noch gar nicht weiter beschäftigt. Hier müsste ich denke ich auch erst mal die Alternativen sichten. Wie kommst du auf Cockpit, bzw. favorisierst dieses

          Gruß,
          Jan

  2. Alles andere, was ich gefunden habe, muss man von Beginn an installieren, da der Webserver dann damit konfiguriert werden muss. Webmin gefiel mir nicht, weiß gar nicht genau warum. Suche eine gute Übersicht über systemrelevante Informationen und ein terminal im Browser.

  3. Hallo Jan,

    erstmal vielen Dank für die ganzen Anleitungen, habe nextcloud und phpmyadmin umgesetzt und funktionierte auf Anhieb

    Hab nur ein kleines Problem:
    phpmyadmin ist aus dem Internet erreichbar

    Habe meinen Gateway-Host xxxx.xxxx.de.conf folgendermaßen abgeändert:

    location /phpmyadmin {
    allow 192.168.178.0/24;
    deny all;
    root /usr/share/;
    index index.php index.html index.htm;

    location ~ ^/phpmyadmin/(.+\.php)$ {
    try_files $uri =404;
    root /usr/share/;
    fastcgi_pass php-handler;
    fastcgi_index index.php;
    fastcgi_param SCRIPT_FILENAME
    $document_root$fastcgi_script_name;
    include /etc/nginx/fastcgi_params;
    fastcgi_param PHP_VALUE „open_basedir=/var/www:/tmp/:/usr/share/phpmyadmin:/usr/share/php:/etc/phpmyadmin/“;
    }

    location ~* ^/phpmyadmin/(.+\.(jpg|jpeg|gif|css|png|js|ico|html|xml|txt))$ {
    root /usr/share/;
    }
    }
    }

    Danach den nginx neu gestartet, leider ist phpmyadmin immer noch aus dem Internet erreichbar.

    Kannst Du mir weiterhelfen, Danke?

    Grüße
    Thomas

    1. Hi Thomas,

      ich habe das ganze nun nochmal schnell bei mir lokal verprobt.
      sobald ich die Zeilen
      allow 192.168.178.0/24;
      deny all;

      dort einfüge, ist phpMyAdmin nicht mehr aus dem Internet erreichbar.

      Teste doch bitte mal folgendes:
      Zunächst, was passiert, wenn du nicht über deinen Internet-Anschluss gehst, d.h. phpMyAdmin über das Handy im Mobilfunknetz aufrufst? Klappt auch hier der Zugriff?
      Ansonsten probiere doch mal, sämtliche Anweisungen bzgl. phpMyAdmin im Gateway-Host auszukommentieren. Wenn es dann immer noch über das Internet klappen sollte, ist der Gateway-Host gar nicht involviert und er sucht sich den Weg irgendwie anders.
      Zu guter Letzt: Entspricht das allow 192.168.178.0/24 tatsächlich deinem Subnet?

      Gruß,
      Jan

      1. Hallo Jan,

        ich habe es immer nur über meinen Internet-Anschluss probiert, wenn ich über Mobilfunk die Seite aufrufe kommt 403 Forbidden. Es funktioniert also.

        Vielen Dank für deine Hilfe und noch schöne Feiertage.

        Grüße
        Thomas

  4. Hallo,

    habe nach der aktuellen Anleitung Ubuntu Server + Nextcloud und phpMyAdmin aufgesetzt – funktioniert alles problemlos.

    Allerdings klappt die Einschränkung des Zugriffs mit:
    „allow 192.168.178.0/24;
    deny all;“
    nicht richtig. Die entsprechende Seite wird nach dem hinzufügen der 2 Linien gar nicht mehr angezeigt (403 Forbidden), AUCH aus dem lokalen Netzwerk.

    Bei der Konfiguration von nginx habe ich mich an die vorgaben aus deinen Anleitungen gehalten.

    Woran könnte das liegen?

    1. Hi,

      ist denn „192.168.178.0/24“ das richtige Subnet? Oder anders gesagt, wenn dein Router andere IPs vergibt (z.B. 192.166.178.x), dann muss die Angabe unter „allow…“ natürlich entsprechend angepasst werden.

      Gruß,
      Jan

  5. Hallo Jan,
    vielen Dank für diese und die vielen anderen Anleitungungen.

    phpMyAdmin läuft auch soweit.
    Dennoch erhalte ich in der nginx error log folgende meldung:

    [error] 851#851: *1863 FastCGI sent in stderr: „PHP message: phpmyadmin: Failed to load /var/lib/phpmyadmin/blowfish_secret.inc.php Check group www-data has read access and open_basedir restrictions.
    PHP message: phpmyadmin: Failed to load /var/lib/phpmyadmin/config.inc.php Check group www-data has read access and open_basedir restrictions“ while reading response header from upstream, client: 192.168.178.50, server: xxxx.xxxx.xxxx, request: „POST /phpmyadmin/db_structure.php?ajax_request=1&favorite_table=1&sync_favorite_tables=1&token=1801fc4bd34eef75f2c59259c74a913d HTTP/2.0“, upstream: „fastcgi://unix:/run/php/php7.2-fpm.sock:“, host: „192.168.178.50“

    Ich habe bereits die /etc/phpmyadmin/config.inc.php nach /var/lib/phpmyadmin/ kopiert und die Besitzrechte von phpmyadmin/ auf www-data:www-data geändert.
    In die Datei /var/lib/phpmyadmin/blowfish_secret.inc.php habe ich das erstellte blowfish secret eingetragen.

    Leider hat sich an der Fehlermeldung nichts geändert.
    Hast du eine Lösung?

    Freundliche Grüße

    Hans M.

    1. Hallo Hans,

      komisch, bei dir scheint phpMyAdmin die Datei in anderen Verzeichnissen zu suchen.
      Nehm diese Verzeichnisse doch mal unter open_basedir in der Datei /etc/nginx/conf.d/meinedomain.de.conf auf. Hier müsste es also heißen (Verzeichnis /var/lib/phpmyadmin/ bei open_basedir hinzugefügt hinzugefügt):
      fastcgi_param PHP_VALUE "open_basedir=/var/www:/tmp/:/usr/share/phpmyadmin:/usr/share/php:/etc/phpmyadmin/:/var/lib/phpmyadmin/
      upload_max_filesize = 100M
      post_max_size = 100M
      max_execution_time = 3600";

      Vielleicht verschwindet die Meldung dann ja.

      Gruß,
      Jan

      1. Vielen Dank!
        Das war genau richtig.
        Nach dem setzen des Verzeichnis /var/lib/phpmyadmin ins open_basedir ist die Fehlermeldung verschwunden.

        Grüße,

        Hans M.

  6. Hallo Jan,

    erstmal vielen dank für deine ganzen Artikel/Anleitungen, vor allem für die Erklärungen.

    Mir ist aufgefallen das du in deinen Anleitungen meistens den Gateway-Host verwendest und von dort auf den App/Webdienst-Host weiterleitest. Im Fall von phpMyAdmin tust du das nicht, gibt es dafür einen Grund?

    Danke und Gruß
    Marcel

    1. Hallo Marcel,

      das hat in diesem Fall keinen speziellen Grund. Man könnte auch einen weiteren vHost anlegen, so dass die Kommunikation dann so aussehen könnte: Gateway-Host -> phpMyAdmin-vHost -> phpMyAdmin-Backend.
      Allerdings wäre der vHost für phpMyAdmin dann sehr simpel, so dass ich das in diesem Artikel einfach in den Gateway-Host mit eingepackt habe.

      Gruß,
      Jan

      1. Hi Jan,

        ich hab das jetzt mal umgesetzt und es funktioniert auch grundsätzlich, nur bekomme ich im phpMyAdmin zwei Meldungen.

        OpenSSL error: error:0E06D06C:configuration file routines:NCONF_get_string:no value

        OpenSSL error: error:0909006C:PEM routines:get_name:no start line

        Da ich die vorher nicht hatte, gehe ich davon aus das ich irgend etwas im Gateway-Host oder im v-Host vergessen oder falsch gemacht habe.

        Hier mal meine Einstellungen:
        Gateway-Host:

        #
        # phpMyAdmin
        #
        location ^~ /phpmyadmin/ {
        proxy_connect_timeout 3600;
        proxy_send_timeout 3600;
        proxy_read_timeout 3600;
        send_timeout 3600;
        proxy_buffering off;
        proxy_request_buffering off;
        proxy_max_temp_file_size 100m;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_pass http://127.0.0.1:83;
        proxy_redirect off;
        }

        v-Host:

        server {
        listen 127.0.0.1:83;
        server_name 127.0.0.1;

        # Path to the root of your installation
        root /usr/share/;

        # Logging
        error_log /var/log/phpmyadmin.access_log;
        access_log /var/log/phpmyadmin.error_log;

        location /phpmyadmin {
        index index.php index.html index.htm;

        client_max_body_size 100M;

        auth_basic „Passwortgeschützter Bereich“;
        auth_basic_user_file /etc/nginx/.htpasswd;

        location ~ ^/phpmyadmin/(.+\.php)$ {
        try_files $uri =404;
        fastcgi_pass php-handler;
        fastcgi_index index.php;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        include /etc/nginx/fastcgi_params;
        fastcgi_param PHP_VALUE „open_basedir=/var/www:/tmp/:/usr/share/phpmyadmin:/usr/share/php:/etc/phpmyadmin/
        upload_max_filesize = 100M
        post_max_size = 100M
        max_execution_time = 3600“;
        }

        location ~* ^/phpmyadmin/(.+\.(jpg|jpeg|gif|css|png|js|ico|html|xml|txt))$ {
        }
        }
        }

        Hast du vielleicht ein Tip für mich?

        Danke Marcel

        1. Hallo Marcel,

          gut, du hast das Problem schon selbst lösen können. Mir wäre dazu auch wenig eingefallen, da ich ein solches Problem noch nie beobachten konnte.
          Auf jeden Fall danke für die Rückmeldung.

          Gruß,
          Jan

  7. Hallo Jan,
    Ich habe den Konfigurationsbock in meine
    /etc/nginx/conf.d/meinedomain.de.conf angehängt und die Login-Seite erscheint auch.
    Allerdings erhalte ich bei dem Versuch, mich als „root“ einzuloggen eine Fehlermeldung…

    #1698 – Access denied for user ‚root’@’localhost‘

    mysqli_real_connect(): (HY000/1698): Access denied for user ‚root’@’localhost‘

    Über mysql -u root -p kann ich mich problemlos einloggen.

    Hast du eine Idee, woran das liegen könnte?

  8. Hallo Jan,
    viel. möchtest du erwähnen, dass mdb mysql auf Port 3306 lauscht und ggf. via Firewall freigeschalten werden muss:

    sudo ufw allow 3306

    Hatte gerade das Problem, als ich meine ufw konfiguriert habe.

    1. Hi Sascha,

      aber nur, wenn man auf eine „Remote-DB“ zugreifen will, oder?
      Der Artikel ist eher für den lokalen Zugriff gedacht. Wenn über Netzwerk, dann muss man u.U. die DB noch weiter konfigurieren, v.a. wenn man per mysql_secure_installation den Remote-Zugriff gekappt hat.

      Gruß,
      Jan

  9. hallo,
    ich habe versucht nach dieser anleitung zu installieren.
    allerdings scheitere ich schon beim aufruf von :
    nano /etc/nginx/conf.d/meinedomain.de.conf
    ich habe keine datei mit der domain.conf im ordner conf.d…..
    kannst du mir helfen?
    gruß jörg

    1. Hi Jörg,

      es kann sein, dass dein nginx die vHosts nicht aus /etc/nginx/conf.d ausliest, sondern aus /etc/nginx/sites-enabled. Dazu habe ich hier mal einen Absatz verfasst, vielleicht hilft dir der schon weiter.

      Gruß,
      Jan

  10. moin nochmal, habs nun hinbekommen, aber ich erhalte folgende fehlermeldungen:
    Warning in ./libraries/classes/Config.php#1760
    is_dir(): open_basedir restriction in effect. File(/var/lib/phpmyadmin/tmp//twig) is not within the allowed path(s): (/var/www:/tmp/:/usr/share/phpmyadmin:/usr/share/php:/etc/phpmyadmin/)

    kannst du mir helfen?
    bräuchte aber eine genaue anleitung, denn ich bin nicht gut in linux….
    gruß Jörg und ein schönes weihnachtsfest

    1. Hi Jörg,

      ich war mal so frei und habe das Stacktrace aus deinem Kommentar entfernt. Die erste Meldung sagt ja schon alles aus: Du nutzt open_basedir für PHP, d.h. PHP darf nur auf die Verzeichnisse zugreifen, die unter open_basedir angegeben sind.
      Also entweder deaktivierst du open_basedir, was ich in den neueren Artikeln eigentlich empfehle, weil es vieles einfacher macht. Alternativ kannst du dies im vHost für phpMyAdmin angeben in genau dieser Zeile am Ende noch das Verzeichnis /var/lib/phpmyadmin/ mit aufnehmen:
      fastcgi_param PHP_VALUE "open_basedir=/var/www:/tmp/:/usr/share/phpmyadmin:/usr/share/php:/etc/phpmyadmin/

      Gruß,
      Jan

      1. wow, wie schnell du antwortest…
        kannst du mir sagen, wie ich dies anstellen muss?
        sorry, ich hab wirklich wenig ahnung und möchte mir die nc nicht zerschiessen…
        gruß
        jörg

        1. Hi Jörg,

          einfach den vHost für phpMyAdmin mit einem Editor öffnen und folgende Zeile
          fastcgi_param PHP_VALUE "open_basedir=/var/www:/tmp/:/usr/share/phpmyadmin:/usr/share/php:/etc/phpmyadmin/
          durch diese hier ersetzen:
          fastcgi_param PHP_VALUE "open_basedir=/var/www:/tmp/:/usr/share/phpmyadmin:/usr/share/php:/etc/phpmyadmin/:/var/lib/phpmyadmin/
          Datei speichern und nginx einmal neu starten: service nginx restart

          Danach sollte die Fehlermeldung verschwunden sein.

          Gruß,
          Jan

Kommentar verfassen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert