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:
- Ubuntu Server 18.04 LTS als Hyper-V Gastsystem installieren und optimal einrichten
- Nextcloud auf Ubuntu Server 18.04 LTS mit nginx, MariaDB, PHP, Let’s Encrypt, Redis und Fail2ban
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.
Inhalt
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.

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.

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.

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

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.

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.

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:

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
- Nextcloud auf Ubuntu Server 18.04 LTS mit nginx, MariaDB, PHP, Let’s Encrypt, Redis und Fail2ban
- Ubuntu Server 18.04 LTS als Hyper-V Gastsystem installieren und optimal einrichten
- Zweite Web-Anwendung neben ownCloud/Nextcloud einrichten (am Beispiel WordPress)
Hallo, genau was ich gesucht habe, vielen Dank
Gruß Hans
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
Hi Carsten,
du meist sicher das hier, oder?
Ich kann dir zwar nichts versprechen, aber ich nehme es mal mit auf meine ToDo-Liste.
Gruß,
Jan
Hallo Jan,
was hast du denn alles auf deiner Liste?
Gruß Hans
Hi,
so einiges. ;-)
Allerdings fehlt mir momentan leider auch die Zeit, um an neuen Artikeln zu arbeiten.
Gruß,
Jan
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
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
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.
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
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
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
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?
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
Hi, danke schon mal für die Antwort, das hatte ich aber nach den vorherigen Kommentaren schon geprüft und es passt soweit..
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.
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
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.
Hi Hans,
ja, dann lag es zum Glück wirklich nur an open_basedir und war kein größeres Problem.
Danke für die Rückmeldung.
Gruß,
Jan
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
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
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
Ok nach einem erneuten Nginx restart läuft alles, keine Meldungen mehr im phpMyAdmin.
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
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?
Hat sich erledigt…
Ich habe einen neuen Nutzer mit root-Privilegien nach diesem Tutoria angelegt.
Damit klappt es…
https://askubuntu.com/questions/763336/cannot-enter-phpmyadmin-as-root-mysql-5-7/763359#763359
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.
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
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
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
ich habs schon hinbekommen, aber ich habe auch schon einen anderen fehler gepostet… sorry
gruß jörg
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
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 unteropen_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
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
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