Tutorial

Installieren des Linux-, Apache-, MySQL-, PHP- (LAMP-)Stacks unter Ubuntu 20.04 [Schnellstart]

ApachePHPLAMP StackUbuntu 20.04

Einführung

In diesem Schnellstartleitfaden installieren wir einen LAMP-Stack auf einem Ubuntu 20.04-Server.

Eine detailliertere Version dieses Tutorials mit weiteren Erklärungen zu einzelnen Schritten finden Sie unter Installieren des Linux-, Apache-, MySQL-, PHP- (LAMP-)Stacks unter Ubuntu 20.04.

Voraussetzungen

Um diesem Leitfaden zu folgen, müssen Sie als sudo-Benutzer auf einen Ubuntu 20.04-Server zugreifen können.

Schritt 1 — Installieren von Apache

Aktualisieren Sie den Cache Ihres Paketmanagers und installieren Sie dann Apache mit:

  • sudo apt update
  • sudo apt install apache2

Sobald die Installation abgeschlossen ist, müssen Sie Ihre Firewalleinstellungen so anpassen, dass HTTP-Verkehr auf Ihrem Server zugelassen wird. Führen Sie den folgenden Befehl aus, um externen Zugriff an Port 80 (HTTP) zuzulassen:

  • sudo ufw allow in "Apache"

Nachdem die neue Firewall-Regel hinzugefügt wurde, können Sie testen, ob der Server läuft, indem Sie auf die öffentliche IP-Adresse des Servers oder den Domänennamen von Ihrem Web-Browser aus zugreifen. Sie sehen in etwa folgende Seite:

Ubuntu 20.04 Apache Standard

Schritt 2 — Installieren von MySQL

Wir installieren jetzt MySQL, ein beliebtes Datenbankverwaltungssystem, das in PHP-Umgebungen verwendet wird.

Verwenden Sie auch hier wieder apt zur Beschaffung und Installation der Software:

  • sudo apt install mysql-server

Sobald die Installation abgeschlossen ist, empfehlen wir, ein Sicherheitsskript auszuführen, das in MySQL vorinstalliert ist. Starten Sie das interaktive Skript, indem Sie Folgendes ausführen:

  • sudo mysql_secure_installation

Sie werden gefragt, ob Sie das VALIDATE PASSWORD PLUGIN konfigurieren möchten. Geben Sie Y für Ja oder etwas Anderes ein, um ohne Aktivierung weiterzumachen. Wenn Sie mit „ja“ antworten, werden Sie dazu aufgefordert, eine Stufe der Passwortvalidierung zu wählen.

Ihr Server fordert Sie als Nächstes dazu auf, ein Passwort für den MySQL-Benutzer root auszuwählen und zu bestätigen. Zwar entbindet die Standardauthentifizierungsmethode für den MySQL root-Benutzer von der Verwendung eines Passworts, selbst wenn eines festgelegt ist, doch sollten Sie hier als zusätzliche Sicherheitsmaßnahme ein starkes Passwort definieren.

Drücken Sie bei den restlichen Fragen auf Y und bei jeder Eingabeaufforderung ENTER.

Anmerkung: Zum Zeitpunkt der Verfassung dieses Dokuments unterstützt die native MySQL-PHP-Bibliothek mysqlnd keine caching_sha2_authentication, die standardmäßige Authentifizierungsmethode für MySQL 8. Wenn Sie Datenbankbenutzer für PHP-Anwendungen unter MySQL 8 erstellen, müssen Sie sie daher so konfigurieren, dass sie stattdessen mysql_native_password verwenden. Konsultieren Sie den Schritt 6 unseres detaillierten Leitfadens für LAMP unter Ubuntu 20.04, um mehr zu erfahren.

Schritt 3 — Installieren von PHP

Um PHP und seine Abhängigkeiten zu installieren, führen Sie Folgendes aus:

  • sudo apt install php libapache2-mod-php php-mysql

Sobald die Installation abgeschlossen ist, können Sie folgenden Befehl ausführen, um Ihre PHP-Version zu prüfen:

  • php -v
Output
PHP 7.4.3 (cli) (built: Mar 26 2020 20:24:23) ( NTS ) Copyright (c) The PHP Group Zend Engine v3.4.0, Copyright (c) Zend Technologies with Zend OPcache v7.4.3, Copyright (c), by Zend Technologies

Schritt 4 — Erstellen eines virtuellen Hosts für Ihre Website

In diesem Leitfaden richten wir eine Domäne namens your_domain ein, aber Sie sollten diesen Namen durch Ihren eigenen Domänenamen ersetzen.

Apache unter Ubuntu 20.04 hat einen Serverblock, der standardmäßig aktiviert und so konfiguriert ist, dass er Dokumente aus dem /var/www/html-Verzeichnis bereitstellt. Statt /var/www/html zu ändern, erstellen wir eine Verzeichnisstruktur innerhalb von /var/www für die Site your_domain und belassen dabei /var/www/html als Standardverzeichnis, das genutzt wird, wenn eine Clientanfrage keine übereinstimmenden Sites ergibt.

Erstellen Sie das Verzeichnis für your_domain wie folgt:

  • sudo mkdir /var/www/your_domain

Als Nächstes weisen Sie die Eigentumsrechte des Verzeichnisses mit der Umgebungsvariablen $USER zu, die auf Ihren aktuellen Systembenutzer verweisen wird:

  • sudo chown -R $USER:$USER /var/www/your_domain

Öffnen Sie dann mit Ihrem bevorzugten Befehlszeileneditor eine neue Konfigurationsdatei im Verzeichnis sites-available von Apache:

  • sudo nano /etc/apache2/sites-available/your_domain.conf

Dadurch wird eine neue Leerdatei erstellt. Fügen Sie die folgende Basiskonfiguration ein:

/etc/apache2/sites-available/your_domain.conf
<VirtualHost *:80>
    ServerName your_domain
    ServerAlias www.your_domain
    ServerAdmin webmaster@localhost
    DocumentRoot /var/www/your_domain
    ErrorLog ${APACHE_LOG_DIR}/error.log
    CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>

Speichern und schließen Sie die Datei, wenn Sie fertig sind. Wenn Sie nano verwenden, können Sie STRG+X, dann Y und abschließend ENTER drücken.

Sie können nun a2ensite verwenden, um den neuen virtuellen Host zu aktivieren:

  • sudo a2ensite your_domain

Um die Standard-Website von Apache zu deaktivieren, geben Sie Folgendes ein:

  • sudo a2dissite 000-default

Um sicherzustellen, dass Ihre Konfigurationsdatei keine Syntaxfehler enthält, führen Sie Folgendes aus:

  • sudo apache2ctl configtest

Schließlich laden Sie Apache neu, damit diese Änderungen wirksam werden:

  • sudo systemctl reload apache2

Ihre neue Website ist nun aktiv, aber der Webstamm /var/www/your_domain ist immer noch leer. Erstellen Sie an diesem Ort eine index.html-Datei, damit wir testen können, ob der virtuelle Host wie erwartet funktioniert:

  • nano /var/www/your_domain/index.html

Fügen Sie in die Datei folgenden Inhalt ein:

/var/www/your_domain/index.html
<html>
  <head>
    <title>your_domain website</title>
  </head>
  <body>
    <h1>Hello World!</h1>

    <p>This is the landing page of <strong>your_domain</strong>.</p>
  </body>
</html>

Greifen Sie jetzt über Ihren Browser erneut auf den Domänenamen oder die IP-Adresse Ihres Servers zu:

http://server_domain_or_IP

Sie sehen in etwa folgende Seite:

Test für einen virtuellen Apache Host

Schritt 5 — Testen von PHP mit Apache

Wir erstellen jetzt ein PHP-Testskript, um zu prüfen, ob Apache Anfragen für PHP-Dateien bearbeiten kann.

Erstellen Sie eine neue Datei namens info.php in Ihrem benutzerdefinierten Web-root-Ordner:

  • nano /var/www/your_domain/info.php

Damit wird eine leere Datei geöffnet. Fügen Sie in der Datei folgenden Inhalt hinzu:

/var/www/your_domain/info.php
<?php
phpinfo();

Wenn Sie dies abgeschlossen haben, speichern und schließen Sie die Datei.

Rufen Sie in Ihrem Webbrowser den Domänenamen oder die IP-Adresse Ihres Servers auf, gefolgt vom Skriptnamen (in diesem Fall info.php):

http://server_domain_or_IP/info.php

Sie sehen eine Seite, die so ähnlich wie die folgende aussieht:

Informationen zu Ubuntu 20.04 PHP

Nachdem Sie über diese Seite die relevanten Informationen zu Ihrem PHP-Server überprüft haben, ist es am besten, die von Ihnen erstellte Datei zu entfernen, da sie sensible Informationen über Ihre PHP-Umgebung und Ihren Ubuntu-Server enthält. Sie können dazu rm verwenden:

  • sudo rm /var/www/your_domain/info.php

Relevante Tutorials

Hier sehen Sie Links zu detaillierteren Leitfäden, die in Verbindung mit diesem Tutorial stehen:

Creative Commons License