Categories: Anleitungen

So installierst du phpMyAdmin auf Rocky Linux

phpMyAdmin ist ein kostenloses und quelloffenes Tool, mit dem du MySQL- und MariaDB-Datenbanken über den Webbrowser verwalten kannst. phpMyAdmin ist eine voll funktionsfähige, in PHP geschriebene Webanwendung, deren Hauptzweck die Verwaltung von MySQL/MariaDB über das Web ist. Er bietet eine robuste und benutzerfreundliche Oberfläche zur Verwaltung von Datenbanken, Tabellen, Datenbankbenutzern, grundlegenden Operationen (Erstellen, Lesen, Aktualisieren, Löschen) und vielem mehr.

phpMyAdmin ist eine PHP-Webanwendung, die unter allen Betriebssystemen, einschließlich Windows, macOS, Linux und BSD, ausgeführt werden kann. Die wichtigsten Komponenten, die du vor der Installation von phpMyAdmin installieren musst, sind PHP-Pakete und ein Webserver, z.B. Apache, Nginx, etc.

In dieser Anleitung erfährst du, wie du phpMyAdmin mit dem LAMP-Stack auf Rocky Linux installierst. Diese Anleitung kann auf einem Server mit einer bestehenden LAMP Stack-Installation oder auf einem neuen Server ohne LAMP Stack-Pakete angewendet werden.

Voraussetzungen

  • Ein Rocky Linux System.
  • Ein Benutzer mit Root- oder sudo-Rechten. Dieser Benutzer wird für die Installation neuer Pakete und für systemweite Änderungen verwendet.

Installation von httpd und MariaDB

Zuerst installierst du den Apache oder httpd Webserver und den MariaDB Datenbankserver. Wenn du alle diese Pakete bereits installiert hast, kannst du diese Schritte überspringen.

1. Führe den folgenden Befehl aus, um die Pakete httpd und mariadb zu installieren.

sudo dnf install httpd mariadb mariadb-server

Gib„y“ ein und drücke„Enter„, um die Installation zu bestätigen.

2. Wenn die Installation abgeschlossen ist, führe den folgenden Befehl aus, um die Dienste httpd und mariadb zu aktivieren, damit sie beim Systemstart automatisch ausgeführt werden können.

sudo systemctl enable mariadb
sudo systemctl enable httpd

3. Starte nun den httpd- und den mariadb-Dienst mit dem unten stehenden Befehl.

sudo systemctl start mariadb
sudo systemctl start httpd

4. Überprüfe anschließend die httpd- und mariadb-Dienste, indem du den folgenden Befehl ausführst.

sudo systemctl status mariadb
sudo systemctl status httpd

Wenn dein mariadb-Dienst aktiv ist und läuft, siehst du eine ähnliche Ausgabe wie unten.

Wenn dein httpd-Dienst aktiv ist und läuft, siehst du eine ähnliche Ausgabe wie unten.

Installation von PHP auf Rocky Linux

Nachdem du die httpd- und MariaDB-Pakete installiert hast, installierst du die PHP-Pakete auf Rocky Linux. In dieser Anleitung installierst du die PHP-Pakete aus dem Remi-Repository. Wenn du die PHP-Pakete bereits installiert hast, kannst du diesen Schritt überspringen.

1. Führe den folgenden Befehl aus, um das EPEL-Repository auf Rocky Linux hinzuzufügen.

sudo dnf install https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm

Gib jetzt „y“ ein und drücke„Enter„, um das EPEL-Repository hinzuzufügen.

2. Danach fügst du das remi-Repository mit folgendem Befehl zum Rocky Linux-System hinzu.

sudo dnf install https://rpms.remirepo.net/enterprise/remi-release-8.rpm

Gib „y“ ein und drücke„Enter„, um das remi-Repository hinzuzufügen.

3. Bevor du die PHP-Pakete installierst, musst du das PHP-Modul-Repository zurücksetzen und das PHP-Modul aus dem remi-Repository aktivieren.

Führe den folgenden Befehl aus, um das PHP-Modul zurückzusetzen.

sudo dnf module reset php

Nun wirst du aufgefordert, den GPG-Schlüssel des remi-Repositorys hinzuzufügen. Gib bei allen GPG-bezogenen Fragen „y“ ein und drücke „Enter“.

Jetzt kannst du das PHP-Remi-Repository mit dem folgenden Befehl aktivieren.

sudo dnf module enable php:remi-7.4

Gib„y“ ein und drücke„Enter„, um das PHP-Remi-Repository zu aktivieren, insbesondere für PHP Version 7.4.

4. Jetzt kannst du die PHP-Pakete mit dem folgenden Befehl installieren.

sudo dnf install -y php php-common php-mysqlnd php-curl php-gd php-bcmath php-mcrypt php-mbstring php-xml php-zip

5. Nachdem die Installation abgeschlossen ist, starte den httpd-Dienst neu, um die neue Konfiguration zu übernehmen.

sudo systemctl restart httpd

Absicherung der MariaDB-Bereitstellung

Wenn du ein neues System für diese Installation verwendest, solltest du diesen Schritt befolgen, um die MariaDB-Installation zu sichern. Wenn dein aktuelles System jedoch bereits über Mariadb verfügt, kannst du diesen Schritt überspringen.

1. Führe den folgenden Befehl aus, um das Root-Passwort für mariadb einzurichten und die Installation zu sichern.

sudo mysql_secure_installation

Gib nun ein neues Passwort für den Root-Benutzer von mariadb ein und beantworte alle Fragen, die sich auf die grundlegende Sicherheit des Einsatzes von mariadb beziehen, mit„J„.

NOTE: RUNNING ALL PARTS OF THIS SCRIPT IS RECOMMENDED FOR ALL MariaDB
      SERVERS IN PRODUCTION USE!  PLEASE READ EACH STEP CAREFULLY!

In order to log into MariaDB to secure it, we’ll need the current
password for the root user.  If you’ve just installed MariaDB, and
you haven’t set the root password yet, the password will be blank,
so you should just press enter here.

Enter current password for root (enter for none):
OK, successfully used password, moving on…

Setting the root password ensures that nobody can log into the MariaDB
root user without the proper authorisation.

Set root password? [Y/n] Y
New password: TYPE NEW PASSWORD for mariadb root user
Re-enter new password:REPEAT
Password updated successfully!
Reloading privilege tables..
… Success!

By default, a MariaDB installation has an anonymous user, allowing anyone
to log into MariaDB without having to have a user account created for
them.  This is intended only for testing, and to make the installation
go a bit smoother.  You should remove them before moving into a
production environment.

Remove anonymous users? [Y/n] Y
… Success!

Normally, root should only be allowed to connect from ‚localhost‘.  This
ensures that someone cannot guess at the root password from the network.

Disallow root login remotely? [Y/n] Y
… Success!

By default, MariaDB comes with a database named ‚test‘ that anyone can
access.  This is also intended only for testing, and should be removed
before moving into a production environment.

Remove test database and access to it? [Y/n] Y
– Dropping test database…
… Success!
– Removing privileges on test database…
… Success!

Reloading the privilege tables will ensure that all changes made so far
will take effect immediately.

Reload privilege tables now? [Y/n] Y
… Success!

Cleaning up…

All done!  If you’ve completed all of the above steps, your MariaDB
installation should now be secure.

Thanks for using MariaDB!

Jetzt kannst du mit dem nächsten Schritt fortfahren.

Download des phpMyAdmin-Quellcodes

1. Wechsle in das Arbeitsverzeichnis„/var/www“ und lade den Quellcode von phpMyAdmin mit dem Befehl wget herunter (siehe unten).

cd /var/www/
wget https://files.phpmyadmin.net/phpMyAdmin/5.1.1/phpMyAdmin-5.1.1-all-languages.zip

2. Entpacke nun den phpMyAdmin-Quellcode und du erhältst den neuen Verzeichnisnamen„phpMyAdmin-VERSION-NUMBER„. Benenne das Verzeichnis nun in„phpmyadmin“ um (siehe unten).

unzip phpMyAdmin-5.1.1-all-languages.zip
mv phpMyAdmin-5.1.1-all-languages phpmyadmin

3. Als Nächstes änderst du den Besitzer des Verzeichnisses„phpmyadmin“ in den Benutzer„apache„, indem du den Befehl chown verwendest (siehe unten).

sudo chown -R apache:apache phpmyadmin

Gehe nun zum nächsten Schritt über, um phpMyAdmin zu konfigurieren.

phpMyAdmin konfigurieren

In diesem Schritt wirst du die phpMyAdmin-Installation konfigurieren.

1. Wechsle das Arbeitsverzeichnis in das Verzeichnis„/var/www/phpmyadmin“ und kopiere die Beispielkonfiguration in die Datei „config.inc.php„, dann ändere den Besitzer der Konfigurationsdatei in den Benutzer„apache„.

cd /var/www/phpmyadmin/

cp config.sample.inc.php config.inc.php
chown apache:apache config.inc.php

2. Als Nächstes generierst du mit dem unten stehenden openssl-Befehl eine zufällige starke und eine zufällige Nummer (secret).

openssl rand -hex 16

Kopiere das erzeugte Geheimnis in deine Notiz.

3. Bearbeite die phpMyAdmin-Konfiguration „config.inc.php“ mit dem nano-Editor.

nano config.inc.php

Ändere den Wert von„$cfg[‚blowfish_secret‘] = ‚…..‘;“ mit dem von dir generierten Geheimnis wie unten angegeben.

$cfg['blowfish_secret'] = 'e5c4d8f3e2569dab102873a67481c8bb'; /* YOU MUST FILL IN THIS FOR COOKIE AUTH! */

Drücke jetzt„Strg+x„, gib„y“ ein und drücke„Enter„, um die Konfiguration zu speichern und zu beenden.

Neue Datenbank für phpMyAdmin erstellen

In diesem Schritt erstellst du eine neue Datenbank und einen neuen Benutzer für phpMyAdmin. Diese Datenbank wird für die Speicherung der phpMyAdmin-Konfigurationen verwendet.

1. Melde dich mit dem unten stehenden mysql-Befehl in der mariadb-Shell an.

mysql -u root -p

Gib dein mariadb Root-Passwort ein und drücke„Enter„.

2. Erstelle mit der unten stehenden Abfrage eine neue Datenbank mit dem Namen„phpmyadmin„.

CREATE DATABASE phpmyadmin;

3. Erstelle das verschlüsselte Passwort mit der folgenden Abfrage. Achte darauf, dass du das rohe Passwort „mystrongpassword“ durch dein Passwort ersetzt.

SELECT PASSWORD('mystrongpassword');

Kopiere das verschlüsselte Passwort auf deinen Zettel.

4. Als Nächstes erstellst du einen neuen Benutzernamen„pma“ mit dem verschlüsselten Passwort. Erteile dem Benutzer dann Zugriff auf die Datenbank„phpmyadmin“ und wende die Änderungen an.

CREATE USER 'pma'@'localhost' IDENTIFIED VIA mysql_native_password USING '*617DA9A67DC81CE28027875FA123071F038CC7CA';
GRANT SELECT, INSERT, UPDATE, DELETE ON phpmyadmin.* TO 'pma'@'localhost';
FLUSH PRIVILEGES;

Gib nun„quit“ ein, um die Mariadb-Shell zu verlassen.

5. Nachdem du die Datenbank und den Benutzer angelegt hast, musst du das Datenbankschema für phpMyAdmin importieren.

Ändere das Arbeitsverzeichnis in„/var/www/phpmyadmin/sql„.

cd /var/www/phpmyadmin/sql

Führe den folgenden Befehl aus, um das Datenbankschema in die Datenbank„phpmyadmin“ zu importieren.

mysql -u root -p phpmyadmin < create_tables.sql

Gib dein Datenbank-Root-Passwort ein und drücke„Enter„.

Hinzufügen der Apache/Httpd-Konfiguration für phpMyAdmin

In diesem Schritt erstellst du eine neue Apache/httpd-Konfiguration für phpMyAdmin. Außerdem konfigurierst du die Apache-Basisauthentifizierung für zusätzliche Sicherheit für phpMyAdmin.

1. Wechsle in das Arbeitsverzeichnis„/etc/httpd/conf.d“ und erstelle eine neue Konfiguration„phpmyadmin.conf“ mit dem Editor nano.

cd /etc/httpd/conf.d/
nano phpmyadmin.conf

Kopiere die folgende Konfiguration und füge sie ein.

# Alias for accessing phpmyadmin
Alias /phpmyadmin /var/www/phpmyadmin

# document root phpmyadmin
<Directory /var/www/phpmyadmin>

# Enable Basic authentication
AuthType Basic
AuthName „Please Enter Your Password“
AuthUserFile /var/www/phpmyadmin/.htpasswd
Require valid-user

#    If you’re paranoid – use this and allow a specific IP address
#    Order deny,allow
#    Deny from all
#    Allow from 127.0.0.1
#    Allow from ::1

</Directory>

Drücke„Strg+x„, gib„y“ ein und drücke dann„Enter„, um zu speichern und zu beenden.

2. Führe den folgenden Befehl aus, um ein neues Passwort für die Apache-Basisauthentifizierung zu erstellen. Ersetze den Benutzer„johndoe“ durch deinen Benutzernamen.

htpasswd -c /var/www/phpmyadmin/.htpasswd johndoe

Gib das Passwort für deinen Benutzer ein und wiederhole den Vorgang.

3. Ändere als Nächstes das Arbeitsverzeichnis in„/var/www/phpmyadmin“ und erstelle mit dem Editor nano eine neue Konfiguration ‚.htaccess‘.

cd /var/www/phpmyadmin/
nano .htaccess

Kopiere die folgende Konfiguration und füge sie ein.

AuthUserFile /var/www/phpmyadmin/.htpasswd
AuthGroupFile /dev/null
AuthName "Secret"
AuthType Basic
require valid-user
<Files ~ "^.(htpasswd|htaccess)$">
    deny from all
</Files>

Drücke„Strg+x„, gib„y“ ein und drücke dann„Enter„, um zu speichern und zu beenden.

4. Als Nächstes änderst du mit dem folgenden Befehl den Eigentümer der Konfigurationsdatei ‚.htaccess‚ und ‚.htpasswd‚ (die mit dem Befehl htpasswd erstellt wurde) auf‚apache‚.

chown apache:apache .htaccess .htpasswd

5. Überprüfe die httpd-Konfiguration und vergewissere dich, dass keine Fehler auftreten. Starte dann den httpd-Dienst neu, um die neuen Änderungen zu übernehmen.

sudo apachectl configtest
sudo systemctl restart httpd

Überprüfe die phpMyAdmin-Installation

1. Öffne deinen Webbrowser und gib die IP-Adresse deines Servers sowie den Verzeichnispfad„/phpmyadmin“ ein.

http://SERVER-IP/phpmyadmin/

Gib den Benutzer und das Passwort aus der Apache/httpd-Basisauthentifizierung ein.

Wenn dein Benutzer und dein Passwort richtig sind, wird die phpMyAdmin Anmeldeseite angezeigt. Andernfalls wirst du auf dieselbe Seite weitergeleitet oder erhältst eine Seite mit der Meldung„401 Unautorisierter Zugriff“.

2. Gib auf der phpMyAdmin Anmeldeseite den Datenbankbenutzer„root“ und das Passwort ein und klicke dann auf„Go„, um dich bei phpMyAdmin anzumelden.

Jetzt siehst du das phpMyAdmin Dashboard wie unten abgebildet.

Auf dem oberen Screenshot siehst du die Details des MariaDB Datenbankservers. Außerdem siehst du unter dem Abschnitt „Webserver“ die Details des LAMP-Stacks.

Fazit

Herzlichen Glückwunsch! Jetzt hast du phpMyAdmin erfolgreich auf Rocky Linux installiert. Im nächsten Schritt kannst du deine Datenbank ganz einfach mit phpMyAdmin verwalten. Du kannst deine bestehende Datenbank importieren oder eine neue Datenbank für deine Webanwendung erstellen. Du kannst aber auch einfach einige Daten mit der MySQL-Abfrage über die phpMyAdmin SQL-Abfrage aktualisieren.

howtoforge

Recent Posts

Was ist EFS (Elastic File System) in AWS und wie benutzt man es

Amazon Elastic File System (EFS) ist ein einfaches, skalierbares und vollständig verwaltetes NFS-Dateisystem für die…

3 Tagen ago

Wie man Rsyslog-Server unter Debian 11 einrichtet

Rsyslog ist eine freie und quelloffene Logging-Software, die alle Log-Dateien über das IP-Netzwerk an den…

3 Tagen ago

Redis Server Installation auf Debian 11

Redis ist ein freier, quelloffener, plattformübergreifender NoSQL- und In-Memory-Schlüsselwert-Datenspeicher, der als Datenbankserver, Cache und Nachrichtenbroker…

4 Tagen ago

So installierst du Angular auf AlmaLinux 8

AngularJS ist ein JavaScript-basiertes Open-Source-Framework für Front-End-Webanwendungen, das hauptsächlich von Google gepflegt wird und bei…

4 Tagen ago

So installierst du Passbolt Password Manager unter Debian 11

Passbolt ist ein kostenloser, quelloffener und selbst gehosteter Passwortmanager, mit dem du deine Website- und…

7 Tagen ago

So installierst du die Programmiersprache Go unter Debian 11

Go ist eine Programmiersprache, die ursprünglich von einem Team bei Google entwickelt wurde. In diesem…

1 Woche ago