Yazı Boyutu:

LEMP-Installation und -Konfiguration: Erstellen eines leistungsstarken Webservers auf Linux-Servern

In der Welt des Webhostings ist die Wahl des richtigen Server-Stacks entscheidend für Leistung, Sicherheit und Skalierbarkeit. Der LEMP-Stack, bestehend aus Linux, Enginx (ausgesprochen "Engine-X"), MySQL/MariaDB und PHP, ist eine beliebte und leistungsstarke Alternative zum bekannteren LAMP-Stack (mit Apache statt Nginx). Dieser Artikel führt Sie durch die Installation und Konfiguration eines LEMP-Stacks auf einem Linux-Server, um einen robusten und effizienten Webserver zu erstellen.

Was ist der LEMP-Stack?

Der LEMP-Stack ist eine Sammlung von Open-Source-Software, die zusammenarbeitet, um dynamische Webanwendungen und Websites zu hosten. Hier ist eine kurze Beschreibung der einzelnen Komponenten:

  • Linux: Das Betriebssystem bildet die Basis des Stacks. Beliebte Distributionen sind Ubuntu, Debian, CentOS und AlmaLinux.
  • Nginx: Ein leistungsstarker und ressourcenschonender Webserver, der als Reverse-Proxy, Load Balancer und HTTP-Cache dienen kann. Er ist bekannt für seine Fähigkeit, hohe Lasten zu bewältigen.
  • MySQL/MariaDB: Ein relationales Datenbankmanagementsystem (RDBMS), das zum Speichern und Verwalten von Daten verwendet wird. MariaDB ist ein Fork von MySQL und wird oft als Drop-in-Ersatz verwendet.
  • PHP: Eine weit verbreitete Skriptsprache, die zum Erstellen dynamischer Webinhalte verwendet wird. PHP verarbeitet die Logik Ihrer Webanwendungen und interagiert mit der Datenbank.

Voraussetzungen

Bevor Sie mit der Installation beginnen, stellen Sie sicher, dass Sie Folgendes haben:

  • Einen Linux-Server mit Root-Zugriff (oder einem Benutzer mit sudo-Rechten).
  • Eine stabile Internetverbindung.
  • Grundlegende Kenntnisse der Linux-Befehlszeile.

Schritt 1: Linux aktualisieren

Beginnen Sie mit der Aktualisierung Ihres Linux-Systems, um sicherzustellen, dass alle Pakete auf dem neuesten Stand sind. Der Befehl variiert je nach verwendeter Distribution.

# Für Debian/Ubuntu:
sudo apt update
sudo apt upgrade

# Für CentOS/AlmaLinux:
sudo yum update

Schritt 2: Nginx installieren

Nginx ist der Webserver, der Client-Anfragen entgegennimmt und statische Inhalte ausliefert. Um Nginx zu installieren, verwenden Sie den Paketmanager Ihrer Distribution:

# Für Debian/Ubuntu:
sudo apt install nginx

# Für CentOS/AlmaLinux:
sudo yum install nginx

Nach der Installation starten Sie Nginx und aktivieren Sie es, damit es beim Booten automatisch startet:

sudo systemctl start nginx
sudo systemctl enable nginx

Überprüfen Sie, ob Nginx korrekt installiert ist, indem Sie in Ihrem Webbrowser die IP-Adresse Ihres Servers aufrufen. Sie sollten die Nginx-Standardseite sehen.

Schritt 3: MySQL/MariaDB installieren

Installieren Sie nun das Datenbankmanagementsystem. Wir verwenden hier MariaDB, da es eine beliebte und kostenlose Alternative zu MySQL ist.

# Für Debian/Ubuntu:
sudo apt install mariadb-server

# Für CentOS/AlmaLinux:
sudo yum install mariadb-server

Starten und aktivieren Sie MariaDB:

sudo systemctl start mariadb
sudo systemctl enable mariadb

Führen Sie das Skript mysql_secure_installation aus, um die Sicherheit Ihrer MariaDB-Installation zu erhöhen. Beantworten Sie die Fragen sorgfältig, um ein sicheres Passwort festzulegen und unnötige Funktionen zu deaktivieren.

sudo mysql_secure_installation

Schritt 4: PHP installieren

PHP ist die Skriptsprache, die dynamische Inhalte generiert. Zusammen mit PHP müssen Sie auch die PHP-FPM (FastCGI Process Manager) installieren, die mit Nginx zusammenarbeitet, um PHP-Skripte auszuführen.

# Für Debian/Ubuntu:
sudo apt install php php-fpm php-mysql

# Für CentOS/AlmaLinux:
sudo yum install php php-fpm php-mysqlnd

Starten und aktivieren Sie PHP-FPM:

sudo systemctl start php-fpm
sudo systemctl enable php-fpm

Schritt 5: Nginx für PHP konfigurieren

Damit Nginx PHP-Dateien verarbeiten kann, müssen Sie die Nginx-Konfiguration anpassen. Erstellen Sie eine neue Serverblock-Datei (auch Virtual Host genannt) für Ihre Website. Ersetzen Sie ihre-domain.de durch Ihre tatsächliche Domain.

sudo nano /etc/nginx/conf.d/ihre-domain.de.conf

Fügen Sie den folgenden Inhalt in die Datei ein (passen Sie die Pfade entsprechend Ihrer Serverkonfiguration an):

server {
    listen 80;
    server_name ihre-domain.de www.ihre-domain.de;

    root /var/www/ihre-domain.de;
    index index.php index.html index.htm;

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

    location ~ \.php$ {
        include snippets/fastcgi-php.conf;
        fastcgi_pass unix:/run/php/php7.4-fpm.sock;  # Passen Sie die PHP-Version an
    }

    location ~ /\.ht {
        deny all;
    }
}

Erstellen Sie das Document Root Verzeichnis für Ihre Website:

sudo mkdir -p /var/www/ihre-domain.de

Überprüfen Sie die Nginx-Konfiguration auf Fehler:

sudo nginx -t

Starten Sie Nginx neu, um die Änderungen zu übernehmen:

sudo systemctl restart nginx

Schritt 6: PHP-Info-Datei erstellen und testen

Erstellen Sie eine info.php-Datei im Document Root, um zu überprüfen, ob PHP korrekt konfiguriert ist.

sudo nano /var/www/ihre-domain.de/info.php

Fügen Sie den folgenden Code ein: