Webserver Installation · 10 min read · Sep 22, 2025

So installieren Sie Lighttpd mit MariaDB und PHP-FPM auf Ubuntu 22.04

Der LLMP-Stack (Linux, Lighttpd, MariaDB und PHP-FPM) ist ein Software-Stack zur Bereitstellung von Webanwendungen. Jede Komponente des LLMP-Stacks ist kostenlos, Open Source und kann auf mehreren Betriebssystemen installiert werden. Der LLMP-Stack kann statische HTML-Seiten und PHP-Anwendungen wie WordPress, Drupal und Joomla bereitstellen.

Dieses Tutorial zeigt Ihnen, wie Sie den LLMP-Stack (Linux, Lighttpd, MariaDB und PHP-FPM) auf dem neuesten Ubuntu 22.04-System installieren und konfigurieren. Dieses Tutorial enthält Anweisungen zur Einrichtung des virtuellen Hosts auf dem Lighttpd-Webserver und zur Aktivierung von SSL/HTTPS.

Voraussetzungen

Für dieses Tutorial benötigen wir die folgenden Voraussetzungen:

  • Einen Ubuntu 22.04-Server.
  • Einen Nicht-Root-Benutzer mit Root-/Administratorrechten

Installation des Lighttpd-Webservers

Lighttpd oder Lighty ist ein Hochleistungs-Webserver, der als Proof-of-Concept des c10k-Problems „Wie man 10.000 Verbindungen parallel auf einem einzigen Server verarbeitet“ entwickelt wurde.

Der Lighttpd ist für Geschwindigkeit, Sicherheit, geringe Ressourcenanforderungen und Flexibilität konzipiert. Er hat einen minimalen CPU- und Speicherverbrauch und bietet erweiterte Funktionen wie FastCGI, CGI, Authentifizierung, Kompression, URL-Umschreibung und mehr.

Bevor Sie ein Paket installieren, führen Sie den folgenden apt-Befehl aus, um das Paket-Index Ihrer Ubuntu-Repositorys zu aktualisieren und zu aktualisieren.

sudo apt update

Installieren Sie nun den Lighttpd-Webserver mit dem folgenden Befehl.

sudo apt install lighttpd

Geben Sie Y ein, um die Installation zu bestätigen, und drücken Sie ENTER, um fortzufahren. Jetzt beginnt die Installation von Lighttpd.

install lighttpd

Nachdem die Installation von Lighttpd abgeschlossen ist, führen Sie den folgenden Befehl aus, um den Lighttpd-Dienst zu starten und zu aktivieren.

sudo systemctl start lighttpd  
sudo systemctl enable lighttpd

Überprüfen und verifizieren Sie den Lighttpd-Dienst mit dem folgenden Befehl. Sie sollten sehen, dass der Lighttpd-Dienst läuft und aktiviert ist, was bedeutet, dass er beim Systemstart automatisch ausgeführt wird.

sudo systemctl status lighttpd

start lighttpd

Wenn Sie eine UFW-Firewall auf Ihrem Ubuntu-Rechner haben, müssen Sie die Firewall-Regeln für den eingehenden Datenverkehr zum Lighttpd-Webserver hinzufügen.

Führen Sie den folgenden UFW-Befehl aus, um die Lighttpd-Regeln zur UFW-Firewall hinzuzufügen, und überprüfen Sie dann die Liste der UFW-Regeln wie unten.

sudo ufw allow "Lighttpd Full"  
sudo ufw status

Sie sollten das Anwendungsprofil „Lighttpd Full“ zur UFW-Firewall hinzugefügt sehen, was bedeutet, dass alle eingehenden HTTP- und HTTPS-Ports erlaubt sind.

setup ufw firewall

Überprüfen Sie nun das Verzeichnis “ /var/www/html “ mit dem folgenden Befehl. Wenn Sie keine index.html-Datei sehen, können Sie eine mit dem folgenden Befehl erstellen.

ls -lah /var/www/html  
echo "

Willkommen beim Lighttpd-Webserver

" > /var/www/html/index.html

Öffnen Sie schließlich Ihren Webbrowser und besuchen Sie die IP-Adresse des Servers (d.h. http://192.168.5.28/) und Sie sollten die index.html-Seite sehen.

Installation des MariaDB-Servers

Nachdem Sie den Lighttpd-Webserver installiert haben, ist es an der Zeit, den MariaDB-Server auf dem Ubuntu-System zu installieren. Dies umfasst auch, wie Sie den MariaDB-Server sicher mit dem von MariaDB bereitgestellten Tool „ mysql_secure_installation “ bereitstellen.

Führen Sie den folgenden apt-Befehl aus, um den MariaDB-Server zu installieren. Zum aktuellen Zeitpunkt bietet das Standard-Ubuntu-Repository die MariaDB v10.6.

sudo apt install mariadb-server

Geben Sie nun Y ein, um die Installation zu bestätigen, und drücken Sie ENTER. Die Installation von MariaDB beginnt jetzt.

install mariadb

Nachdem die Installation von MariaDB abgeschlossen ist, führen Sie den systemctl-Befehl aus, um den MariaDB-Dienst zu starten und zu aktivieren.

sudo systemctl start mariadb  
sudo systemctl enable mariadb

Überprüfen und verifizieren Sie den MariaDB-Dienst mit dem folgenden Befehl. Sie sollten sehen, dass der MariaDB-Dienst läuft.

sudo systemctl status mariadb

Als Nächstes richten Sie die Bereitstellung von MariaDB mit dem Tool „mysql_secure_installation“ ein, das Ihnen hilft, das Root-Passwort für den MariaDB-Server festzulegen, die Remote-Root-Anmeldung zu deaktivieren, die Standarddatenbank und den anonymen Benutzerzugriff zu bereinigen usw.

Führen Sie nun den “mysql_secure_installation” Befehl wie folgt aus.

sudo mysql_secure_installation

Die Standardinstallation von MariaDB kommt ohne ein Root-Passwort. Drücken Sie ENTER, um fortzufahren.

mysql_secure_installation

Geben Sie nun “ n “ ein, um die Authentifizierungsmethode als Standard (für den MariaDB-Root-Benutzer) beizubehalten.

no unix_socket auth for root

Geben Sie Y ein, um das Root-Passwort für Ihren MariaDB-Server festzulegen. Stellen Sie sicher, dass Sie ein starkes Passwort für Ihre Bereitstellung verwenden.

setup root password

Geben Sie nun Y ein, um die Remote-Anmeldung für den MariaDB-Root-Benutzer zu deaktivieren. Wenn Sie sich nicht in einer Clusterumgebung befinden, wird immer empfohlen, die Remote-Anmeldung für den MariaDB-Root-Benutzer zu deaktivieren.

Geben Sie nun erneut Y ein, um den standardmäßigen anonymen Benutzer von Ihrer MariaDB-Installation zu entfernen.

remove anonymous user

Geben Sie erneut Y ein, um die standardmäßige Testdatenbank zu entfernen, die vom anonymen Benutzer auf MariaDB zugänglich ist.

remove database test

Geben Sie schließlich erneut Y ein, um alle Tabellenberechtigungen auf Ihrem MariaDB-Server neu zu laden und die neuen Änderungen anzuwenden.

reload tables privileges

Installation von PHP-FPM 8.1

Sie haben nun den Lighttpd-Webserver und den MariaDB-Datenbankserver installiert. Jetzt installieren Sie PHP-FPM auf Ihrem Ubuntu-System. Zum aktuellen Zeitpunkt bietet das Ubuntu-Repository die neueste Version von PHP 8.1.

Führen Sie den folgenden apt-Befehl aus, um PHP-FPM 8.1 auf Ihrem Ubuntu-System zu installieren.

sudo apt install php-fpm php-common php-mysql php-cli php-curl php-xml

Geben Sie Y ein, um die Installation zu bestätigen, und drücken Sie ENTER. Jetzt beginnt die Installation.

install php-fpm

Nachdem die Installation der PHP-FPM-Pakete abgeschlossen ist, führen Sie den folgenden Befehl aus, um den PHP-FPM-Dienst zu starten und zu aktivieren.

sudo systemctl start php8.1-fpm  
sudo systemctl enable php8.1-fpm

Überprüfen und verifizieren Sie den PHP-FPM-Dienst mit dem folgenden Befehl. Sie sollten sehen, dass der PHP-FPM-Dienst läuft.

sudo systemctl status php8.1-fpm

start php-fpm

Sie können den PHP-FPM-Dienst auch mit dem Befehl “ ss “ überprüfen. Der Standard-PHP-FPM-Prozess läuft unter der Sockeldatei, und Sie können den PHP-FPM-Prozess mit dem folgenden Befehl überprüfen.

ss -pl | grep php

Sie sollten den PHP-FPM-Dienst, der auf der Sockeldatei “ /run/php/php8.1-fpm.sock “ läuft, erhalten.

Konfiguration von PHP-FPM mit Lighttpd

Die Installation der LLMP-Stack-Pakete ist abgeschlossen, aber Sie müssen den Lighttpd-Webserver so einrichten, dass er mit dem PHP-FPM-Dienst funktioniert. Dies kann durch die Verwendung der FastCGI-Module auf dem Lighttpd-Webserver erfolgen.

Zuerst bearbeiten Sie die PHP-FPM-Konfigurationsdatei “ /etc/php/8.1/fpm/php.ini “ mit dem Nano-Editor.

sudo nano /etc/php/8.1/fpm/php.ini

Fügen Sie die folgende Konfiguration in die Datei ein.

cgi.fix_pathinfo = 1

Speichern und schließen Sie die Datei, wenn Sie fertig sind.

Starten Sie nun den PHP-FPM-Dienst mit dem folgenden Befehl neu, um die neuen Änderungen anzuwenden.

sudo systemctl restart php8.1-fpm

Führen Sie als Nächstes den folgenden Befehl aus, um die Lighttpd-Module “ fastcgi “ und “ fastcgi-php-fpm “ zu aktivieren.

sudo lighty-enable-mod fastcgi fastcgi-php-fpm

Bearbeiten Sie die Konfigurationsdatei “ /etc/lighttpd/conf-available/15-fastcgi-php-fpm.conf “ mit dem Nano-Editor. Diese Datei ist die Konfiguration des fastcgi-php-fpm-Moduls, das verwendet wird, um mit der PHP-FPM-Sockeldatei zu kommunizieren.

sudo nano /etc/lighttpd/conf-available/15-fastcgi-php-fpm.conf

Ändern Sie den Pfad der Socket-Option in “ /run/php/php8.1-fpm.sock “ wie folgt.

## Verwenden Sie den PHP-FPM-Dienst für PHP über FastCGI  
fastcgi.server += ( ".php" =>  
        ((  
                "socket" => "/run/php/php8.1-fpm.sock",  
                "broken-scriptfilename" => "enable"  
        ))  
)

Speichern und schließen Sie die Datei, wenn Sie fertig sind.

Führen Sie schließlich den folgenden Befehl aus, um den Lighttpd-Dienst neu zu starten und die neuen Änderungen anzuwenden. Jetzt ist Ihr LLMP-Stack bereit, sowohl statische HTML- als auch dynamische PHP-Webanwendungen bereitzustellen.

sudo systemctl restart lighttpd

configure php-fpm lighttpd

Testen von Phpinfo

Um Ihre LLMP-Stack-Installation zu überprüfen, können Sie einfach das PHPINFO-Skript erstellen, das Ihnen die detaillierte Konfiguration von Lighttpd und PHP-FPM-Konfigurationen anzeigt.

Führen Sie den folgenden Befehl aus, um ein neues PHP-Skript “ /var/www/html/info.php “ zu erstellen und ändern Sie den Besitz auf den Benutzer “ www-data “.

echo "" > /var/www/html/info.php  
sudo chown -R www-data:www-data /var/www/html

Gehen Sie zurück zu Ihrem Webbrowser und besuchen Sie die IP-Adresse des Ubuntu-Servers, gefolgt vom URL-Pfad “ /info.php “ (http://192.168.5.28/info.php). Und Sie sollten die detaillierte phpinfo-Seite im folgenden Screenshot sehen. Das bedeutet, dass die Konfiguration von Lighttpd und PHP-FPM abgeschlossen und erfolgreich ist.

php info llmp

Einrichten des virtuellen Hosts auf Lighttpd

An diesem Punkt haben Sie die Installation und Konfiguration des LLMP-Stacks abgeschlossen. Der LLMP-Stack ist auch bereit, eine dynamische PHP-Webanwendung über PHP-FPM bereitzustellen. Jetzt lernen Sie, wie Sie den virtuellen Host auf dem Lighttpd-Webserver einrichten. Der virtuelle Host ermöglicht es Ihnen, mehrere Domainnamen auf einem einzigen Server oder einer IP-Adresse auszuführen.

Führen Sie nun den folgenden Befehl aus, um ein neues Verzeichnis “ /etc/lighttpd/vhosts “ zu erstellen. Dieses Verzeichnis wird verwendet, um alle virtuellen Hostkonfigurationen des Lighttpd-Webservers zu speichern.

sudo mkdir -p /etc/lighttpd/vhosts/

Bearbeiten Sie nun die Lighttpd-Konfigurationsdatei “ /etc/lighttpd/lighttpd.conf “ mit dem Nano-Editor.

sudo nano /etc/lighttpd/lighttpd.conf

Fügen Sie die folgende Konfiguration in die Datei ein.

include "/etc/lighttpd/vhosts/*.conf"

Speichern und schließen Sie die Datei, wenn Sie fertig sind. Jetzt sind Sie bereit, den virtuellen Host von Lighttpd einzurichten.

Zuerst erstellen Sie das Document Root-Verzeichnis für Ihren virtuellen Host. In diesem Beispiel wird das Document Root-Verzeichnis “ /var/www/hwdomain “ sein.

mkdir -p /var/www/hwdomain/

Erstellen Sie eine neue “index.html”-Datei im Document Root-Verzeichnis “/var/www/hwdomain” und ändern Sie den Besitz auf den richtigen Benutzer “www-data”.

echo "

Willkommen beim virtuellen Host howtoforge.local

" > /var/www/hwdomain/index.html sudo chown -R www-data:www-data /var/www/hwdomain

Erstellen Sie als Nächstes eine neue virtuelle Hostkonfiguration “ /etc/lighttpd/vhosts/hwdomain.conf “ mit dem Nano-Editor.

sudo nano /etc/lighttpd/vhosts/hwdomain.conf

Fügen Sie die folgende Konfiguration in die Datei ein. In diesem Beispiel wird die Domain “howtoforge.local” für den virtuellen Host verwendet.

$HTTP["host"] =~ "(^|.)howtoforge.local$" {  
    server.document-root = "/var/www/hwdomain"  
    server.errorlog = "/var/log/lighttpd/howtoforge.local-error.log"  
    accesslog.filename = "/var/log/lighttpd/howtoforge.local-access.log"  
}

Speichern und schließen Sie die Datei, wenn Sie fertig sind.

Führen Sie danach den folgenden Befehl aus, um die Lighttpd-Konfiguration zu überprüfen und zu verifizieren. Wenn die Lighttpd-Konfiguration korrekt ist, sehen Sie die Ausgabemeldung wie “ Syntax OK “.

sudo lighttpd -t -f /etc/lighttpd/lighttpd.conf

Starten Sie nun den Lighttpd-Dienst neu, um die neue virtuelle Hostkonfiguration mit dem folgenden Befehl anzuwenden.

sudo systemctl restart lighttpd

lighttpd virtual host

Gehen Sie zurück zu Ihrem Webbrowser und geben Sie Ihren Domainnamen in die Adresszeile ein (d.h. http://howtoforge.local/). Und Sie sollten die Standardindex.html-Seite für diesen virtuellen Host sehen.

Aktivieren von HTTPS auf dem Lighttpd-Webserver

Nachdem Sie den virtuellen Host von Lighttpd eingerichtet haben, lernen Sie nun, wie Sie SSL/HTTPS auf dem Lighttpd-Webserver aktivieren.

Bevor Sie mit der Konfiguration von SSL beginnen, führen Sie den folgenden Befehl aus, um das “ssl”-Modul für den Lighttpd-Webserver zu aktivieren. Dies erstellt eine Verknüpfungsdatei zu “ /etc/lighttpd/conf-enabled/10-ssl.conf “, die die grundlegende SSL-Konfiguration für Lighttpd enthält. Außerdem müssen Sie die SSL-Zertifikate für localhost mit dem Namen “ server.pem “ generieren.

sudo lighty-enable mod ssl

Führen Sie nun den folgenden Befehl aus, um das SSL-Zertifikat für localhost mit dem Namen “ server.pem “ zu erstellen und zu generieren.

openssl req -new -newkey rsa:2048 -nodes -keyout server.com.key -out server.com.csr  
openssl x509 -req -days 365 -in server.com.csr -signkey server.com.key -out server.com.crt
cat server.com.key server.com.crt > server.pem

Und jetzt sind Sie bereit, das SSL/HTTPS in der virtuellen Hostkonfiguration “ hwdomain.conf “ zu implementieren.

Bevor Sie mit der Konfiguration von SSL für den virtuellen Host beginnen, stellen Sie sicher, dass Sie SSL-Zertifikate für Ihren Domainnamen generiert haben. In diesem Beispiel ist der Domainname “howtoforge.local” und die SSL-Zertifikate sind im Verzeichnis “ /etc/letsencrypt/live/hwdomain.i o” verfügbar.

Bearbeiten Sie die virtuelle Hostkonfiguration “ /etc/lighttpd/vhosts/hwdomain.conf “ mit dem Nano-Editor.

sudo nano /etc/lighttpd/vhosts/hwdomain.conf

Ersetzen Sie die Konfiguration, die Sie gerade erstellt haben, durch die folgende Konfiguration.

$HTTP["scheme"] == "http" {  
        $HTTP["host"] == "howtoforge.local" {  
                url.redirect = ("/.*" => "https://howtoforge.local$0")  
        }  
}  
  
$SERVER["socket"] == ":443" {  
    ssl.engine = "enable"  
  
    ssl.pemfile = "/etc/letsencrypt/live/howtoforge.local/fullchain.pem"  
    ssl.privkey = "/etc/letsencrypt/live/howtoforge.local/privkey.pem"  
  
    server.name = "howtoforge.local"  
    server.document-root = "/var/www/hwdomain"  
    server.errorlog = "/var/log/lighttpd/howtoforge.local-error.log"  
    accesslog.filename = "/var/log/lighttpd/howtoforge.local-access.log"  
}

Speichern und schließen Sie die Datei, wenn Sie fertig sind.

Führen Sie als Nächstes den folgenden Befehl aus, um die Konfiguration des Lighttpd-Webservers zu überprüfen und zu verifizieren, und stellen Sie sicher, dass Sie die Ausgabemeldung wie “Syntax OK” erhalten. Danach können Sie den Lighttpd-Dienst neu starten, um die neuen Änderungen anzuwenden.

sudo lighttpd -t -f /etc/lighttpd/lighttpd.conf  
sudo systemctl restart lighttpd

Gehen Sie schließlich zurück zu Ihrem Webbrowser und besuchen Sie den virtuellen Host-Domainnamen mit https vor der URL (d.h. https://howtoforge.local). Wenn Ihre SSL-Konfiguration erfolgreich ist, sehen Sie das lokale Symbol in der URL, wie im folgenden Screenshot gezeigt.

Fazit

Herzlichen Glückwunsch! Sie haben erfolgreich den LLMP-Stack (Linux, Lighttpd, MariaDB und PHP-FPM) auf dem Ubuntu 22.04-Server installiert. Sie haben auch gelernt, wie Sie einen virtuellen Host auf dem Lighttpd-Webserver einrichten und SSL/HTTPS für Ihren Domainnamen aktivieren.

Share: X/Twitter LinkedIn

Erhalte neue Beiträge in deinem Posteingang.

Kein Spam. Jederzeit abmelden.