Blog Header

Apache2, PHP8, MariaDB/MySQL und phpMyAdmin auf Debian und Ubuntu installieren

Geschrieben von Christopher Sakel am 12.09.2022 18:37 Uhr

Du möchtest Apache2, PHP 8, MySQL / MariaDB  sowie phpMyAdmin auf deinem Debian 10, Debian 11, Ubuntu 20.04, Ubuntu 22.04 installieren? In diesem Blog Beitrag erklären wir dir dies Schritt für Schritt.

Aktualisiere nun die Paketlisten mit folgendem Befehl:
  apt update  

Installiere alle verfügbaren Updates der bereits auf Ihrem Server installierten Pakete mit folgendem Befehl:
  apt upgrade -y  

Als nächstes installiere die für weitere Installationen benötigten Pakete mit folgendem Befehl: 
apt install ca-certificates apt-transport-https lsb-release gnupg curl nano unzip -y
Füge nun die für die Installation von PHP 8 erforderliche Paketquelle hinzu:
Für Debian:
Füge mit dem Befehl den Schlüssel hinzu, der für die PHP-Paketquelle erforderlich ist.
  wget -q https://packages.sury.org/php/apt.gpg -O- | apt-key add -   
Verwende folgenden Befehl um die Paketquelle hinzuzufügen
  echo "deb https://packages.sury.org/php/ $ (lsb_release -sc) main" | tee /etc/apt/sources.list.d/php.list   

Für Ubuntu:
Installiere das Package Source Management Package mit dem folgenden Befehl: 
  apt install software-properties-common -y  
Verwende folgenden Befehl um das Repository jetzt hinzuzufügen:
  add-apt-repository ppa: ondrej/php,   
Aktualisiere nun deine Paketlisten erneut mit dem Befehl:
  apt update  

Installiere den Apache2-Webserver und andere erforderliche Pakete mit dem folgenden Befehl: 
  apt install apache2 -y  

Installiere dann PHP 8 sowie alle wichtigen PHP-Module für phpMyAdmin: 
  apt install php8.0 php8.0-cli php8.0-common php8.0-curl php8.0-gd php8.0-intl php8.0-mbstring php8.0-mysql php8.0- opcache php8.0-readline php8.0-xml php8.0-xsl php8.0-zip php8.0-bz2 libapache2-mod-php8.0 -y  

Installiere als Nächstes den MariaDB-Server und -Client (MySQL) mit dem Befehl:
  apt install mariadb-server mariadb-client -y  

Gebe nun folgenden Befehl ein, um die Konfiguration des MariaDB-Servers sicher abzuschließen. Wenn das erste Mal nach dem aktuellen Passwort gefragt werden, musst du nichts eingeben, sondern nur die Eingabetaste drücken. Bestätige die nächste Frage zum Ändern des Root-Passworts mit Enter. Nun musst du dem Root-Benutzer des MariaDB-Servers ein Passwort zuweisen. Während der Eingabe werden keine Zeichen angezeigt, aber das ist normal. Bestätige alle folgenden Fragen mit Enter. Anschließend ist der MariaDB-Server vollständig installiert und konfiguriert:
  mysql_secure_installation   

Wechsel mit dem folgendem Befehl in das Verzeichnis, in dem phpMyAdmin installiert wird
  cd /usr/share  

Um phpMyAdmin herunterzuladen, führe den Befehl aus:
  wget https://www.phpmyadmin.net/downloads/phpMyAdmin-latest-all-languages.zip -O phpmyadmin.zip  

Entpacke das soeben heruntergeladene Archiv mit dem folgenden Befehl: 
  unzip phpmyadmin.zip  

Entferne das heruntergeladene Archiv, das nun bereits entpackt ist, mit dem Befehl:
  rm phpmyadmin.zip  

Dann müssen Sie den Namen des extrahierten Verzeichnisses in "phpmyadmin" umbenennen. Die kannst du mit dem folgenden Befehl: 
  mv phpMyAdmin - * - all-languages ​​phpmyadmin  

Weise anschließend dem phpMyAdmin-Verzeichnis mit dem folgenden Befehl die erforderlichen Rechte zu:
  chmod -R 0755 phpmyadmin   

Erstelle nun eine Apache2-Konfigurationsdatei für phpMyAdmin, indem Du folgenden Befehl ausführst:
  nano /etc/apache2/conf-available/phpmyadmin.conf  

Füge dieser Konfigurationsdatei nun folgenden Inhalt hinzu:

# phpMyAdmin Apache-Konfiguration

Alias ​​/phpmyadmin /usr/share/phpmyadmin

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

# Verweigern Sie den Webzugriff auf Verzeichnisse, die ihn nicht benötigen
<Directory /usr/share/phpmyadmin/templates>
Verlangen Sie alle verweigert
</Directory>
<Directory /usr/share/phpmyadmin/libraries>
Verlangen Sie alle verweigert
</Directory>
<Directory /usr/share/phpmyadmin/setup/lib>
Verlangen Sie alle verweigert
</Directory>

Speichere deine Änderungen an der Konfiguration, indem du STRG + X drückst, dann die Taste "Y" und dann die Eingabetaste.

Aktivieren die soeben hinzugefügte Apache2-Konfigurationsdatei mit dem folgenden Befehl:
  a2enconf phpmyadmin  

Anschließend muss der Apache2-Webserver neugestartet werden:
  systemctl reload apache2  

Erstelle das temporäre Verzeichnis, das phpMyAdmin benötigt:
  mkdir /usr/share/phpmyadmin/tmp/  

Gebe nun dem Webserver-Benutzer die erforderlichen Besitzerrechte für dieses temporäre Verzeichnis mit dem Befehl:
  chown -R www-data: www-data /usr/share/phpmyadmin/tmp/  

Hinweis: Aus Sicherheitsgründen kannst du dich nicht mehr direkt als Root-Benutzer mit der normalen Passwortauthentifizierung (z. B. über phpMyAdmin) am MariaDB-Server anmelden. Du kannst dies entweder trotzdem aktivieren (auf Produktivsystemen nicht empfohlen) oder alternativ einen anderen Benutzer mit allen Rechten erstellen (empfohlen), wenn Du dies benötigen (z. B. für phpMyAdmin). Eine Erläuterung dieser beiden Optionen findest Du in den nächsten beiden Schritten.

Variante 1: Root-Login per Passwort-Authentifizierung aktivieren (auf Produktivsystemen nicht empfohlen): Melde dich mit dem Befehl 
  mysql -u root   
auf dem MariaDB-Server in PuTTY an und führe dann die Befehle 
  UPDATE mysql.user SET plugin = 'mysql_native_password 'WHERE user =' aus root ' AND plugin = ' unix_socket ';   
und 
  FLUSH-PRIVILEGIEN;  
aus. Dadurch wird das Authentifizierungs-Plug-In des Root-Benutzers vom UNIX-Socket wieder auf die Standardauthentifizierung umgestellt. 
Beende schließlich die MariaDB-Konsole mit dem Exit-Befehl.

Variante 2: Zusätzlichen Benutzer mit allen Rechten anlegen (empfohlen): Logge dich mit dem Befehl 
  mysql -u root   
auf dem MariaDB-Server in PuTTY ein und führe dann die Befehle 
  CREATE USER 'username' @ 'localhost' IDENTIFIED BY 'password';   
und gewähre alle Rechte mit 
  GRANT ALL PRIVILEGES ON *. * TO 'username' @ 'localhost' WITH GRANT OPTION;  
Ersetze „username“ und „password“ durch dein gewünschten Benutzernamen und dein Passwort. 
Beende schließlich die MariaDB-Konsole mit dem Exit-Befehl. Anschließend kannst du dichmit dem neu erstellten Benutzer (z. B. über phpMyAdmin) am MariaDB-Server anmelden.

Dein Apache2-Webserver inklusive PHP 8, MariaDB-Server und phpMyAdmin ist nun einsatzbereit. Standardmäßig befindet sich das Webverzeichnis unter „/var/www/html/“. Du kannst auf die phpMyAdmin-Weboberfläche zugreifen, indem du „/phpmyadmin“ zur IP-Adresse oder Domäne deines Servers im Browser hinzufügen. Dort kannst du dich nun am MariaDB-Server anmelden – je nachdem, welche Variante Du ausgewählt hast, entweder mit dem Benutzer „root“ oder mit deinem zusätzlich angelegten Benutzer.