Website-Icon RandomBrick.de

Anleitung: LAMP-Stack Webserver auf Ubuntu 20.04 installieren

Raspberry Pi: WordPress Website mit eigener Domain hosten

Raspberry Pi: WordPress Website mit eigener Domain hosten (Bild: RandomBrick.de).

Der LAMP-Stack ist eine einfache, aber beliebte Suite von weithin unterstützter Webserver-Software. Er bezieht sich im Allgemeinen auf die Kombination von Linux, Apache, MySQL und PHP. Der LAMP-Stack ist ein hervorragender Ausgangspunkt für Benutzer, die schnell und einfach einen Webserver auf ihrem neuen Cloud-Server zum Laufen bringen möchten. Das ganze lässt sich auf einem Raspberry Pi und Ubuntu 20.04 Server in nur wenigen Minuten einrichten.

In dieser Anleitung führen ich dich durch die Schritte, die für die Installation eines einfachen Webservers mit Ubuntu 20.04, Apache2, MariaDB und PHP erforderlich sind. Bei mir Zuhause läuft der LAMP-Stack auf einem Raspberry Pi 4 mit 8GB Speicher. Diese bilden zusammen einen zuverlässigen LAMP-Stack und die Grundlage für die Erstellung deiner Websites! Die Schritte in dieser Anleitung sind für die Verwendung mit einem neu eingerichteten Ubuntu 20.04 Server geschrieben.

Werbung

LAMP-Stack-Webserver auf Ubuntu 20.04 installieren

Bevor du mit der Installation beginnen kannst, musst du deinen Ubuntu 20.04 Server vorbereiten. Stelle zunächst sicher, dass auf deinem Server alles auf dem neuesten Stand ist:

sudo apt update
sudo apt upgrade

Öffne nun die Ports 22 (für SSH), 80 und 443 und aktiviere die Ubuntu Firewall (ufw):

sudo ufw allow ssh
sudo ufw allow 80
sudo ufw allow 443
sudo ufw enable

1. Installieren und Testen von Apache2

Installiere Apache mit apt:

sudo apt install apache2

Prüfe, dass der Apache jetzt läuft, indem du den folgenden Befehl eintippst:

sudo systemctl status apache2

Du solltest nun eine Ausgabe erhalten, die zeigt, dass der apache2.service läuft und aktiviert ist.

● apache2.service - The Apache HTTP Server
     Loaded: loaded (/lib/systemd/system/apache2.service; enabled; vendor preset: enabled)
     Active: active (running) since Sun 2021-04-04 11:18:08 UTC; 2h 44min ago
       Docs: https://httpd.apache.org/docs/2.4/
    Process: 18680 ExecStart=/usr/sbin/apachectl start (code=exited, status=0/SUCCESS)
   Main PID: 18684 (apache2)
      Tasks: 7 (limit: 9257)
     CGroup: /system.slice/apache2.service
             ├─18684 /usr/sbin/apache2 -k start
             ├─18685 /usr/sbin/apache2 -k start
             ├─18686 /usr/sbin/apache2 -k start
             ├─18687 /usr/sbin/apache2 -k start
             ├─18688 /usr/sbin/apache2 -k start
             ├─18689 /usr/sbin/apache2 -k start
             └─19045 /usr/sbin/apache2 -k start

Teste nach der Installation die erfolgreiche Installation, indem du in deinem Browser die IP Adresse deines Ubuntu Servers eintippst:

http://deine.ip.zuhause

Du solltest eine Seite mit der Überschrift „Apache2 Ubuntu Default“ sehen, die anzeigt, dass Apache2 erfolgreich installiert wurde. Wenn du diese nicht siehst, stelle bitte sicher, dass die vorherigen Befehle in diesem Abschnitt ohne Fehler abgeschlossen wurden.

Weitere Einstellungen für Apache

Apache bei Systemstart aktivieren: Es ist sinnvoll, den automatischen Start des Apache beim Systemstart zu aktivieren.

sudo systemctl enable apache2

Apache-Benutzer als Web-Root: Zusätzlich müssen wir www-data (Apache-Benutzer) als Eigentümer des Dokumentstammsatzes (auch bekannt als Web-Root) festlegen. Standardmäßig gehört es dem Benutzer root.

sudo chown www-data:www-data /var/www/html/ -R

System-Hostname löst nicht auf: Standardmäßig verwendet Apache den System-Hostnamen als globalen ServerName. Wenn der System-Hostname nicht im DNS aufgelöst werden kann, wird nach dem Ausführen des Befehls sudo apache2ctl -t wahrscheinlich die folgende Fehlermeldung angezeigt.

AH00558: apache2: Could not reliably determine the server's fully qualified domain name, using 127.0.0.1. Set the 'ServerName' directive globally to suppress this message

Um dieses Problem zu lösen, können wir einen globalen ServerName im Apache festlegen. Verwende den Nano-Befehlszeilen-Texteditor, um eine neue Konfigurationsdatei zu erstellen.

Achtung: Wenn du auf deinem Apache mehr als eine Website laufen lassen möchtest, musst du mehrere Virtual Hosts auf Apache einrichten. In diesem Fall kannst du die folgenden Tipps überspringen, da bei der Einrichtung von Virtual Hosts der Teil unten ebenfalls vorgenommen wird.

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

Füge folgende Zeile hinzu:

ServerName localhost

Speichern und schließen Sie die Datei. Um eine Datei im Nano-Texteditor zu speichern, drücken Sie Strg+O und dann zur Bestätigung die Eingabetaste. Zum Beenden drücken Sie Strg+X. Aktivieren Sie dann diese Konfigurationsdatei.

sudo a2enconf servername.conf

Starte Apache neu, damit die Änderung wirksam wird.

sudo systemctl reload apache2

Wenn Sie nun den Befehl sudo apache2ctl -t erneut ausführen, wird die obige Fehlermeldung nicht angezeigt.

2. Installieren und Testen von PHP 7.4

PHP 7.4 ist die aktuellste Version, die derzeit verfügbar ist, also installieren wir diese zusammen mit einigen regelmäßig verwendeten Modulen:

sudo apt install php7.4 php7.4-mysql php-common php7.4-cli php7.4-json php7.4-common php7.4-opcache libapache2-mod-php7.4

Überprüfe die Installation und die Version:

php --version

Starte Apache neu, damit die Änderungen wirksam werden:

sudo systemctl restart apache2

Erstelle eine Testseite phpinfo.php:

echo '<?php phpinfo(); ?>' | sudo tee -a /var/www/html/phpinfo.php > /dev/null

Teste, ob alles funktioniert, indem du folgendes in deinem Browser aufrufst:

http://deine.ip.zuhause/phpinfo.php

Es sollte eine Seite mit der PHP-Version 7.4.3 angezeigt werden, auf der alle deine PHP-Optionen aufgelistet sind. Wenn dies nicht der Fall ist oder versucht wird, eine Datei herunterzuladen, überprüfe noch einmal, ob alle oben genannten Schritte ohne Fehler abgeschlossen wurden.

Sobald du bestätigt hast, dass PHP korrekt funktioniert, lösche die Testdatei.

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

Die in den PHP-Informationen angezeigten Informationen könnten dazu verwendet werden, eine Angriffsmöglichkeit gegen deinen Webserver zu finden, daher solltest diese Informationen nicht öffentlich zugänglich machen.

3. Installieren und Sichern von MariaDB

MariaDB ist ein Fork von MySQL, der von einem Teil des ursprünglichen MySQL-Teams entwickelt wurde und ein Drop-in-Ersatz ist. Wir werden es in dieser Anleitung anstelle von MySQL selbst verwenden!

Installiere die erforderlichen Pakete:

sudo apt install mariadb-server mariadb-client

Überprüfe nach der Installation, ob alles korrekt läuft:

sudo systemctl status mariadb

Du solltest eine Ausgabe ähnlich dem folgenden Beispiel sehen:

● mariadb.service - MariaDB 10.3.25 database server
     Loaded: loaded (/lib/systemd/system/mariadb.service; enabled; vendor preset: enabled)
     Active: active (running) since Sun 2021-04-04 08:49:14 UTC; 5h 23min ago
       Docs: man:mysqld(8)
             https://mariadb.com/kb/en/library/systemd/
   Main PID: 12914 (mysqld)
     Status: "Taking your SQL requests now..."
      Tasks: 30 (limit: 9257)
     CGroup: /system.slice/mariadb.service
             └─12914 /usr/sbin/mysqld

Sollte MariaDB nicht laufen, verwende folgenden Befehl:

sudo systemctl start mariadb

Damit MariaDB automatisch beim Start von Ubuntu startet, verwende folgenden Befehl:

sudo systemctl enable mariadb

Sichere deinen neu installierten MariaDB-Service:

sudo mysql_secure_installation

Wenn du zur Eingabe des MariaDB-Root-Passworts aufgefordert wirst, drücke die Eingabetaste, da das Root-Passwort noch nicht festgelegt ist. Tippe dann y ein, um das Root-Passwort für den MariaDB-Server festzulegen. Notiere dir dieses Passwort gut und verliere es nicht!

Als Nächstes kannst du die Eingabetaste drücken, um alle verbleibenden Fragen zu beantworten, wodurch der anonyme Benutzer entfernt, die Remote-Root-Anmeldung deaktiviert und die Testdatenbank entfernt wird. Dieser Schritt ist eine Grundvoraussetzung für die Sicherheit der MariaDB-Datenbank. Beachte, dass Y groß geschrieben wird, was bedeutet, dass es die Standardantwort ist.

Standardmäßig verwendet das MariaDB-Paket unter Ubuntu unix_socket zur Authentifizierung der Benutzeranmeldung, was im Grunde bedeutet, dass du dich mit dem Benutzernamen und dem Kennwort des Betriebssystems bei der MariaDB-Konsole anmelden kannst.Du kannst also den folgenden Befehl ausführen, um dich ohne Angabe des MariaDB-Root-Passworts anzumelden.

sudo mariadb -u root

Um die Einstellungen von MariaDB zu verlassen, tippe folgendes ein:

exit;

Um Die MariaDB Server-Version zu prüfen, tippe folgendes ein:

mariadb --version
Die mobile Version verlassen