# Setup PHP, Apache2, MariaDB und phpMyAdmin unter Debian


Aktualisieren Sie die Paketquellen und installieren Sie die verfügbaren Updates.

apt update && apt upgrade -y

Debian 10 oder älter Installieren sie die benötigten Pakete.

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

Hinterlegen die den Key für die Paketquelle von PHP.

wget -q https://packages.sury.org/php/apt.gpg -O- | apt-key add -

Fügen die die Paketquelle für PHP hinzu.

echo "deb https://packages.sury.org/php/ $(lsb_release -sc) main" | tee /etc/apt/sources.list.d/php.list

Aktuallisieren Sie die Paketquellen und installieren Sie die verfügbaren Updates.

apt update && apt upgrade -y

Installieren Sie den Apache2, die wichtigsten PHP-Module und den MariaDB-Server und -Client.

apt install apache2 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 mariadb-server mariadb-client -y

Um die Konfiguration vom MariaDB-Server abzuschließen, führen Sie diesen Befehl aus.

mysql_secure_installation

Debian 10 oder älter Bei der Abfrage des Root-Passwords drücken Sie die Enter-Taste. Danach bestätigen Sie alle Abfragen mit y, damit setzen Sie ein neues Root-Password, löschen anonymene Benutzer, verbieten aus Sicherheitsgründen den externen Rootlogin, entfernen alle Testdatenbanken und Aktualisieren der Rechte. Geben Sie ein neues Root-Password ein, dieses wird nicht angezeigt. Im Anschluss daran ist Ihr MariaDB-Server erfolgreich installiert.

Debian 11 Bei der Abfrage des Root-Passwords drücken Sie die Enter-Taste. Bei der Abfrage ob der Login auf Unix-Socket-Authentifizierung umgestellt werden soll verneinen Sie dies mit n. Danach bestätigen Sie alle Abfragen mit y, damit setzen Sie ein neues Root-Password, löschen anonymene Benutzer, verbieten aus Sicherheitsgründen den externen Rootlogin, entfernen alle Testdatenbanken und Aktualisieren der Rechte. Geben Sie ein neues Root-Password ein, dieses wird nicht angezeigt. Im Anschluss daran ist Ihr MariaDB-Server erfolgreich installiert.

Wechseln Sie in den Ordner /usr/share um phpMyAdmin zu installieren.

cd /usr/share

Laden die die Daten von phpMyAdmin runter.

wget https://www.phpmyadmin.net/downloads/phpMyAdmin-latest-all-languages.zip -O phpmyadmin.zip

Entpacken Sie das Archiv und löschen dieses danach.

unzip phpmyadmin.zip && rm phpmyadmin.zip

Nun ändern Sie den Ordnername in phpmyadmin und ändern die Reche von dem Ordner phpmyadmin.

mv phpMyAdmin-*-all-languages phpmyadmin && chmod -R 0755 phpmyadmin

Legen Sie die Config für den Webserver Apache2 an.

printf "# 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>" > /etc/apache2/conf-available/phpmyadmin.conf

Für den Zugriff auf phpMyAdmin müssen Sie die Konfiguration für Apache2 aktivieren und den Webserver neuladen.

a2enconf phpmyadmin && systemctl reload apache2

Nun müssen Sie noch ein temporäres Verzeichnis für phpMyAdmin an und geben dem WebServer Apache2 die Rechte auf diesen Ordner.

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

Für den Login in phpMyAdmin müssen Sie bei Debian 10 und älter den root-Login aktivieren. Zunächst melden Sie sich am MariaDB-Server an.

mysql -u root

Danach ändern Sie das Authentifizierungsplugin auf Standard-Authentifizierung um.

UPDATE mysql.user SET plugin = 'mysql_native_password' WHERE user = 'root' AND plugin = 'unix_socket'; FLUSH PRIVILEGES; exit;