Debian 11 (Bullseye) – Webserver installieren

Lesedauer 3 Minuten

Tutorial: Apache (Webserver), PHP (Skriptsprache), MariaDB (SQL-Datenbank) und phpMyAdmin (MySQL-Datenbank Admin-Tool) auf Debian 11 (Bullsey) installieren.

Apache2, PHP8, MySQL und PHPMyAdmin auf Debian 11 & Debian 10 installieren

Hinweis: Das “-y” am Ende einiger Befehle dient der automatischen Beantwortung während der Installation.

Schritt 1: System aktualisieren

apt update: Neben Sicherheitskorrekturen können Software-Updates auch neue oder erweiterte Funktionen oder eine bessere Kompatibilität mit verschiedenen Geräten oder Anwendungen beinhalten. Sie können auch die Stabilität Ihrer Software verbessern und veraltete Funktionen entfernen.

apt upgrade: upgrade bringt die installierten Pakete auf den neuesten in den Paketquellen verfügbaren Stand. Hierbei werden weder neue Pakete installiert noch durch neue Abhängigkeiten unnötig gewordene Pakete deinstalliert.

sudo apt update && apt upgrade -y

Schritt 2: PHP-Paketliste hinzufügen und Apach2 installieren.

sudo apt install nano curl unzip ca-certificates apt-transport-https lsb-release gnupg apache2 -y && wget -q https://packages.sury.org/php/apt.gpg -O- | apt-key add - && echo "deb https://packages.sury.org/php/ $(lsb_release -sc) main" | tee /etc/apt/sources.list.d/php.list

Schritt 3: System erneut aktualisieren und PHP8 installieren

PHP8 inkl. der wichtigsen Module installieren.

sudo apt update && apt-get install php8.1 php8.1-cli php8.1-common php8.1-curl php8.1-gd php8.1-intl php8.1-mbstring php8.1-mysql php8.1-opcache php8.1-readline php8.1-xml php8.1-xsl php8.1-zip php8.1-bz2 libapache2-mod-php8.1 -y

Schritt 4: Testen ob Webserver erreichbar ist..

Standardmäßig liegt das Web-Verzeichnis unter

/var/www/html/

Hier befindet sich die Datei index.html

Diese wird beim Aufruf von http://localhost angezeigt – dort sollte etwas stehen wie “It works …”

Apache - It works
Bild-Quelle: Eigener Screenshot

Schritt 5: MySQL (bzw. MariaDB) installieren

sudo apt install mariadb-server mariadb-client -y

Auftretende Abfragen einfach mit “y” beantworten.

Testen ob PHP aktiv ist.

Im Web-Verzeichnis (/var/www/html/) eine neue Datei phpinfo.php erstellen.

sudo nano /var/www/html/phpinfo.php

Hier den folgenden Text eintragen:

<?php
phpinfo();
?>

nano mit [Strg]+[o] speichern und mit [Strg]+[x] verlassen.

Ob PHP ordnungsgemäß funktionier prüfen

Über http://localhost/phpinfo.php die erstellte Datei/Seite aufrufen.

Die Browser-Ausgabe sollte so oder so ähnlich aussehen. Erscheint nur eine leere Seite arbeitet PHP nicht korrekt.

phpinfo.php - PHP 8
Bild-Quelle: https://lindevs.com

Hier werden Infos zur Server-Konfiguration angezeigt.

Schritt 6: MariaDB konfigurieren

Bei der ersten Abfrage des aktuellen Passworts muss nichts eingeben werden, einfach die Enter-Taste drücken. Die nächste Frage bzgl. der Änderung des Root-Passworts mit Enter bestätigen. Passwort für den Root-Benutzer des MariaDB-Servers vergeben. Während der Eingabe erscheinen keine Zeichen, das ist jedoch normal. Alle darauffolgenden Fragen (Löschung des anonymen Benutzers, Verbieten des externen Root-Logins aus Sicherheitsgründen, Entfernen der Testdatenbank und Aktualisieren der Rechte) auch mit Enter bestätigen.

sudo mysql_secure_installation


Bild-Quelle: Eigener Screenshot

Danach ist der MariaDB-Server fertig installiert und konfiguriert.

Schritt 7: phpMyAdmin installieren

cd /usr/share && wget https://www.phpmyadmin.net/downloads/phpMyAdmin-latest-all-languages.zip -O phpmyadmin.zip && unzip phpmyadmin.zip && rm phpmyadmin.zip && mv phpMyAdmin-*-all-languages phpmyadmin && chmod -R 0755 phpmyadmin

Diese Befehlszeile wechselt in das Verzeichnis “/usr/share” dorthin wird mit wget phpMyAdmin (aktuellste Version) heruntergeladen, entpackt und das ZIP-Archiv wieder gelöscht. Alle phpMyAdmin-*-all-languages Dateien werden dann in das phpmyadmin Verzeichnis verschoben und die Rechte auf 0755 (rwxr-xr-x) gesetzt.

Schritt 8: Apache2-Konfigurationsdatei für phpMyAdmin erstellen

sudo nano /etc/apache2/conf-available/phpmyadmin.conf

Folgenden Inhalt in die Datei einfügen:

# phpMyAdmin Apache2 Konfiguration

Alias /phpmyadmin /usr/share/phpmyadmin

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

# Webzugriff verbieten auf Verzeichnisse, die nicht benötigt werden
<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>

nano mit [Strg]+[o] speichern und mit [Strg]+[x] verlassen.

Jetzt noch die Änderungen aktivieren und Apache2 neu starten.
Außerdem muss noch ein temporäres Verzeichnis für phpMyAdmin erstellt und entsprechende Rechte gesetzt werden.

a2enconf phpmyadmin && systemctl reload apache2 && mkdir /usr/share/phpmyadmin/tmp/ && chown -R www-data:www-data /usr/share/phpmyadmin/tmp/

Die MariaDB-Konsole kann jetzt mit folgemdem Befehl aufgerufen werden:

sudo mysql -u root

Schritt 9: MariaDB-Account erstellen

Wichtig: NICHT den vorhandenen “root” ändern, sondern einen neuen Usernamen und ein starkes, sicheres Passwort setzen.

Hinweis: Ändern Sie, in den folgenden Befehlen, die Worte “USER” und “PASSWORD” in passende zu Ihren Installationsdaten!

CREATE USER 'USER'@'localhost' IDENTIFIED BY 'PASSWORD';

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

phpMyAdmin können Sie jetzt im Webbrowser über http://localhost/phpmyadmin aufrufen.

Auf Basis von https://www.kernelhost.com

Dieser Beitrag wurde bisher 249 mal gelesen.