RASPBIAN: NGINX, PHP7 (FPM/FastCGI), MariaDB & phpMyAdmin installieren

Hier gibt's Anleitungen und Themen dazu.

Themenstarter
Outi
Administrator
Administrator
Beiträge: 200
Registriert: 13.02.2015, 22:24
RasPis: 10+
Kontaktdaten:

RASPBIAN: NGINX, PHP7 (FPM/FastCGI), MariaDB & phpMyAdmin installieren

Beitrag von Outi » 21.02.2016, 15:07

History:
08.10.2017 - V01.06 - Hinweise zu phpMyAdmin bez. Datenbankrechte hinzugefügt (Standard keine Administration möglich, wenn nicht lokal).
04.10.2017 - V01.05 - Anleitung an aktuelles Image (Stretch) angepasst und aktualisiert, worker_processes 4 Info entfernt, da inzw. auf "auto"
26.12.2016 - V01.04 - Info zur Konfiguration bez. Pi 2 und Pi 3 / worker_processes 4 hinzugefügt
03.03.2016 - V01.03 - Befehl korrigiert für den 1. Restart von NGINX und Konfigcode optimiert
27.02.2016 - V01.02 - Abschalten der NGINX Versionsanzeige im Abschnitt NGINX hinzugefügt
22.02.2016 - V01.01 - Anpassung für Singlecore Pis im Abschnitt NGINX hinzugefügt
21.02.2016 - V01.00 - Erste Fertigstellung


Hinweis:
Diese Anleitung/Information erhebt keinen Anspruch auf Vollständigkeit und kann Fehler enthalten und die Benutzung erfolgt auf eigene Gefahr.
Es wird keinerlei Haftung für Schäden und/oder Datenverluste übernommen.

Info:
Diese Anleitung setzt ein fertig konfiguriertes RASPBIAN voraus.
Die apt-get install xxxx Befehle wurden absichtlich einzeln zu den Textpassagen hinzugefügt und nicht gesamt alles auf einmal installiert, damit man auf Wunsch auch nur das installiert, was man haben möchte und Teile ersetzen oder überspringen kann.
Sollten einzelne Teile oder alle getrennt zu unterschiedlichen Zeiten installiert werden, sollte immer ein Paketupdate vorab durchgeführt werden per sudo apt-get update && sudo apt-get upgrade.


Wikipedianginx (Aussprache: Engine Ex) ist ein leichtgewichtiger Webserver, der deutlich weniger Ressourcen und Leistung verbraucht, als der schwergewichtige Apache. In dieser Anleitung wird NGINX mit PHP, MySQL und der Datenbankverwaltung phpMyAdmin installiert, was im Groben eine Grundausstattung für einen Webserver aufzeigt. Gerade der Raspberry Pi 2 B dürfte hier deutlich besser abschneiden, als seine Vorgänger und der neue Pi Zero. Aber auch dort sind Webprojekte möglich, jedoch merkt man recht schnell, dass diese Singlecore CPUs mit größeren Skripten etwas überfordert sind und zeigen oft längere Wartezeiten. Der Pi 2 B hat einen Quadcore Prozessor und etwas mehr Speicher. Einige Erfahrungen anderer Benutzer sind auch mit dem Apachen auf dem Pi 2 B zufrieden. Jedoch soll hier trotz alle dem der NGINX Server installiert werden.


Inhaltsverzeichnis:
(1) NGINX installieren
(2) PHP 7 installieren
(3) MariaDB installieren (ersetzt MySQL unter Debian Stretch)
(4) phpMyAdmin installieren


(1) NGINX installieren

Zuerst folgt die übliche Paketaktualisierung:

Code: Alles auswählen

sudo apt-get update && sudo apt-get upgrade
Darauf hin wird die Installation mit dem bekannten Paketmanager durchgeführt:

Code: Alles auswählen

sudo apt-get install nginx
Etwaige Nachfragen bez. Installation werden mit "ja" oder "yes" beantwortet.

Anschließend wird NGINX gestartet:

Code: Alles auswählen

sudo /etc/init.d/nginx start
Ein erster Test soll zeigen, dass NGINX auch läuft. Hierzu rufen wir im Browser folgende Seite auf:

Code: Alles auswählen

http://raspberrypi
(oder was auch immer als Hostname gewählt wurde) oder

http://192.168.xxx.xxx
(die IP Adresse, die entweder fest oder per DHCP zugewiesen wurde)
Hat alles geklappt, erscheint im Browserfenster folgende Meldung:

Bild

Manchmal ist die Anzeige der NGINX Version z.B. bei Fehlerseiten nicht erwünscht. Diese kann man in der Konfigdatei deaktivieren:

Code: Alles auswählen

sudo nano /etc/nginx/nginx.conf
Darin im Bereich http das # vor der folgenden Zeile entfernen: server_tokens off;

Danach mit folgendem Befehl NGINX neu starten:

Code: Alles auswählen

sudo /etc/init.d/nginx reload

(2) PHP 7 installieren

Als nächstes folgt die Installation einiger PHP Pakete:

Code: Alles auswählen

sudo apt-get install php7.0-common php7.0-fpm php7.0-cli php7.0-json php7.0-mysql php7.0-curl php7.0-intl php7.0-mcrypt php-pear php7.0-gd php7.0-zip php7.0-xml php7.0-mbstring
Auch hier wieder die Frage bez. Installation mit "ja" oder "yes" bestätigen.
Die Installation dauert hier ein klein wenig länger.

Nun wird PHP in NGINX eingebunden, indem man die Datei /etc/nginx/sites-available/default mit dem Editor Nano mit dem folgenden Befehl bearbeitet:

Code: Alles auswählen

sudo nano /etc/nginx/sites-available/default
Darin ist folgender Codeabschnitt zu finden:

Code: Alles auswählen

	# pass PHP scripts to FastCGI server
	#
	#location ~ \.php$ {
	#	include snippets/fastcgi-php.conf;
	#
	#	# With php-fpm (or other unix sockets):
	#	fastcgi_pass unix:/var/run/php/php7.0-fpm.sock;
	#	# With php-cgi (or other tcp sockets):
	#	fastcgi_pass 127.0.0.1:9000;
	#}
Den obigen Text bitte so bearbeiten dass er wie folgt aussieht:

Code: Alles auswählen

	# pass PHP scripts to FastCGI server
	#
	location ~ \.php$ {
		include snippets/fastcgi-php.conf;
	#
	#	# With php-fpm (or other unix sockets):
		fastcgi_pass unix:/var/run/php/php7.0-fpm.sock;
	#	# With php-cgi (or other tcp sockets):
	#	fastcgi_pass 127.0.0.1:9000;
	}
Achtung:
Beim Copy/Paste hier im Forum werden Tabs in Leerzeichen umgewandelt !!
Dies passiert leider auch beim Einfügen der Zeilen in die Datei.
Dies ist zwar nicht weiter tragisch, jedoch sollte man - um die Einrückungen dem restlichen Text anzupassen - diese Leerzeichen löschen und wieder durch Tabs ersetzen.


Damit PHP Dateien auch erkannt und ausgeführt werden, muss in der selben Datei noch Folgendes ergänzt/geändert werden:

Code: Alles auswählen

	# Add index.php to the list if you are using PHP
	index index.html index.htm index.nginx-debian.html;
ändern in:

Code: Alles auswählen

	# Add index.php to the list if you are using PHP
	index index.php index.html index.htm;
Im Anschluss wird die Datei gespeichert und beendet mit <STRG-X> und "j" oder "y" (je nach Sprache).

Zu guter Letzt müssen NGINX und PHP neu gestartet werden:

Code: Alles auswählen

sudo /etc/init.d/php7.0-fpm reload && sudo /etc/init.d/nginx reload
Um zu testen, dass PHP auch wirklich läuft und korrekt eingebunden wurde, wird eine kleine Testdatei erstellt, die dann im Browser aufgerufen wird.
In der zuvor bearbeiteten Datei ist das Verzeichnis zu sehen, aus dem der Webserver seine Seiten aufruft:

Code: Alles auswählen

	root /var/www/html;
"root" bedeutet hier nicht, dass dieses Verzeichnis dem User "Root" gehört, sondern, dass dies das Hauptverzeichnis für die Standardwebseiten ist.
Daher wird folgende leere Testdatei in diesem Verzeichnis erzeugt:

Code: Alles auswählen

sudo nano /var/www/html/phpinfo.php
Diese Datei wird mit folgendem Inhalt gefüllt:

Code: Alles auswählen

<?php phpinfo(); ?>
Aufgerufen wird diese Datei dann wieder im Browser und zwar so:

Code: Alles auswählen

http://hostname/phpinfo.php

oder

http://192.168.xxx.xxx/phpinfo.php
Danach sollte folgendes Fenster erscheinen:

Bild

Nun können die Willkommensseite von NGIX und die phpinfo.php Datei (zur Sicherheit) gelöscht und durch eigene Seiten ersetzt werden.


(3) MariaDB installieren (ersetzt MySQL unter Debian Stretch)

Während oben die Grundlagen für einen Webserver und der Skriptsprache PHP geschaffen wurde, folgt hier die Beschreibung der in Debian/Raspbian Stretch als Standard eingeführten Datenbankschnittstelle WikipediaMariaDB.

Um MariaDB zu installieren, wird folgender Befehl eingegeben:

Code: Alles auswählen

sudo apt-get install mariadb-client mariadb-server
Danach folgt die Absicherung der Datenbank mit folgendem Befehl:

Code: Alles auswählen

sudo mysql_secure_installation
Hier ist zuerst das aktuelle Passwort des Datenbankadministrators (root) eingegeben. Wurde die Datenbank erst gerade installiert und noch kein Passwort eingegeben, ist einfach die Entertaste für kein Passwort einzugeben.

Es folgt daraufhin die Frage, ob man ein Passwort setzen möchte. Dies sollte unbedingt mit Y für Yes bestätigt werden.

Nun ist das neue Administratorpasswort einzugeben, danach ein zweites Mal zur Bestätigung (und um Tippfehler zu vermeiden).

Auf die Frage, ob anonyme Benutzer gelöscht werden sollen, ist ebenfalls mit Y für Yes zu bestätigen.

Ebenso ist die nachfolgende Frage nach dem Verbot für das entfernte Einloggen des Benutzers "Root" mit Y zu bestätigen. Somit kann sich der Benutzer "Root" nur lokal in die Datenbank einloggen und niemand sonst aus dem Netzwerk mit diesem Account.

Bei der Frage nach dem Löschen der Datenbank "Test" ist auch wieder eine Bestätigung mit Y einzugeben, da diese für eine produktive Umgebung nicht benötigt wird. Ebenso werden auch die Zugänge darauf gelöscht.

Zum Schluss folgt noch die erneute Bestätigung mit Y für das Neuladen der Datenbankprivilegien, damit die Änderungen sofort übernommen werden.

Die Installation ist hiermit beendet und die zu dem früheren MySQL kompatible Datenbank kann sofort eingesetzt werden.


(4) phpMyAdmin installieren

Zuerst wird das Paket für phpMyAdmin installiert:

Code: Alles auswählen

sudo apt-get install phpmyadmin
Nach dem Bestätigen der Installation mit "j" oder "y" erscheint nach kurzer Zeit folgendes Fenster:

Bild

Da bei phpMyAdmin in der Auswahl der Server kein NGINX vorkommt, ist darauf zu achten, dass auch nichts angekreuzt, sondern direkt nach unten gegangen und diese "Nichtauswahl" mit <OK> bestätigt wird.

Dann wird die Installation automatisch fortgesetzt.
Dies dauert einige Zeit, da hier einige Abhängigkeiten nachinstalliert werden.
Danach erscheint wieder ein neues Fenster, in dem die Einrichtung und Konfiguration der Datenbank für phpMyAdmin durch die Bestätigung mit <JA> erfolgt:

Bild

Darauf folgt eine Passwortkonfiguration, bei der phpMyAdmin ein Passwort für den Zugriff auf MySQL bekommt. Wird hier nichts eingetragen, erzeugt die Installationsroutine ein zufälliges Passwort.

Bild

Hier ein gewünschtes Passwort vergeben, dann ein zweites Mal eingeben und damit bestätigen.
Danach ist die Installation kurz darauf beendet und man befindet sich wieder in der Eingabeaufforderung.

Als nächster Schritt wird der Webserver NGINX auf phpMyAdmin konfiguriert. phpMyAdmin wurde bei der Installation in das Verzeichnis /usr/share/phpmyadmin kopiert. Damit man über NGINX darauf zugreifen kann, ist eine Änderung notwendig.
Hier gibt es nun mehrere Möglichkeiten, dies zu realisieren. Zum einen kann man den Pfad in eine Subdomain verlinken oder einfach an den Hostnamen oder die IP ein Verzeichnis anhängen ala http://raspberrypi/phpmyadmin.
In dieser Anleitung wird jedoch ein anderer Port konfiguriert, damit man extern phpMyAdmin nicht so leicht finden kann, falls man auch extern darauf zugreifen will. Das ist zwar auch kein 100%iger Schutz aber besser als gar nichts.

Um die Konfiguration zu erweitern, ist die folgende Datei zu bearbeiten:

Code: Alles auswählen

sudo nano /etc/nginx/sites-available/default
Ganz unten am Ende wird folgender Inhalt angehängt:

Code: Alles auswählen

server {
    listen          81;
    server_name     raspberrypi;
    root        /usr/share/phpmyadmin;
    index       index.php index.html index.htm;
    if (!-e $request_filename) {
        rewrite ^/(.+)$ /index.php?url=$1 last;
        break;
    }
    location ~ \.php$ {
        try_files $uri =404;
        fastcgi_pass unix:/var/run/php/php7.0-fpm.sock;
        fastcgi_index index.php;
        fastcgi_param SCRIPT_FILENAME $document_root/$fastcgi_script_name;
        include /etc/nginx/fastcgi_params;
    }
}
Oben sollte der Server_name an den eigenen Hostnamen oder eine Domain angepasst werden, sofern man was anderes verwendet.

Um die Änderungen zu übernehmen und neu einzulesen, werden NGINX und PHP neu gestartet:

Code: Alles auswählen

 sudo /etc/init.d/php7.0-fpm reload && sudo /etc/init.d/nginx reload
Wird der standardmäßige Hostname raspberrypi verwendet und lokal auf phpMyAdmin zugegriffen, ist dieses über Port 81 im Browser so zu erreichen:

Code: Alles auswählen

http://raspberrypi:81
Selbstverständlich kann dieser Abschnitt auch in eine eigene Datei unter /etc/nginx/sites-available gespeichert und per SymLink in /etc/nginx/sites-enabled aktiviert werden.

Nach dem Aufruf nach obigem Schema im Browser erscheint die Loginmaske von phpMyAdmin:

Bild

Hier ist nun ein Login mit dem Datenbankbenutzer "phpmyadmin" und dem weiter oben definierten Passwort möglich und man erhält die folgende Startseite:

Bild

Greift man von extern auf phpMyAdmin zu, sollte eine Verschlüsselung aktiviert werden, denn sonst gehen die Abfragen im Klartext durchs Internet. Daher entweder verschlüsseln oder den Zugriff von extern blockieren.

Da aber nach der Standardkonfiguration (wie oben ausgeführt) der Benutzer phpmyadmin keine Rechte zum Anlegen und/oder bearbeiten anderer Datenbanken hat, wenn man nicht lokal am Raspberry Pi (sondern über das Netz) zugreift, gibt es zwei Möglichkeiten, dieses einzurichten:

1. dem Benutzer phpmyadmin alle Rechte geben (sollte eigentlich vermieden werden, vor allem Remote)
2. einen neuen Benutzer anlegen und diesem alle Rechte geben (auch hier die Sicherheit bedenken)

Auf jeden Fall sollte man bei einem Fernzugriff über das Internet mindestens die SSL Verschlüsselung aktivieren.

1. Möglichkeit: dem Benutzer phpmyadmin alle Rechte für MariaDB einrichten.
Dies geschieht in der Datenbank selbst, die wie folgt per Root zu starten ist:

Code: Alles auswählen

sudo mysql --user=root mysql
Es erscheint der mysql Prompt, bei dem für die Rechtevergabe des vorhandenen Benutzers phpmyadmin Folgendes einzugeben ist:

Code: Alles auswählen

GRANT ALL PRIVILEGES ON *.* TO 'phpmyadmin'@'localhost' WITH GRANT OPTION;
Damit diese Rechte sofort geändert und übernommen werden, ist folgender Befehl zum Abschluss einzugeben:

Code: Alles auswählen

FLUSH PRIVILEGES;
Danach wird mysql (MariaDB) mit exit verlassen.

Wenn jedoch einen gänzlich anderen Benutzernamen verwenden werden soll, ist die 1. Möglichkeit zu ignorieren und stattdessen die 2. Möglichkeit zu verwenden:

2. Möglichkeit: Einen neuen Benutzer anlegen und alle Rechte vergeben
Hierzu ist (wie bei Möglichkeit 1) die Kommandozeile von mysql zu starten:

Code: Alles auswählen

sudo mysql --user=root mysql
Der neue Benutzer wird wie folgt angelegt:

Code: Alles auswählen

CREATE USER 'benutzername'@'localhost' IDENTIFIED BY 'passwort';
Die Wörter benutzername und passwort sind durch eigene Kreationen auszutauschen.

Die Rechtevergabe sieht dann so aus:

Code: Alles auswählen

GRANT ALL PRIVILEGES ON *.* TO 'benutzer'@'localhost' WITH GRANT OPTION;
Auch hier ist das Wort benutzer wie im oberen Befehl gleich zu setzen.

Und zum Abschluss wieder die sofortige Rechteübernahme:

Code: Alles auswählen

FLUSH PRIVILEGES;
Der Befehl exit beendet die Datenbankkonsole wieder und führt in die Terminaleingabe zurück.

In der Regel sollte ein Login mit allen Rechten und dem geänderten Benutzer phpmyadmin oder einem neu dafür angelegten Benutzer sofort möglich sein, da phpMyAdmin die Benutzer in der eigenen Datenbank ablegt.
Sollte dies aber dennoch nicht funktionieren, kann/muss der Benutzer in der phpMyAdmin Konfiguration angepasst werden.

Hierzu wird in der Konfigurationsdatei /etc/dbconfig-common/phpmyadmin.conf der Benutzer entsprechend ausgetauscht.

Ob die erweiterte Rechtevergabe geklappt hat, erkennt man im eingeloggten phpMyAdmin links an der Anzahl der Datenbanken (mehr als 2).
Zum Test sollte eine neue Datenbank angelegt und wieder gelöscht werden.

Generell lässt sich noch empfehlen, dass ggf. für diverse Datenbanken auch unterschiedliche Benutzer mit verschiedenen Rechten konfiguriert werden können. Hierzu ist z.B. die recht ausführliche Anleitung per man mysql aufrufbar oder auch diverse Webseiten zu MySQL und MariaDB geben umfangreiche Infos.

Fortsetzungen, Korrekturen, Änderungen möglich ....

Copyright © 2019 by RasPiFun.de
;)Gruß Outi :D


Themenstarter
Outi
Administrator
Administrator
Beiträge: 200
Registriert: 13.02.2015, 22:24
RasPis: 10+
Kontaktdaten:

Re: RASPBIAN: NGINX, PHP7, MariaDB & phpMyAdmin installieren

Beitrag von Outi » 04.10.2017, 17:10

Anleitung an aktuelles Image (Stretch) angepasst und aktualisiert.

Änderungen u.A.:

- PHP5 => PHP7
- MySQL => MariaDB
;)Gruß Outi :D


Heinzmann
Mitglied
Mitglied
Beiträge: 5
Registriert: 05.10.2017, 21:48

Re: RASPBIAN: NGINX, PHP7, MariaDB & phpMyAdmin installieren

Beitrag von Heinzmann » 05.10.2017, 22:07

Hallo Mitglieder des RasPiFun - Forums,

ich bin gemäß der Anleitung vorgegangen. Es hat auch alles super
funktioniert (Seite mit NGINX, PHP Startbild).

Beim reload: sudo /etc/init.d/php7.0-fpm reload && sudo /etc/init.d/nginx reload
kommt folgender Fehler (siehe Anlage): "Reloading nginx configuration (via systemctl): nginx.servicenginx.service is not active, cannot reload." Es geht auch kein NGINX- und kein PHP-Startseite mehr --> überall Ladefehler
Wenn mit http://IP-Adresse:81 die Web-Seite aufrufe, kommt auch nur ein Ladefehler.

Was habe ich falsch gemacht.
Bitte helft mir bei der Fehlersuche.
Vielen Dank.
Heinzmann


Themenstarter
Outi
Administrator
Administrator
Beiträge: 200
Registriert: 13.02.2015, 22:24
RasPis: 10+
Kontaktdaten:

Re: RASPBIAN: NGINX, PHP7, MariaDB & phpMyAdmin installieren

Beitrag von Outi » 06.10.2017, 01:25

Hallo Heinzmann,

herzlich willkommen im Forum.

Leider ist es schwierig, den Grund für Dein Problem aus der Ferne herauszufinden.
Du schreibst, dass NGINX und phpMyAdmin funktioniert haben, dann aber beim Reload die Probleme kamen.
Hast Du zwischendurch etwas anderes gemacht oder den Pi vom Strom genommen ??

Ich habe die Anleitung bereits 2x für neue Pi Installationen benutzt und keine Probleme gehabt.
Irgendwie scheint bei Dir alles gut durchgelaufen zu sein, denn sonst hättest Du weder die NGINX Meldung, noch das phpMyAdmin Login gesehen.
Scheinbar ist danach irgendwas schief gelaufen.

Hast Du mal einen Neustart gemacht ??
Welches Image von Raspbian hast Du verwendet ??

Was passiert, wenn Du NGINX manuell startest mit sudo /etc/init.d/nginx start ??

Ansonsten bliebe noch das Prüfen der Logdateien ....
;)Gruß Outi :D


Heinzmann
Mitglied
Mitglied
Beiträge: 5
Registriert: 05.10.2017, 21:48

Re: RASPBIAN: NGINX, PHP7, MariaDB & phpMyAdmin installieren

Beitrag von Heinzmann » 06.10.2017, 07:58

Vielen Dank für Deine Antwort.

Ich benutze das Raspbian Stretch, das ich direkt heruntergeladen habe.

Auch habe ich schon den Rebootet.

Kann es sein, dass ich bei der Anpassung der Einträge mich einmal vertippt habe ?

Ich werde mir das Ganze heue Abend nochmals ansehen.

Heinzmann


Casimyr
Mitglied
Mitglied
Beiträge: 1
Registriert: 06.10.2017, 16:23
RasPis: 1

Re: RASPBIAN: NGINX, PHP7, MariaDB & phpMyAdmin installieren

Beitrag von Casimyr » 06.10.2017, 16:35

Hallo und vielen Dank für die tolle Anleitung.

Leider habe ich ein kleines Problem, obwohl zunächst alles zu funktionieren schien.

Und zwar kann ich nach dem Login als user "phpmyadmin" im phpmyadmin keine Datenbanken erstellen.

Ich bekomme nur den Hinweis: Keine Rechte

Der PI war frisch aufgesetzt (Raspbian Sketch), WLAN eingerichtet und diese Anleitung abgearbeitet. Zudem habe ich die Rechte beim Ordner /var/www/html verändert.

Gibt es dafür eine einfache Lösung?

Danke und Gruß :)
Casimyr

EDIT durch Outi:
Bild Link gelöscht, da unverschlüsselt (und damit sonst die ganze Anleitung) / Bilder bitte immer verschlüsselt verlinken.

edit:
Ebenso ist die nachfolgende Frage nach dem Verbot für das entfernte Einloggen des Benutzers "Root" mit Y zu bestätigen. Somit kann sich der Benutzer "Root" nur lokal in die Datenbank einloggen und niemand sonst aus dem Netzwerk mit diesem Account.
Hier habe ich NEIN eingegen.


Themenstarter
Outi
Administrator
Administrator
Beiträge: 200
Registriert: 13.02.2015, 22:24
RasPis: 10+
Kontaktdaten:

Re: RASPBIAN: NGINX, PHP7, MariaDB & phpMyAdmin installieren

Beitrag von Outi » 06.10.2017, 17:01

Hallo Casimyr,

willkommen im Forum.

Ich habe gerade einen P2B da, den ich neu installieren muss, da schaue ich mir das gleich mal an.
;)Gruß Outi :D


Themenstarter
Outi
Administrator
Administrator
Beiträge: 200
Registriert: 13.02.2015, 22:24
RasPis: 10+
Kontaktdaten:

Re: RASPBIAN: NGINX, PHP7, MariaDB & phpMyAdmin installieren

Beitrag von Outi » 06.10.2017, 18:35

So, kurzer Status:

Dass der User "root" sich auch trotz Verneinung in der Secure Config bei der Option "entferntes Root Login verbieten" nicht einloggen kann, scheint ein übliches Problem der Datenbank zu sein. Soll wohl daran liegen, dass bei der MariaDB Datenbank eine Änderung durchgeführt wurde, dass nun zusätzlich bei RootUsern ein "sudo" mit angegeben werden muss. Dies liegt wohl an der Einführung eines Plugins, welches eben zusätzlich diesen Rootstatus voraussetzt.

Nun kann phpMyAdmin diesen Status nicht erreichen, da es als normaler NichtRootUser arbeitet. Selbst wenn man sich als RootUser "root" mit korrektem Passwort anmeldet, fehlt der im Terminal bekannte Status, der unter diesem das "sudo" vorraussetzt.

Ich fand nun einige Vorschläge, die das wohl beheben sollen, darunter auch die Möglichkeit, dieses neue Plugin zu deaktivieren, welches für dieses zusätzliche ge"root"e verantwortlich ist. Jedoch handelt man sich dabei wieder andere Probleme ein (u.A. startet dann MariaDB in manchen Szenarien nicht mehr).

Letztendlich soll ein eigener User für phpMyAdmin angelegt werden, der eben alle Rechte hat. Dies werde ich später noch der Anleitung hinzufügen.

Das Sicherste war eben, dass kein Rootzugriff entfernt möglich sein soll (wie eben in der Anleitung beschrieben) und alle Datenbanksachen direkt lokal am Raspberry Pi durchgeführt werden sollen. Wer nun trotzdem den entfernten Zugriff mit allen Rechten haben möchte, muss einen weiteren User einrichten.

Der User "phpmyadmin" kann zwar nachträglich mit diesen Rechten ausgestattet werden aber da dieser User allgemein bekannt ist und auch "root" fernbedient nicht gerade unsicher ist, sollte man dem neuen User einen gänzlich anderen Namen geben.

Da ich gerade keine Zeit habe (muss weg), werde ich das später der Anleitung noch hinzufügen.
;)Gruß Outi :D


Heinzmann
Mitglied
Mitglied
Beiträge: 5
Registriert: 05.10.2017, 21:48

Re: RASPBIAN: NGINX, PHP7, MariaDB & phpMyAdmin installieren

Beitrag von Heinzmann » 06.10.2017, 20:44

Hallo Outi,
der Fehler war, dass ich an dem " server_name raspberrypi;" etwas
verändert habe (Anfäger :)).

Nun habe ich das gleiche Problem wie Casymir.
Vielen Dank für Deine Hilfe und die Ergänzung Deiner super Anleitung.
Heinzmann


baldrian
Mitglied
Mitglied
Beiträge: 3
Registriert: 06.10.2017, 19:28
RasPis: 1

Re: RASPBIAN: NGINX, PHP7, MariaDB & phpMyAdmin installieren

Beitrag von baldrian » 07.10.2017, 13:38

Hallo ich habe das nun so gemacht wie in diesem bsp: genannt https://askubuntu.com/questions/763336/ ... -mysql-5-7
habe einen user angelegt der namentlich gar nix mit dem ganzen zu tun hat inkl. einem "sicheren" Passwort.
anschliessend habe ich das ganze neu gestartet und jetzt funktioniert es. :-)

Antworten