Leitfaden zur LAMP- und LEMP-Bereitstellung
Dieser Leitfaden beschreibt detailliert, wie Sie LAMP- und LEMP-Webserver auf einem Debian-System installieren und konfigurieren. Beide Technologie-Stacks sind langjährig erprobte und ausgereifte Lösungen für das Webhosting.
Was sind LAMP und LEMP?
- LAMP steht für Linux / Apache / MySQL / PHP.
- LEMP steht für Linux / Engine-X (Nginx) / MySQL / PHP.
Der einzige Unterschied liegt in der verwendeten Webserver-Software: Apache ist funktionsreich und verfügt über eine ausgereifte Konfigurationslandschaft; Nginx ist leichtgewichtig, leistungsstark und besonders gut für hohe Parallelität und statische Dateien geeignet.
Voraussetzungen
- Einen Server mit installiertem Debian 13 (Trixie).
- Einen Nicht-Root-Benutzer mit
sudo-Berechtigungen.
LAMP (Apache) bereitstellen
Schritt 1: Paketlisten aktualisieren
Stellen Sie zunächst sicher, dass die Paketlisten Ihres Systems auf dem neuesten Stand sind.
sudo apt update
sudo apt upgradeSchritt 2: Apache installieren
Installieren Sie den Apache-Webserver.
sudo apt install apache2Nach der Installation können Sie überprüfen, ob Apache läuft, indem Sie im Browser die IP-Adresse Ihres Servers aufrufen (http://Ihre_Server_IP). Wenn Sie die Standard-Willkommensseite von Apache sehen, war die Installation erfolgreich.
Schritt 3: MariaDB (MySQL) installieren
MariaDB ist eine Community-gesteuerte, vollständig kompatible Abspaltung von MySQL und die Standardimplementierung in Debian.
sudo apt install mariadb-serverNach der Installation wird empfohlen, das Sicherheitsskript auszuführen, um unsichere Standardeinstellungen zu entfernen.
sudo mysql_secure_installationFolgen Sie den Anweisungen, um ein Root-Passwort festzulegen und eine Reihe von Sicherheitsfragen zu beantworten.
Schritt 4: PHP installieren
Installieren Sie PHP sowie die Module, die für die Kommunikation mit Apache und MySQL erforderlich sind.
sudo apt install php libapache2-mod-php php-mysqlphp: Das PHP-Kernpaket.libapache2-mod-php: Ermöglicht Apache die Verarbeitung von PHP-Dateien.php-mysql: Ermöglicht PHP die Verbindung zu MySQL/MariaDB-Datenbanken.
Schritt 5: PHP testen
Um zu überprüfen, ob Apache PHP-Dateien korrekt verarbeiten kann, erstellen wir eine einfache PHP-Datei.
sudo nano /var/www/html/info.phpFügen Sie im Editor folgenden Inhalt ein:
<?php
phpinfo();
?>Speichern und schließen Sie die Datei. Rufen Sie nun im Browser http://Ihre_Server_IP/info.php auf. Wenn Sie eine Seite mit detaillierten PHP-Informationen sehen, wurde der LAMP-Stack erfolgreich bereitgestellt!
Wichtig: Löschen Sie diese Datei aus Sicherheitsgründen nach dem Test unbedingt.
sudo rm /var/www/html/info.phpLEMP (Nginx) bereitstellen
Wenn Sie Nginx bevorzugen, können Sie die folgenden Schritte ausführen.
Schritt 1: Nginx installieren
sudo apt install nginxRufen Sie ebenfalls die Server-IP auf (http://Ihre_Server_IP). Wenn Sie die Nginx-Willkommensseite sehen, war die Installation erfolgreich.
Schritt 2: MariaDB installieren
Dieser Schritt ist identisch mit der LAMP-Installation. Falls bereits installiert, muss er nicht wiederholt werden.
sudo apt install mariadb-server
sudo mysql_secure_installationSchritt 3: PHP-FPM installieren
Nginx verfügt nicht wie Apache über ein eingebautes PHP-Verarbeitungsmodul. Es benötigt ein externes Programm zur Verarbeitung von PHP-Anfragen, nämlich PHP-FPM (FastCGI Process Manager).
sudo apt install php-fpm php-mysqlSchritt 4: Nginx konfigurieren
Dies ist der kritischste Schritt bei der LEMP-Bereitstellung. Sie müssen die Server-Block-Konfigurationsdatei von Nginx bearbeiten, um ihm mitzuteilen, wie Anfragen für .php-Dateien an PHP-FPM weitergeleitet werden sollen.
Öffnen Sie die Standard-Server-Block-Konfigurationsdatei:
sudo nano /etc/nginx/sites-available/defaultSie müssen die Datei so ändern, dass sie in etwa wie folgt aussieht. Achten Sie darauf, index.php und den location ~ \.php$-Block hinzuzufügen.
server {
listen 80 default_server;
listen [::]:80 default_server;
root /var/www/html;
index index.html index.htm index.php; # index.php hinzufügen
server_name _;
location / {
try_files $uri $uri/ =404;
}
# Dies ist der wichtige Abschnitt, der auskommentiert oder hinzugefügt werden muss
location ~ \.php$ {
include snippets/fastcgi-php.conf;
# Hinweis: Der Pfad kann je nach PHP-Version variieren
fastcgi_pass unix:/run/php/php8.3-fpm.sock;
}
}Speichern und schließen Sie die Datei. Testen Sie dann, ob die Nginx-Konfiguration Syntaxfehler enthält.
sudo nginx -tWenn syntax is ok und test is successful angezeigt wird, können Sie Nginx sicher neu starten, um die Änderungen zu übernehmen.
sudo systemctl restart nginxSchritt 5: PHP testen
Dieser Schritt ähnelt dem LAMP-Test. Erstellen Sie eine info.php-Datei.
sudo nano /var/www/html/info.php<?php
phpinfo();
?>Rufen Sie nun http://Ihre_Server_IP/info.php auf. Wenn Sie die PHP-Info-Seite sehen, wurde der LEMP-Stack erfolgreich bereitgestellt!
Auch hier: Löschen Sie diese Datei nach dem Test unbedingt.
sudo rm /var/www/html/info.phpNächste Schritte
Sie verfügen nun über eine voll funktionsfähige Webserver-Umgebung. Als Nächstes können Sie in Betracht ziehen:
- Virtuelle Hosts (Virtual Hosts) für Ihre Website zu konfigurieren.
- HTTPS für Ihre Website mit Let's Encrypt zu aktivieren.
- Ihre eigene Anwendung bereitzustellen oder ein CMS wie WordPress zu installieren.