Teilen über


Tutorial: Installieren eines LAMP-Stacks auf einem virtuellen Azure Linux-Computer

Gilt für: ✔️ Linux-VMs

In diesem Artikel werden Sie durch die Bereitstellung eines Apache-Webservers sowie von MySQL und PHP (LAMP-Stack) auf einem virtuellen Ubuntu-Computer in Azure geführt. Um den LAMP-Server in Aktion zu sehen, können Sie optional eine WordPress-Website installieren und konfigurieren. In diesem Tutorial lernen Sie Folgendes:

  • Erstellen eines virtuellen Ubuntu-Computers
  • Öffnen von Port 80 für Webdatenverkehr
  • Installieren von Apache, MySQL und PHP
  • Überprüfen der Installation und Konfiguration
  • Installieren von WordPress

Dieses Setup ist für schnelle Tests oder Proof of Concept gedacht. Weitere Informationen zum LAMP-Stack, einschließlich Empfehlungen für eine Produktionsumgebung, finden Sie in der Ubuntu-Dokumentation.

Dieses Tutorial verwendet die CLI innerhalb des Diensts Azure Cloud Shell, der ständig auf die neueste Version aktualisiert wird. Wählen Sie zum Öffnen von Cloud Shell oben in einem Codeblock die Option Ausprobieren aus.

Wenn Sie die CLI lokal installieren und verwenden möchten, müssen Sie für dieses Tutorial mindestens die Azure CLI-Version 2.0.30 ausführen. Führen Sie az --version aus, um die Version zu ermitteln. Informationen zum Durchführen einer Installation oder eines Upgrades finden Sie bei Bedarf unter Installieren der Azure CLI.

Erstellen einer Ressourcengruppe

Erstellen Sie mithilfe des Befehls az group create eine Ressourcengruppe. Eine Azure-Ressourcengruppe ist ein logischer Container, in dem Azure-Ressourcen bereitgestellt und verwaltet werden.

Das folgende Beispiel erstellt eine Ressourcengruppe mit dem Namen myResourceGroup am Standort eastus.

az group create --name myResourceGroup --location eastus

Erstellen eines virtuellen Computers

Erstellen Sie mit dem Befehl az vm create einen virtuellen Computer.

Das folgende Beispiel erstellt eine VM mit dem Namen myVM und erzeugt SSH-Schlüssel, sofern diese nicht bereits in einem Standard-Schlüsselverzeichnis vorhanden sind. Um einen bestimmten Satz von Schlüsseln zu verwenden, nutzen Sie die Option --ssh-key-value. Der Befehl legt zudem azureuser als Administratorbenutzernamen fest. Sie verwenden diesen Namen später, um eine Verbindung mit dem virtuellen Computer herzustellen.

az vm create \
    --resource-group myResourceGroup \
    --name myVM \
    --image Ubuntu2204 \
    --admin-username azureuser \
    --generate-ssh-keys

Nach dem Erstellen der VM zeigt die Azure CLI ähnliche Informationen wie im folgenden Beispiel an. Notieren Sie sich den Wert von publicIpAddress. Diese Adresse wird später verwendet, um auf den virtuellen Computer zuzugreifen.

{
  "fqdns": "",
  "id": "/subscriptions/<subscription ID>/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM",
  "location": "eastus",
  "macAddress": "00-0D-3A-23-9A-49",
  "powerState": "VM running",
  "privateIpAddress": "10.0.0.4",
  "publicIpAddress": "40.68.254.142",
  "resourceGroup": "myResourceGroup"
}

Öffnen von Port 80 für Webdatenverkehr

Standardmäßig sind für in Azure bereitgestellte virtuelle Linux-Computer nur eingehende SSH-Verbindungen zulässig. Da dieser virtuelle Computer als Webserver fungieren soll, muss Port 80 für Datenverkehr aus dem Internet geöffnet werden. Verwenden Sie zum Öffnen des gewünschten Ports den Befehl az vm open-port.

az vm open-port --port 80 --resource-group myResourceGroup --name myVM

Weitere Informationen zum Öffnen von Ports für Ihren virtuellen Computer finden Sie unter Öffnen von Ports und Endpunkten für eine VM über die Azure-Befehlszeilenschnittstelle.

Herstellen einer SSH-Verbindung mit Ihrem virtuellen Computer

Wenn Sie die öffentliche IP-Adresse des virtuellen Computers nicht bereits kennen, führen Sie den Befehl az network public-ip list aus. Sie benötigen diese IP-Adresse für mehrere nachfolgende Schritte.

az network public-ip list --resource-group myResourceGroup --query [].ipAddress

Erstellen Sie mit dem folgenden Befehl eine SSH-Sitzung mit dem virtuellen Computer. Ersetzen Sie die korrekte öffentliche IP-Adresse Ihres virtuellen Computers. In diesem Beispiel lautet die IP-Adresse 40.68.254.142. azureuser ist der Administratorbenutzername, der beim Erstellen des virtuellen Computers festgelegt wurde.

ssh azureuser@40.68.254.142

Installieren von Apache, MySQL und PHP

Führen Sie den folgenden Befehl aus, um die Ubuntu-Paketquellen zu aktualisieren und Apache, MySQL und PHP zu installieren. Beachten Sie das Caretzeichen (^) am Ende des Befehls, das Teil des Paketnamens lamp-server^ ist.

sudo apt update && sudo apt install lamp-server^

Sie werden aufgefordert, die Pakete und andere Abhängigkeiten zu installieren. Dieser Prozess installiert die PHP-Erweiterungen, die mindestens für die Verwendung von PHP mit MySQL erforderlich sind.

Überprüfen von Apache

Überprüfen Sie die Version von Apache mit dem folgenden Befehl:

apache2 -v

Nachdem Apache installiert und Port 80 für den virtuellen Computer geöffnet wurde, ist der Zugriff auf den Webserver über das Internet möglich. Öffnen Sie zum Anzeigen der Apache2 Ubuntu-Standardseite einen Webbrowser, und geben Sie die öffentliche IP-Adresse des virtuellen Computers ein. Verwenden Sie die öffentliche IP-Adresse, die Sie zum Herstellen einer SSH-Verbindung mit dem virtuellen Computer verwendet haben:

Apache-Standardseite

Überprüfen und Sichern von MySQL

Überprüfen Sie die Version von MySQL mit dem folgenden Befehl (beachten Sie die Großschreibung des V-Parameters):

mysql -V

Führen Sie das Skript mysql_secure_installation aus, um die Installation von MySQL zu sichern, u.a. durch Festlegen eines Stammkennworts.

sudo mysql_secure_installation

Sie können optional das Plug-In zur Kennwortüberprüfung einrichten (empfohlen). Legen Sie dann ein Kennwort für den MySQL-Root-Benutzer fest, und konfigurieren Sie die übrigen Sicherheitseinstellungen für Ihre Umgebung. Es wird empfohlen, auf alle Fragen mit „Y“ (ja) zu antworten.

Wenn Sie MySQL-Features (MySQL-Datenbank erstellen, Benutzer hinzufügen oder Konfigurationseinstellungen ändern) ausprobieren möchten, melden Sie sich bei MySQL an. Dieser Schritt ist für den Abschluss des Tutorials nicht erforderlich.

sudo mysql -u root -p

Beenden Sie anschließend die MySQL-Eingabeaufforderung durch Eingabe von \q.

Überprüfen von PHP

Überprüfen Sie die Version von PHP mit dem folgenden Befehl:

php -v

Wenn Sie weitere Tests durchführen möchten, erstellen Sie schnell eine PHP-Infoseite zum Anzeigen in einem Browser. Die PHP-Infoseite wird mit dem folgenden Befehl erstellt:

sudo sh -c 'echo "<?php phpinfo(); ?>" > /var/www/html/info.php'

Nun können Sie die erstellte PHP-Infoseite überprüfen. Öffnen Sie einen Browser, und rufen Sie http://yourPublicIPAddress/info.php auf. Ersetzen Sie die öffentliche IP-Adresse Ihres virtuellen Computers. Die Seite sollte ähnlich wie diese Abbildung aussehen.

PHP-Infoseite

Installieren von WordPress

Installieren Sie zum Ausprobieren des Stapels eine Beispiel-App. Als Beispiel wird in den folgenden Schritten die Open Source-Plattform WordPress zum Erstellen von Websites und Blogs installiert. Sie können auch andere Workloads wie Drupal und Moodle ausprobieren.

Dieses WordPress-Setup dient nur als Proof of Concept. Informationen zum Installieren des aktuellen WordPress-Pakets in der Produktion mit den empfohlenen Sicherheitseinstellungen finden Sie in der WordPress-Dokumentation.

Installieren des WordPress-Pakets

Führen Sie den folgenden Befehl aus:

sudo apt install wordpress

WordPress konfigurieren

Konfigurieren Sie WordPress für die Verwendung von MySQL und PHP.

Erstellen Sie in einem Arbeitsverzeichnis die Textdatei wordpress.sql, um die MySQL-Datenbank für WordPress zu konfigurieren:

sudo sensible-editor wordpress.sql

Fügen Sie die folgenden Befehle hinzu, und ersetzen Sie dabei yourPassword durch ein Datenbankkennwort Ihrer Wahl. (Ändern Sie die anderen Werte nicht.) Wenn Sie zuvor zur Überprüfung der Kennwortsicherheit eine MySQL-Sicherheitsrichtlinie eingerichtet haben, stellen Sie sicher, dass das Kennwort die Sicherheitsanforderungen erfüllt. Speichern Sie die Datei .

CREATE DATABASE wordpress;
GRANT SELECT,INSERT,UPDATE,DELETE,CREATE,DROP,ALTER
ON wordpress.*
TO wordpress@localhost
IDENTIFIED BY 'yourPassword';

Führen Sie den folgenden Befehl aus, um die Datenbank zu erstellen:

cat wordpress.sql | sudo mysql --defaults-extra-file=/etc/mysql/debian.cnf

Da die Datei wordpress.sql Datenbankanmeldeinformationen enthält, löschen Sie sie nach der Verwendung:

sudo rm wordpress.sql

Führen Sie zum Konfigurieren von PHP den folgenden Befehl aus, um einen Text-Editor Ihrer Wahl zu öffnen und die Datei /etc/wordpress/config-localhost.php zu erstellen:

sudo sensible-editor /etc/wordpress/config-localhost.php

Kopieren Sie die folgenden Zeilen in die Datei, und ersetzen Sie dabei yourPassword durch Ihr WordPress-Datenbankkennwort. (Ändern Sie die anderen Werte nicht.) Speichern Sie dann die Datei.

<?php
define('DB_NAME', 'wordpress');
define('DB_USER', 'wordpress');
define('DB_PASSWORD', 'yourPassword');
define('DB_HOST', 'localhost');
define('WP_CONTENT_DIR', '/usr/share/wordpress/wp-content');
?>

Verschieben Sie die WordPress-Installation in den Dokumentstamm des Webservers:

sudo ln -s /usr/share/wordpress /var/www/html/wordpress

sudo mv /etc/wordpress/config-localhost.php /etc/wordpress/config-default.php

Jetzt können Sie das WordPress-Setup abschließen und auf der Plattform veröffentlichen. Öffnen Sie einen Browser, und rufen Sie http://yourPublicIPAddress/wordpress auf. Ersetzen Sie die öffentliche IP-Adresse Ihres virtuellen Computers. Die Seite sollte ähnlich wie diese Abbildung aussehen.

WordPress-Installationsseite

Nächste Schritte

In diesem Tutorial haben Sie einen LAMP-Server in Azure bereitgestellt. Sie haben Folgendes gelernt:

  • Erstellen eines virtuellen Ubuntu-Computers
  • Öffnen von Port 80 für Webdatenverkehr
  • Installieren von Apache, MySQL und PHP
  • Überprüfen der Installation und Konfiguration
  • Installieren von WordPress auf dem LAMP-Server

Im nächsten Tutorial erfahren Sie, wie Sie Webserver mit TLS/SSL-Zertifikaten schützen.