Vorraussetzung
Um dieses Tutorial folgen zu können, benötigen Sie einen Debian 11 Server mit einen nicht Root-User welcher „sudo“ Rechte Besitzt und einer einfachen Firewall. Dies kann mithilfe des Tutorial Ersteinrichtung eines Debian 11 Servers konfiguriert werden.
Durchführung
Schritt 1 – Sicherstellung auf Aktualität des Systems
Vor der Installation vom LAMP-System rate ich Ihnen ihre System Paketlisten zu aktualisieren. Um diesen Befehl auszuführen müssen Sie vor dem Befehl sudo schreiben. Beim erstmaligen ausführen des Befehls werden Sie nach Ihrem Passwort gefragt, da Sie nur mit Root-Rechten arbeiten.
Um die aktuellen Pakete abzurufen, geben Sie folgenden Befehl ein:
sudo apt update
Nun kann Ihr System Ihnen sagen, dass es Updates für bereits installierte Pakete existiert. Falls dies so ist, können Sie folgenden Befehl eingeben.
sudo apt upgrade -y
Schritt 2 – Installation Apache und Einstellung der Firewall Regeln für Apache
Nun können Sie den Apache Webserver installieren. Hierfür führen Sie folgenden Befehl aus.
sudo apt install apache2 -y
Nach dem die Installation abgeschlossen ist, müssen Sie nun den Webserver bei Ihrer Firewall freischalten. Hierfür geben Sie folgenden Befehl ein:
sudo ufw allow in "WWW Full"
Sie können nun überprüfen, ob alles wie geplant funktioniert hat. Indem Sie die öffentliche IP-Adresse Ihres Servers in Ihrem Webbrowser aufrufen:
http://IHREÖFFENTLICHEIPADRESSE
Nun wird Ihnen die Standardmäßige Apache Webseite angezeigt. Dies sollte wie folgt aussehen:
Schritt 2 – Installation MariaDB
Nach dem Sie nun erfolgreich den Apache Webserver installiert haben, können Sie nun beginnen den Datenbank Server zu installieren. In diesem Tutorial nutzen wir MariaDB, welches ein Community Fork von MySQL ist.
Um die MariaDB Software zu installieren, müssen Sie folgenden Befehl ausführen:
sudo apt install mariadb-server -y
Nach dem die Software installiert wurde, sollten Sie das mit erstellte Sicherheitsskript ausführen. Dieses Skript wird einige unsichere Standardeinstellungen entfernen und den Zugriff auf Ihr Datenbanksystem sperren.
Starten Sie das interaktive Skript durch ausführen des folgenden Befehls:
sudo mysql_secure_installation
Dieses Skript führt Sie durch eine Reihe von Eingabeaufforderungen, indem Sie einige Änderungen an Ihrer MariaDB Einrichtung vornehmen können.
Bei der Ersten Aufforderung werden Sie dazu aufgefordert, dass aktuelle Root-Passwort von MariaDB einzugeben. Dies ist nicht zu verwechseln mit dem System-Root Passwort.
Der Datenbank-Root Benutzer ist ein administrativer Benutzer mit vollen Rechten für das Datenbanksystem.
Da Sie MariaDB gerade erst installiert haben und noch keine Änderungen vorgenommen haben, ist dieses Passwort derzeit noch nicht gesetzt. Daher können Sie diese Eingabeaufforderung mit ENTER überspringen.
Bei der nächsten Aufforderung werden Sie gefragt, ob Sie ein Datenbank-Root Passwort einrichten wollen.
Schritt 3 – Installation von PHP
Sie haben bereits Apache für die Bereitstellung Ihrer Inhalte und MariaDB für die Speicherung und Verwaltung Ihrer Daten installiert. PHP ist die Komponente von LDAP, die den Code verarbeitet, um dynamische Inhalte für den Endbenutzer anzuzeigen. Es kann Skripte ausführen, eine Verbindung zu Ihren MariaDB-Datenbanken herstellen, um Informationen abzurufen, und die verarbeiteten Inhalte zur Anzeige an Ihren Webserver weitergeben.
Zusätzlich zum PHP-Paket benötigen Sie libapache2-mod-php damit Apache mit PHP-Dateien umgehen kann. Die wichtigsten PHP-Pakete werden automatisch als Abhängigkeiten installiert.
Um die Pakete zu installieren, führen Sie folgenden Befehl aus:
sudo apt install php libapache2-mod-php php-mysql php-mbstring php-zip php-gd
Nach der Installation können Sie mit folgenden Befehl prüfen, welche PHP Version Sie installiert haben:
php -v
Schritt 4 – Erstellen eines virtuellen Hosts für phpMyAdmin
phpMyAdmin wurde entwickelt, damit Benutzer über eine Weboberfläche mit MySQL und MariaDB interagieren können.
Zunächst müssen Sie die aktuellste Version von phpMyAdmin mittels des folgenden Befehls auf Ihren Server herunterladen:
wget https://files.phpmyadmin.net/phpMyAdmin/5.2.1/phpMyAdmin-5.2.1-all-languages.zip -O phpmyadmin.zip
Nachdem die ZIP-Datei erfolgreich auf Ihren Server heruntergeladen hat, müssen Sie diese extrahieren. Dies können Sie mit Hilfe des folgenden Befehls:
unzip phpmyadmin.zip
Nachdem Sie die ZIP-Datei entpackt haben, können Sie diese von Ihrem Server mit dem folgenden Befehl löschen:
rm phpmyadmin.zip
Führen Sie jetzt den folgenden Befehl aus. Dadurch wird das Verzeichnis phpMyAdmin-5.2.1-all-languages und alle Unterverzeichnisse in das Verzeichnis /usr/share/ verschoben, den Ort, an den phpMyAdmin standardmäßig seine Konfigurationsdateien erwartet. Außerdem wird das Verzeichnis an dieser Stelle einfach in phpmyadmin umbenannt:
sudo mv phpMyAdmin-*-all-languages/ /usr/share/phpmyadmin
Anschließend müssen Sie noch einen Ordner erstellen für Temporäre Dateien. Dies machen Sie mit dem Befehl:
sudo mkdir -p /var/lib/phpmyadmin/tmp
Nachdem Sie den Ordner erstellt haben, müssen Sie nun den Besitzer des Ordners auf www-data setzen. Dies geschieht mithilfe des folgenden Befehls:
sudo chown -R www-data:www-data /var/lib/phpmyadmin
In den Ordner von phpMyAdmin befindet sich eine Beispielkonfigurationsdatei, welche Sie als Basiskonfigurationsdatei verwenden können. Erstellen Sie eine Kopie dieser Datei und benennen Sie die Datei in config.inc.php mit folgenden Befehl um:
sudo cp /usr/share/phpmyadmin/config.sample.inc.php /usr/share/phpmyadmin/config.inc.php
Anschließend öffnen Sie die Datei entweder mittels FTP oder per Konsole mit folgenden Befehl:
sudo nano /usr/share/phpmyadmin/config.inc.php
Zunächst müssen Sie für die Blowfish-Verschlüsselung einen sogenannten Blowfish-Secret setzen. Hierfür müssen Sie in der Datei an folgender Stelle ein 32 Stelliges Passwort wählen:
. . .
$cfg['blowfish_secret'] = 'ZEICHENFOLGEAUSZWEIUNDDREISSIGZUFÄLLIGENZEICHEN'; /* YOU MUST FILL IN THIS FOR COOKIE AUTH! */
. . .
Nachdem Sie das Blowfish-Secret gesetzt haben, müssen Sie noch den erstellten tmp-Ordner in der Konfigurationsdatei angeben:
. . .
$cfg['TempDir'] = '/var/lib/phpmyadmin/tmp';
Nun müssen Sie die Konfigurationsdatei speichern. Wenn Sie in der Konsole die Datei mit nano geöffnet haben, müssen Sie zunächst Strg + X drücken, gefolgt von der Eingabe von einen Y als Bestätigung das Sie die Datei speichern wollen.
Nachdem Sie die Konfigurationsdatei erstellt haben, müssen Sie jetzt einen Virtuellen Host erstellen für phpMyAdmin in Apache.
Hierfür müssen Sie eine Datei mit den Namen phpmyadmin.conf im Ordner /etc/apache2/sites-available/ erstellen:
sudo nano /etc/apache2/conf-available/phpmyadmin.conf
Danach fügen Sie folgenden Text in die Datei ein:
<VirtualHost *:80>
ServerName phpmyadmin.ihre_domain
ServerAdmin webmaster@localhost
DocumentRoot /usr/share/phpmyadmin
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
Zum aktivieren der Konfigurationsdatei geben Sie folgenden Befehl ein:
sudo a2ensite phpmyadmin
Zu Letzt müssen Sie nun den Apache Webserver neu starten mit folgenden Befehl:
sudo systemctl reload apache2
Schritt 5 – Erstellen eines virtuellen Hosts für Ihre Webseite
Zum erstellen eines virtuellen Hosts für Ihre Webseite müssen Sie zunächst einen Ordner erstellen im /var/www/ Verzeichnis. Hierfür geben Sie folgenden Befehl ein:
sudo mkdir /var/www/ihre_domain
Als nächstes setzen Sie ihren Benutzer als Ordner Besitzer mit folgenden Befehl:
sudo chown -R $USER:$USER /var/www/ihre_domain
Jetzt müssen Sie eine neue Konfigurationsdatei für Ihre Domain im Ordner /etc/apache2/sites-available/ erstellen. Indem Sie folgenden Befehl ausführen:
sudo nano /etc/apache2/sites-available/ihre_domain.conf
In dieser Datei fügen Sie folgenden Text ein:
<VirtualHost *:80>
ServerName ihre_domain
ServerAlias www.ihre_domain
ServerAdmin webmaster@localhost
DocumentRoot /var/www/ihre_domain
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
Zum aktivieren der Konfigurationsdatei geben Sie folgenden Befehl ein:
sudo a2ensite ihre_domain
Im nächsten Schritt können Sie nun Prüfen ob die von Ihnen erstellte Datei frei von Fehlern ist indem Sie folgenden Befehl ausführen:
sudo apache2ctl configtest
Zu Letzt müssen Sie nun den Apache Webserver neu starten mit folgenden Befehl:
sudo systemctl reload apache2
Schreibe einen Kommentar