Server Setup · 6 min read · Jan 05, 2026

LEMP-Stack (Nginx, PHP und MariaDB) auf Debian 11 installieren

Der LEMP-Stack ist eine Sammlung von Open-Source-Software und Frameworks oder Bibliotheken, die verwendet werden, um Webanwendungen im Internet zu hosten. Ein Stack besteht aus dem Linux-Betriebssystem, dem Nginx-Webserver, dem MariaDB/MySQL-Datenbankserver und der PHP-Sprache. Ein LEMP hat eine gute Community-Unterstützung und wird in vielen hochskalierten Webanwendungen weltweit eingesetzt.

In diesem Beitrag zeigen wir Ihnen, wie Sie den LEMP-Stack auf Debian 11 installieren.

Voraussetzungen

  • Ein Server, der Debian 11 ausführt.
  • Ein gültiger Domainname, der auf Ihre Server-IP verweist.
  • Ein Root-Passwort, das auf dem Server konfiguriert ist.

Erste Schritte

Bevor Sie beginnen, ist es eine gute Idee, Ihre Systempakete auf die neueste Version zu aktualisieren. Sie können alle Pakete mit dem folgenden Befehl aktualisieren:

apt-get update -y

Sobald Ihr System aktualisiert ist, können Sie mit dem nächsten Schritt fortfahren.

Nginx-Webserver installieren

Nginx ist ein kostenloser und Open-Source-Webserver, der eine ereignisgesteuerte Architektur verfolgt und in der Lage ist, mehrere Anfragen innerhalb eines Threads zu bearbeiten. Er ist mit gängigen Anwendungen kompatibel und wird zum Bereitstellen statischer Dateien verwendet.

Standardmäßig ist das Nginx-Paket im Standard-Repository von Debian 11 enthalten. Sie können es mit dem folgenden Befehl installieren:

apt-get install nginx -y

Sobald Nginx installiert ist, starten Sie den Nginx-Dienst und aktivieren Sie ihn, damit er beim Systemneustart gestartet wird:

systemctl start nginx  
systemctl enable nginx

Sie können auch die installierte Version von Nginx mit dem folgenden Befehl überprüfen:

nginx -v

Sie sollten die folgende Ausgabe sehen:

nginx version: nginx/1.18.0

Standardmäßig läuft Nginx auf Port 80. Sie können dies mit dem folgenden Befehl überprüfen:

ss -antpl | grep nginx

Sie sollten die folgende Ausgabe sehen:

LISTEN 0      511          0.0.0.0:80        0.0.0.0:*    users:(("nginx",pid=44342,fd=8),("nginx",pid=44341,fd=8))
LISTEN 0      511             [::]:80           [::]:*    users:(("nginx",pid=44342,fd=9),("nginx",pid=44341,fd=9))

Sie können auch die Nginx-Installation mit der URL http://your-server-ip überprüfen. Sie sollten die Nginx-Testseite auf der folgenden Seite sehen:

Nginx-Startseite

An diesem Punkt ist der Nginx-Webserver installiert. Sie können nun mit dem nächsten Schritt fortfahren.

MariaDB-Datenbankserver installieren

MariaDB ist eine Open-Source-SQL-basierte Datenbank, die verwendet wird, um Daten für Websites zu speichern und zu verwalten. Standardmäßig ist das MariaDB-Paket im Standard-Repository von Debian 11 enthalten. Sie können es mit dem folgenden Befehl installieren:

apt-get install mariadb-server -y

Sobald der MariaDB-Datenbankserver installiert ist, starten Sie den MariaDB-Dienst und aktivieren Sie ihn, damit er beim Systemneustart gestartet wird:

systemctl start mariadb  
systemctl enable mariadb

Sie können auch den Status des MariaDB-Dienstes mit dem folgenden Befehl überprüfen:

systemctl status mariadb

Sie sollten die folgende Ausgabe sehen:

? mariadb.service - MariaDB 10.3.31-Datenbankserver
     Loaded: loaded (/lib/systemd/system/mariadb.service; enabled; vendor preset: enabled)
     Active: active (running) since Sat 2021-08-21 04:13:25 UTC; 1min 36s ago
       Docs: man:mysqld(8)
             https://mariadb.com/kb/en/library/systemd/
   Main PID: 1838 (mysqld)
     Status: "Taking your SQL requests now..."
      Tasks: 31 (limit: 2353)
     Memory: 66.1M
     CGroup: /system.slice/mariadb.service
             ??1838 /usr/sbin/mysqld

Es wird auch empfohlen, Ihre MariaDB-Installation zu sichern und ein MariaDB-Root-Passwort festzulegen. Sie können das Skript mysql_secure_installation ausführen, um die MariaDB-Installation zu sichern:

mysql_secure_installation

Sie werden aufgefordert, ein MariaDB-Root-Passwort festzulegen, anonyme Benutzer zu entfernen, den Root-Login aus der Ferne zu verbieten und die Testdatenbank zu entfernen, wie unten gezeigt:

Enter current password for root (enter for none): 
Change the root password? [Y/n] Y
New password: 
Re-enter new password: 
Remove anonymous users? [Y/n] Y
Disallow root login remotely? [Y/n] Y
Remove test database and access to it? [Y/n] Y
Reload privilege tables now? [Y/n] Y

Standardmäßig läuft MariaDB auf Port 3306. Sie können dies mit dem folgenden Befehl überprüfen:

ss -antpl | grep mariadb

Sie sollten den folgenden Befehl sehen:

LISTEN 0      80         127.0.0.1:3306      0.0.0.0:*    users:(("mariadbd",pid=12181,fd=15))

Um die MariaDB-Shell zu verbinden, führen Sie den folgenden Befehl aus:

mysql -u root -p

Geben Sie Ihr MariaDB-Root-Passwort ein und drücken Sie die Eingabetaste, um sich mit der MariaDB-Shell zu verbinden. Sobald Sie verbunden sind, sollten Sie die folgende Ausgabe sehen:

Enter password: 
Welcome to the MariaDB monitor.  Commands end with ; or \g.
Your MariaDB connection id is 64
Server version: 10.5.11-MariaDB-1 Debian 11

Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab und andere.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

Führen Sie nun den folgenden Befehl aus, um die MariaDB-Version zu überprüfen:

MariaDB [(none)]> SELECT VERSION();

Sie sollten die folgende Ausgabe sehen:

+-------------------+
| VERSION()         |
+-------------------+
| 10.5.11-MariaDB-1 |
+-------------------+
1 row in set (0.001 sec)

An diesem Punkt ist der MariaDB-Datenbankserver installiert und gesichert. Sie können nun mit dem nächsten Schritt fortfahren.

PHP-Sprache installieren

PHP steht für Hypertext Preprocessor und ist eine Skriptsprache, die auf der Serverseite verwendet wird. Sie ist Open Source, hat eine große Community-Unterstützung und wird verwendet, um PHP-Anwendungen im Internet zu hosten.

Standardmäßig ist die in Debian 11 verfügbare Version von PHP PHP 7.4. Sie können PHP mit anderen gängigen Erweiterungen mit dem folgenden Befehl installieren:

apt-get install php php-fpm php-cli php-mysql php-zip php-curl php-xml -y

Sobald PHP installiert ist, überprüfen Sie die PHP-Version mit dem folgenden Befehl:

php -v

Sie sollten die folgende Ausgabe sehen:

PHP 7.4.21 (cli) (built: Jul  2 2021 03:59:48) ( NTS )
Copyright (c) The PHP Group
Zend Engine v3.4.0, Copyright (c) Zend Technologies
    with Zend OPcache v7.4.21, Copyright (c), by Zend Technologies

Virtuellen Host für Nginx erstellen

Hier werden wir ein Verzeichnis example.com für das Hosting einer PHP-Seite erstellen. Sie können es mit dem folgenden Befehl erstellen:

mkdir /var/www/html/example.com

Als Nächstes setzen Sie den Besitz des Verzeichnisses example.com auf www-data:

chown -R www-data:www-data /var/www/html/example.com

Erstellen Sie als Nächstes eine Nginx-virtuelle Host-Konfigurationsdatei mit dem folgenden Befehl:

nano /etc/nginx/conf.d/example.conf

Fügen Sie die folgenden Zeilen hinzu:

server {

  listen 80;
  server_name example.com;

  root /var/www/html/example.com;
  index index.php;
  access_log /var/log/nginx/example_access.log;
  error_log /var/log/nginx/example_error.log;

  client_max_body_size 100M;

  location / {
    try_files $uri $uri/ /index.php$is_args$args;
  }

  location ~ \.php$ {
    try_files $uri =404;
    include fastcgi_params;
    fastcgi_pass unix:/run/php/php7.4-fpm.sock;
    fastcgi_index index.php;
    fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
  }

}

Speichern und schließen Sie die Datei und überprüfen Sie dann die Nginx-Konfiguration auf Fehler mit dem folgenden Befehl:

nginx -t

Sie sollten die folgende Ausgabe sehen:

nginx: die Konfigurationsdatei /etc/nginx/nginx.conf Syntax ist ok
nginx: Konfigurationsdatei /etc/nginx/nginx.conf Test war erfolgreich

Starten Sie als Nächstes den Nginx-Dienst neu, um die Konfigurationsänderungen anzuwenden:

systemctl restart nginx

Sie können auch den Status des Nginx-Dienstes mit dem folgenden Befehl überprüfen:

systemctl status nginx

Sie sollten die folgende Ausgabe sehen:

? nginx.service - Ein leistungsstarker Webserver und ein Reverse-Proxy-Server
     Loaded: loaded (/lib/systemd/system/nginx.service; enabled; vendor preset: enabled)
     Active: active (running) since Sat 2021-08-21 04:37:27 UTC; 5s ago
       Docs: man:nginx(8)
   Main PID: 4378 (nginx)
      Tasks: 2 (limit: 2353)
     Memory: 6.2M
     CGroup: /system.slice/nginx.service
             ??4378 nginx: master process /usr/sbin/nginx -g daemon on; master_process on;
             ??4379 nginx: worker process

Aug 21 04:37:27 debian11 systemd[1]: Starting Ein leistungsstarker Webserver und ein Reverse-Proxy-Server...
Aug 21 04:37:27 debian11 systemd[1]: Started Ein leistungsstarker Webserver und ein Reverse-Proxy-Server.

PHP-Installation auf Nginx überprüfen

Als Nächstes müssen Sie eine Beispiel-PHP-Datei erstellen, die über den Nginx-Webserver bereitgestellt wird. Sie können eine phpinfo.php-Datei in Ihrem example.com-Verzeichnis erstellen:

nano /var/www/html/example.com/phpinfo.php

Fügen Sie die folgende Zeile hinzu:


Speichern und schließen Sie die Datei, öffnen Sie dann Ihren Webbrowser und greifen Sie auf Ihre PHP-Seite über die URL http://example.com/phpinfo.php zu. Sie sollten Ihre PHP-Seite auf dem folgenden Bildschirm sehen:

Fazit

In der obigen Anleitung haben wir erklärt, wie man den LEMP-Stack auf Debian 11 installiert. Sie können nun beginnen, Ihre erste Website mit dem LEMP-Stack zu hosten. Zögern Sie nicht, mich zu fragen, wenn Sie Fragen haben.

Share: X/Twitter LinkedIn

Erhalte neue Beiträge in deinem Posteingang.

Kein Spam. Jederzeit abmelden.