Der LEMP-Stack, der für Linux (das Betriebssystem), Nginx (der Webserver), MariaDB/MySQL (die Datenbank) und PHP (die Programmiersprache) steht, ist die perfekte Plattform, um verkehrsintensive dynamische Websites und Anwendungen zu hosten.
In diesem Beitrag werden wir sehen, wie man LEMP Stack auf Debian 11 installiert.
Voraussetzungen
Um den LEMP-Stack auf Debian 11 zu installieren, müssen Sie sudo-Berechtigungen auf dem System haben.
LEMP-Stack installieren
Linux installieren
Folgen Sie der Schritt-für-Schritt-Installation von Debian 11 oder aktualisieren Sie Debian 10 „Buster“ auf Debian 11 „Bullseye“.
Fahren Sie mit der Installation von AMP (Nginx v1.20, PHP-FPM v7.4, MariaDB v10.5) auf Debian 11 fort.
Installieren Sie Nginx
Nginx ist ein kostenloser Open-Source-Webserver, der HTTP-, Reverse-Proxy-, Caching- und Load-Balancing-Funktionen bietet. Es ist eine großartige Alternative zu Apache und einfach einzurichten.
Installieren Sie die folgenden Pakete.
sudo apt update sudo apt install -y curl gnupg2 ca-certificates lsb-release
Laden Sie den Nginx-Repository-Signaturschlüssel herunter und fügen Sie ihn dem System hinzu.
curl -fsSL http://nginx.org/keys/nginx_signing.key | sudo gpg --dearmor -o /usr/share/keyrings/nginx-keyring.gpg
Nginx-Repository zum System hinzufügen.
echo "deb [signed-by=/usr/share/keyrings/nginx-keyring.gpg] http://nginx.org/packages/debian `lsb_release -cs` nginx" | sudo tee /etc/apt/sources.list.d/nginx.list
Installieren Sie das Nginx-Paket mit dem folgenden Befehl.
sudo apt update sudo apt install -y nginx
Starten Sie den Nginx-Dienst nach der Installation.
sudo systemctl start nginx
Öffnen Sie einen Webbrowser und rufen Sie die folgende URL auf.
http://ihre-ip-adresseSie erhalten die Willkommensseite, die bestätigt, dass Nginx erfolgreich installiert wurde und ausgeführt wird.
Das Standard-Dokumentenverzeichnis von Nginx in Debian 11 ist /usr/share/nginx/html/. Die Konfigurationsdateien befinden sich im Verzeichnis /etc/nginx/.
Installieren Sie MariaDB
MariaDB ist ein Drop-in-Ersatz für MySQL, der alle standardmäßigen MySQL-Funktionen unterstützt. Wir werden MariaDB als Teil eines LEMP-Stacks (Linux, Nginx, MariaDB/MySQL, PHP) in unserer Installation einrichten.
Installieren Sie den MariaDB-Server v10.5 aus dem Debian-Repository.
Zum Zeitpunkt der Erstellung dieses Artikels ist MariaDB v10.6 im offiziellen MariaDB-Repository verfügbar. Wenn Sie möchten, können Sie MariaDB v10.6 auf Debian 11 installieren ODER Installieren Sie MySQL 8.0 / 5.7 anstelle von MariaDB.sudo apt install -y mariadb-server mariadb-client
Der MariaDB-Dienst sollte in diesem Moment betriebsbereit sein. Überprüfen Sie zunächst den Status des MariaDB-Dienstes mit dem folgenden Befehl.
sudo systemctl status mariadb
Machen Sie als Nächstes den MariaDB-Server sicher, indem Sie den Befehl mysql_secure_installation ausführen.
Installieren Sie PHP
Der PHP FastCGI Process Manager (FPM) ist eine alternative PHP FastCGI-Implementierung mit zusätzlichen Funktionen, die für größere und stark frequentierte Websites nützlich sind. Es kann viel mehr Anfragen pro Sekunde verarbeiten als andere PHP FastCGI-Implementierungen.
Installieren Sie das php-fpm-Paket und die PHP-MySQL-Erweiterung.
Debian 11 kommt mit PHP v7.4. Sie können jedoch PHP 8.0 auf Debian 11 aus dem SURY-Repository installieren.sudo apt install -y php-fpm php-mysql php-cli
Bearbeiten Sie die Konfigurationsdatei.
sudo nano /etc/php/7.4/fpm/pool.d/www.conf
Ändern Sie den Besitz und die Gruppe von www-data in nginx für Unix-Sockets.
listen.owner = nginx listen.group = nginx
Virtuellen Host erstellen
Erstellen Sie nun einen virtuellen Host auf dem Nginx-Server für die folgenden Details, um den LEMP-Stack zu testen.
Servername :site.itzgeek.local
Dokumentstamm :/usr/share/nginx/html/site.itzgeek.local
Erstellen Sie eine virtuelle Host-Konfigurationsdatei site.itzgeek.local.conf im Verzeichnis /etc/nginx/conf.d/.
sudo nano /etc/nginx/conf.d/site.itzgeek.local.conf
Fügen Sie den folgenden Inhalt hinzu.
server { server_name site.itzgeek.local; root /usr/share/nginx/html/site.itzgeek.local; location / { index index.html index.htm index.php; } location ~ \.php$ { include /etc/nginx/fastcgi_params; fastcgi_pass unix:/run/php/php7.4-fpm.sock; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME /usr/share/nginx/html/site.itzgeek.local$fastcgi_script_name; } }
Erstellen Sie das Dokumentstammverzeichnis für den virtuellen Host.
sudo mkdir /usr/share/nginx/html/site.itzgeek.local
Platzieren Sie eine PHP-Datei im Dokumentenstammverzeichnis.
echo "<?php phpinfo(); ?>" | sudo tee /usr/share/nginx/html/site.itzgeek.local/index.php
Starten Sie die Nginx- und PHP-FPM-Dienste neu.
sudo systemctl restart nginx sudo systemctl restart php7.4-fpm
LEMP-Stack testen
Erstellen Sie zunächst einen Hosteintrag für Ihre Domain (site.itzgeek.local ) in der Datei /etc/hosts, um den LEMP-Stack lokal zu testen. Öffnen Sie dann Ihren Webbrowser und geben Sie Ihren Domainnamen in die Webadresse ein.
http://site.itzgeek.localDie Seite sieht wie folgt aus:
Wie Sie im Screenshot sehen können, arbeitet PHP mit FPM/FastCGI (Server-API).
Scrollen Sie auf der Seite weiter nach unten, um die PHP-Unterstützung für MySQL, XML und andere Erweiterungen anzuzeigen.
Schlussfolgerung
Ich hoffe, dieser Beitrag hat Ihnen geholfen, den LEMP-Stack auf Debian 11 zu installieren. Zusätzlich können Sie phpMyAdmin installieren, um MariaDB über die Weboberfläche zu verwalten.