PhpMyAdmin 8.2 Installation

PhpMyAdmin, PHP 8, Apache2 und MySQL Installation

Falls Sie es noch nicht getan haben, laden Sie das Programm PuTTY herunter.

Verbinden Sie sich mithilfe von PuTTY via SSH mit Ihrem Root- oder vServer. Hierfür öffnen Sie PuTTY und geben im Textfeld "Host Name (or IP address)" die Domain oder IP-Adresse Ihres Servers ein. Klicken Sie anschließend unten auf "OK".

  • Aktualisieren Sie nun Ihre Paketlisten und Installieren Sie jetzt möglicherweise verfügbare Updates der auf Ihrem Server bereits installieren Pakete mit dem Befehl.

apt update && apt upgrade -y
  • Als nächstes installieren Sie Pakete, die für die weiteren Installationen benötigt werden, mit folgendem Befehl:

apt install ca-certificates apt-transport-https lsb-release gnupg curl nano unzip -y

Wähle dein Betriebssystem aus. Solltest du nicht wissen, welches Betriebssystem du verwendest, kannst du dies mit dem Befehl nachschauen.

cat /etc/issue
  • Fügen Sie die für die Installation von PHP 8 benötigte Paketquelle hinzu:

curl -fsSL https://packages.sury.org/php/apt.gpg -o /usr/share/keyrings/php-archive-keyring.gpg
echo "deb [signed-by=/usr/share/keyrings/php-archive-keyring.gpg] https://packages.sury.org/php/ $(lsb_release -sc) main" > /etc/apt/sources.list.d/php.list
  • Aktualisieren Sie nun erneut Ihre Paketlisten mit dem Befehl

apt update
  • Installieren Sie den Apache2-Webserver sowie weitere benötigte Pakete mit folgendem Befehl:

apt install apache2 -y
  • Installieren Sie anschließend PHP 8 sowie einige wichtige PHP-Module. Der Befehl hierfür lautet:

apt install php8.2 php8.2-cli php8.2-common php8.2-curl php8.2-gd php8.2-intl php8.2-mbstring php8.2-mysql php8.2-opcache php8.2-readline php8.2-xml php8.2-xsl php8.2-zip php8.2-bz2 libapache2-mod-php8.2 -y
  • Installiere MySQL

apt install mariadb-server mariadb-client -y

Schließe die MySQL Installation ab

Geben Sie nun den Befehl

mysql_secure_installation

ein. Bei der ersten Abfrage des aktuellen Passworts müssen Sie nichts eingeben, sondern einfach die Enter-Taste drücken. Bestätigen Sie die nächste Frage bzgl. der Änderung des Root-Passworts mit Enter. Nun müssen Sie ein Passwort für den Root-Benutzer des MariaDB-Servers vergeben. Während der Eingabe erscheinen keine Zeichen, das ist jedoch normal. Bestätigen Sie alle darauffolgenden Fragen (Löschung des anonymen Benutzers, Verbieten des externen Root-Logins aus Sicherheitsgründen, Entfernen der Testdatenbank und Aktualisieren der Rechte) ebenfalls mit Enter. Danach ist der MariaDB-Server fertig installiert und konfiguriert.

  • Wechseln Sie mit dem Befehl

cd /usr/share

in das Verzeichnis, in dem phpMyAdmin installiert wird.

  • Um phpMyAdmin herunterzuladen, führen Sie nun den Befehl aus

wget https://www.phpmyadmin.net/downloads/phpMyAdmin-latest-all-languages.zip -O phpmyadmin.zip
  • Entpacken Sie das soeben heruntergeladene Archiv mit dem folgenden Befehl:

unzip phpmyadmin.zip
  • Entfernen Sie das heruntergeladene Archiv, welches nun bereits entpackt ist, mit dem Befehl

rm phpmyadmin.zip
  • Anschließend müssen Sie den Namen des entpackten Verzeichnisses zu "phpmyadmin" umbenennen. Dies machen Sie mit folgendem Befehl:

mv phpMyAdmin-*-all-languages phpmyadmin
  • Vergeben Sie anschließend die benötigten Rechte auf das phpMyAdmin-Verzeichnis mithilfe des Befehls

chmod -R 0755 phpmyadmin
  • Erstellen Sie nun eine Apache2-Konfigurationsdatei für phpMyAdmin, indem Sie den Befehl ausführen.

nano /etc/apache2/conf-available/phpmyadmin.conf
  • Fügen Sie in diese Konfigurationsdatei nun folgenden Inhalt ein:

# phpMyAdmin Apache configuration

Alias /phpmyadmin /usr/share/phpmyadmin

<Directory /usr/share/phpmyadmin>
    Options SymLinksIfOwnerMatch
    DirectoryIndex index.php
</Directory>

# Disallow web access to directories that don't need it
<Directory /usr/share/phpmyadmin/templates>
    Require all denied
</Directory>
<Directory /usr/share/phpmyadmin/libraries>
    Require all denied
</Directory>
<Directory /usr/share/phpmyadmin/setup/lib>
    Require all denied
</Directory>

Speichern Sie Ihre Änderungen der Konfiguration, indem Sie STRG + X, danach die "Y"-Taste und anschließend Enter drücken.

  • Aktivieren Sie die soeben hinzugefügte Apache2-Konfigurationsdatei mit dem Befehl

a2enconf phpmyadmin 

und führen daraufhin den Befehl

systemctl reload apache2

zum Neuladen des Apache2-Webservers aus.

  • Erstellen Sie das temporäre Verzeichnis, welches phpMyAdmin benötigt, indem Sie den Befehl ausführen.

mkdir /usr/share/phpmyadmin/tmp/
  • Geben Sie dem Webserver-Benutzer nun die benötigten Besitzerrechte für dieses temporäre Verzeichnis mithilfe des Befehls

chown -R www-data:www-data /usr/share/phpmyadmin/tmp/

Hinweis: Bis einschließlich Debian 10 sowie unter Ubuntu können Sie sich aus Sicherheitsgründen mithilfe der Passwort-Authentifizierung beim MariaDB-Server standardmäßig nicht als Root-Nutzer anmelden (z.B. über phpMyAdmin). Unter Debian 11 ist dies jedoch möglich. Falls Sie nicht Debian 11 verwenden, führen Sie die nachfolgenden Schritte durch, um die Root-Anmeldung mittels Passwort zu erlauben.

  • Bis einschließlich Debian 10 oder für Ubuntu:

  1. Melden Sie sich in PuTTY mithilfe des Befehls am MariaDB-Server an.

mysql -u root

2.Führen Sie die Befehle aus. Hiermit ändern Sie das Authentifizierungsplugin des Root-Benutzers vom UNIX-Socket wieder auf die Standard-Authentifizierung.

UPDATE mysql.user SET plugin = 'mysql_native_password' WHERE user = 'root' AND plugin = 'unix_socket'; 
FLUSH PRIVILEGES;
  1. Beenden Sie die MariaDB-Konsole abschließend mit dem Befehl.

exit

Ihr Apache2-Webserver inkl. PHP 8, MariaDB-Server und phpMyAdmin ist nun einsatzbereit. Das Web-Verzeichnis befindet sich standardmäßig unter "/var/www/html/". Die phpMyAdmin-Weboberfläche erreichen Sie, indem Sie hinter der IP-Adresse oder Domain Ihres Servers im Browser "/phpmyadmin" anhängen. Dort können Sie sich jetzt am MariaDB-Server anmelden.

Datenbank von außen erreichbar machen

Standardmäßig erlaubt eine MySQL-Datenbank nur Zugriffe durch den eigenen Server (localhost). Um ebenso Zugriffe von außerhalb zu erlauben, musst du mit

nano /etc/mysql/mariadb.conf.d/50-server.cnf

in die Konfigurationsdatei deiner Datenbank und den Punkt bind-adress = 127.0.0.1 auf 0.0.0.0 ändern, sodass es am Ende folgendermaßen aussieht:

bind-adress = 0.0.0.0

Speichern Sie Ihre Änderungen der Konfiguration, indem Sie STRG + X, danach die "Y"-Taste und anschließend Enter drücken.

Danach musst du lediglich deine Datenbank neustarten, sodass die Änderungen wirksam werden (service mysql restart).

Datenbank mit UFW absichern

Um deine Datenbank von außen abzusichern, kannst du das über die FireWall UFW machen:

Dafür installierst du dir erstmals UFW auf deinem Server mit folgendem Befehl:

apt install ufw -y

Danach geben wir die Standart Port nach außen offen ( SSH, HTTP, HTTPS ):

ufw allow 22
ufw allow 443
ufw allow 80

Danach aktivieren wir die UFW:

ufw enable

einfach mit Y bestätigen

UFW ENABLE

Nun Aktivieren wir UFW für die Datenbank:

ufw allow from DEINE-IP to any port 3306

Nach dem du das eingefügt hast kann nur die IP auf dem Server zugreifen die in der Liste steht

Last updated