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.
Um diesem Leitfaden zu folgen, müssen Sie als sudo
-Benutzer auf einen Ubuntu 20.04-Server zugreifen können.
Aktualisieren Sie den Cache Ihres Paketmanagers und installieren Sie dann Apache mit:
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:
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:
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:
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:
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.
Um PHP und seine Abhängigkeiten zu installieren, führen Sie Folgendes aus:
Sobald die Installation abgeschlossen ist, können Sie folgenden Befehl ausführen, um Ihre PHP-Version zu prüfen:
OutputPHP 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
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:
Als Nächstes weisen Sie die Eigentumsrechte des Verzeichnisses mit der Umgebungsvariablen $USER
zu, die auf Ihren aktuellen Systembenutzer verweisen wird:
Öffnen Sie dann mit Ihrem bevorzugten Befehlszeileneditor eine neue Konfigurationsdatei im Verzeichnis sites-available
von Apache:
Dadurch wird eine neue Leerdatei erstellt. Fügen Sie die folgende Basiskonfiguration ein:
<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:
Um die Standard-Website von Apache zu deaktivieren, geben Sie Folgendes ein:
Um sicherzustellen, dass Ihre Konfigurationsdatei keine Syntaxfehler enthält, führen Sie Folgendes aus:
Schließlich laden Sie Apache neu, damit diese Änderungen wirksam werden:
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:
Fügen Sie in die Datei folgenden Inhalt ein:
<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:
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:
Damit wird eine leere Datei geöffnet. Fügen Sie in der Datei folgenden Inhalt hinzu:
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:
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:
Hier sehen Sie Links zu detaillierteren Leitfäden, die in Verbindung mit diesem Tutorial stehen:
Thanks for learning with the DigitalOcean Community. Check out our offerings for compute, storage, networking, and managed databases.
This textbox defaults to using Markdown to format your answer.
You can type !ref in this text area to quickly search our full set of tutorials, documentation & marketplace offerings and insert the link!