RasPi Series {12} – Was ist phpMyAdmin und wie installiere ich es?

Wir werden uns den Nutzen anschauen und es installieren

    Inhaltsangabe
  1. Was ist phpMyAdmin?
  2. PhpMyAdmin installieren
  3. nginx für phpMyAdmin konfigurieren

Im letzten Beitrag haben wir gelernt, was Datenbanken sind und für welche Zwecke man diese einsetzt. Anschließend haben wir MariaDB (MySQL) auf unseren Raspberry Pi installiert und konfiguriert.

Bis jetzt haben wir jedoch keine grafische Benutzeroberfläche, von wo aus wir unsere Datenbanken, die Tabellen und deren Inhalte verwalten können.

In diesem Beitrag möchten wir eine grafische Benutzeroberfläche (phpMyAdmin) installieren und diesen absichern.

Was ist phpMyAdmin?

phpMyAdmin ist eine Software, mit der ihr anhand eines Webservers, MySQL Datenbanken verwalten können. Der Name setzt sich daher aus drei Komponenten zusammen: php-My(sql)-Admin.

Die meisten Hoster stellen ihren Kunden phpMyAdmin zur Verfügung, damit sie ihre Datenbanken über eine Benutzeroberfläche verwalten können. Wir werden diese grafische Benutzeroberfläche installieren, damit wir die nächsten Schritte gemütlicher umsetzen können.

Anschließend werden wir den Zugriff auf phpMyAdmin nur per Remote Desktop zulassen, um auf der sicheren Seite zu stehen.

PhpMyAdmin installieren

Wir installieren phpMyAdmin einfach mit dem Befehl

sudo apt-get install phpmyadmin

Nachdem sie diesen Befehl abgeschickt haben, wird phpMyAdmin installiert und nebenbei konfiguriert. Damit die Konfiguration ihrem System und ihren Wünschen entspricht, werden sie ein paar Mal aufgefordert, eine Eingabe zu machen. Diese Eingaben werde ich euch einmal erklären.

  • Ihr werdet gefragt, ob ihr Apache oder lighttpd verwendet. Wir haben nginx installiert und deswegen werden wir ohne ein Kreuz zu setzen mit OK bestätigen.
  • Ihr werdet gefragt, ob phpMyAdmin die nötige Konfiguration für dich übernehmen soll. Mit ja bestätigen.
  • PhpMyAdmin fragt nach einem Passwort. Dort gebt ihr ein sicheres Passwort für phpMyAdmin ein.
Der Ablauf der Installation

nginx für phpMyAdmin konfigurieren

Wenn die Installation ohne Probleme verlief, können wir mit der nginx Konfiguration beginnen. Wir haben jetzt phpMyAdmin zwar installiert, jedoch müssen wir noch nginx sagen, wann er phpMyAdmin anzeigen soll und wo phpMyAdmin zu finden ist.

Dafür müssen wir wieder unsere nginx Domain-Konfigurations-Datei zur Bearbeitung öffnen. Das geht mit

sudo nano /etc/nginx/sites-available/default

In dieser Datei erstellen wir ganz oben eine neue Zeile und fügen folgendes ein:

server {
    listen          81;
    server_name     localhost;
    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.3-fpm.sock;
        fastcgi_index index.php;
        fastcgi_param SCRIPT_FILENAME $document_root/$fastcgi_script_name;
        include /etc/nginx/fastcgi_params;
    }
}

Ihr könnt ruhig den Code von der Seite kopieren und in die Konsole einfügen. Sobald ihr den Text übernommen habt, schließt ihr die Datei (Strg + X) und bestätigt die Änderung.

Wir haben die Konfiguration so gemacht, dass man nur vom Gerät selber auf phpMyAdmin zugreifen kann. Zudem haben wir einen gesonderten Port (81) für den Webserver konfiguriert. Dadurch wird unser Zugang zu phpMyAdmin vor externen Zugriffen geschützt und ist sicherer. Jetzt muss nur noch der Server neugestartet werden

sudo /etc/init.d/php7.3-fpm reload && sudo /etc/init.d/nginx reload

Sobald das auch erfolgreich geschehen ist, könnt ihr euch mit dem Raspberry Pi über Remote Desktop verbinden und über den Browser localhost:81 aufrufen.

In phpMyAdmin könnt ihr euch nun mit dem Benutzernamen phpmyadmin und dem vorhin gewählten Passwort einloggen. phpMyAdmin hat jedoch aktuell keine Rechte und das ist auch gut so. Wir werden als nächstes einen Benutzer anlegen und ihm alle Rechte geben. Dazu verbinden wir uns mit dem Raspberry Pi per SSH (MobaXterm) oder machen die Eingabe direkt im Pi, wenn wir schon über Remotedesktop verbunden sind.

Mit folgendem Befehl wechseln wir auf das MySQL Superuser Konto:

sudo mysql --user=root mysql

Als nächstes erstellen wir einen neuen Benutzer. Vergesst nicht, DEINBENUTZERNAME und DEINPASSWORT mit euren Wunschdaten auszutauschen:

CREATE USER 'DEINBENUTZERNAME'@'localhost' IDENTIFIED BY 'DEINPASSWORT';

Jetzt vergeben wir diesem Benutzer alle Rechte. Hier wieder DEINBENUTZERNAME anpassen:

GRANT ALL PRIVILEGES ON *.* TO 'DEINBENUTZERNAME'@'localhost' WITH GRANT OPTION;

Abschließend werden wir noch die Rechte neu laden lassen mit:

FLUSH PRIVILEGES;

Jetzt habt ihr bereits ein neues Benutzerkonto, was ihr in phpMyAdmin benutzen könnt. Zum testen könnt ihr euch gerne per Remote Desktop mit dem Raspberry Pi verbinden und den Zugang testen.

Wir haben jetzt eine grafische Benutzeroberfläche für unsere Datenbank und sind können schon fast unsere Cloud Software (Nextcloud) installieren. Bevor wir das tun, benötigen wir noch ein SSL Zertifikat.

Im nächsten Beitrag werden wir lernen, was ein SSL Zertifikat ist und wieso es so wichtig ist. Wir werden ebenfalls das Thema Let’s Encrypt behandeln und ein Let’s Encrypt Zertifikat für unsere Domain ausstellen. Zum abschluss werden wir dieses Zertifikat mit unserer Domain verknüpfen.

Themen

Apache Datenbanken DIY nginx php Raspberry Pi Technik Tipps

Beitrag teilen

WhatsAppen

Folgen Sie uns