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

php- illustration for: 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:

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

				
			
				
					
[secondary_label 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:

				
					
[label /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/&lt;^&gt;your_domain&lt;^&gt;/index.html

				
			

Fügen Sie in die Datei folgenden Inhalt ein:

				
					
[label /var/www/your_domain/index.html]

&lt;html&gt;

 &lt;head&gt;

 &lt;title&gt;&lt;^&gt;your_domain&lt;^&gt; website&lt;/title&gt;

 &lt;/head&gt;

 &lt;body&gt;

 &lt;h1&gt;Hello World!&lt;/h1&gt;



 &lt;p&gt;This is the landing page of &lt;strong&gt;&lt;^&gt;your_domain&lt;^&gt;&lt;/strong&gt;.&lt;/p&gt;

 &lt;/body&gt;

&lt;/html&gt;

				
			

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

				
					
http://&lt;^&gt;server_domain_or_IP&lt;^&gt;

				
			

Sie sehen in etwa folgende Seite:

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/&lt;^&gt;your_domain&lt;^&gt;/info.php

				
			

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

				
					
[label /var/www/your_domain/info.php]

&lt;?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://&lt;^&gt;server_domain_or_IP&lt;^&gt;/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:

				
					
sudo rm /var/www/&lt;^&gt;your_domain&lt;^&gt;/info.php