Server Installation · 7 min read · Oct 12, 2025

Wie man Nginx mit PHP und MySQL (LEMP-Stack) auf Ubuntu 20.04 LTS installiert

Nginx (ausgesprochen “engine x”) ist ein kostenloser, Open-Source, leistungsstarker HTTP-Server. Nginx ist bekannt für seine hohe Geschwindigkeit, Stabilität, umfangreiche Funktionen, einfache Konfiguration und geringen Ressourcenverbrauch. Dieses Tutorial zeigt, wie Sie Nginx auf einem Ubuntu 20.04 LTS-Server mit PHP 7.4-Unterstützung (über PHP-FPM) und MySQL-Unterstützung installieren können (LEMP = Linux + Nginx (ausgesprochen “engine x”) + MySQL + PHP).

Voraussetzungen

  • Ubuntu 20.04 LTS Server
  • Root-Rechte

Was werden wir tun?

  • Nginx installieren
  • MySQL installieren
  • PHP-FPM installieren
  • Nginx und PHP-FPM konfigurieren
  • PhpMyAdmin installieren
  • PhpMyAdmin konfigurieren
  • Testen

Schritt 1 - Nginx installieren

Nginx oder engine x ist ein leistungsstarker HTTP- und Proxy-Server mit geringem Speicherverbrauch. Die meisten großen Websites wie Netflix, Pinterest, CloudFlare, GitHub verwenden Nginx.

In diesem Schritt werden wir den Nginx-Webserver aus dem Ubuntu-Repository installieren.

Aktualisieren Sie alle Repositories auf dem Ubuntu-System und installieren Sie die Nginx-Pakete mit dem folgenden apt-Befehl.

sudo apt update  
sudo apt install nginx

Nachdem die Installation abgeschlossen ist, starten Sie den Nginx-Dienst und aktivieren Sie ihn, damit er bei jedem Systemstart gestartet wird.

systemctl start nginx  
systemctl enable nginx

Jetzt ist die Installation des Nginx-Webservers abgeschlossen, überprüfen Sie den Nginx-Dienst mit dem folgenden Befehl.

systemctl status nginx

Unten ist das Ergebnis, das Sie erhalten werden.

Install Nginx

Überprüfen Sie auch den HTTP-Port auf dem Ubuntu-System und stellen Sie sicher, dass er vom Nginx-Dienst verwendet wird.

ss -plt4

Unten ist das Ergebnis, das Sie erhalten werden.

Infolgedessen wird das HTTP-Protokoll vom Nginx-Dienst verwendet.

Als nächstes werden wir unsere Nginx-Installation mit der UFW-Firewall sichern.

Fügen Sie das HTTP- und HTTPS-Protokoll zur UFW-Firewall-Konfiguration mit dem folgenden Befehl hinzu.

for fw in ssh http https  
do  
ufw allow $fw  
done

Aktivieren Sie jetzt die UFW-Firewall und überprüfen Sie ihren Status.

ufw enable  
ufw status numbered

Und das HTTP- und HTTPS-Protokoll wurde zur UFW-Firewall-Konfiguration hinzugefügt.

Open HTTP and HTTPS port UFW Firewall

Schritt 2 - MySQL installieren

MySQL ist das beliebteste Open-Source-Relational Database Management System (RDBMS), das von der Oracle Corporation erstellt wurde. Es ist ein zentrales Element des LEMP-Stacks, und wir werden die neueste MySQL-Version aus dem Ubuntu-Repository installieren.

Installieren Sie MySQL mit dem folgenden apt-Befehl.

sudo apt install mysql-server mysql-client

Nachdem die MySQL-Installation abgeschlossen ist, starten Sie den MySQL-Dienst und aktivieren Sie ihn, damit er bei jedem Systemstart gestartet wird.

systemctl start mysql  
systemctl enable mysql

Überprüfen Sie jetzt den MySQL-Dienst mit dem folgenden Befehl.

systemctl status mysql

Der MySQL-Dienst läuft.

Install MySQL Server

Als nächstes werden wir das Root-Passwort für den MySQL-Server einrichten.

Führen Sie den Befehl ‘mysql_secure_installation’ unten aus.

mysql_secure_installation

Jetzt werden Sie nach der folgenden Konfiguration gefragt, und stellen Sie sicher, dass Sie Ihr starkes Passwort für den MySQL-Root-Benutzer eingeben.

Drücken Sie y|Y für Ja, eine andere Taste für Nein: Drücken Sie Enter  
  
Neues Passwort:   
Neues Passwort erneut eingeben:   
  
Anonyme Benutzer entfernen? (Drücken Sie y|Y für Ja, eine andere Taste für Nein): Y  
Root-Login aus der Ferne verbieten? (Drücken Sie y|Y für Ja, eine andere Taste für Nein): Y  
Testdatenbank und Zugriff darauf entfernen? (Drücken Sie y|Y für Ja, eine andere Taste für Nein): Y  
Privilegientabellen jetzt neu laden? (Drücken Sie y|Y für Ja, eine andere Taste für Nein): Y

Und das MySQL-Root-Passwort wurde konfiguriert.

Infolgedessen wurde die Installation und Konfiguration der MySQL-Datenbank auf Ubuntu 20.04 abgeschlossen.

Schritt 3 - PHP-FPM installieren und konfigurieren

PHP-FPM oder FastCGI Process Manager ist eine Alternative zum älteren PHP FastCGI, die zusätzliche Funktionen und Geschwindigkeitsverbesserungen bietet. Es eignet sich gut für kleine bis große Websites, die auf der Programmiersprache PHP basieren.

In diesem Schritt werden wir das Standard-PHP7.4-FPM mit einigen zusätzlichen Erweiterungen installieren, die von PHPMyAdmin benötigt werden.

Installieren Sie PHP-FPM mit dem folgenden Befehl.

sudo apt install php-fpm php-cli php-curl php-mysql php-curl php-gd php-mbstring php-pear -y

Nachdem die PHP-FPM-Installation abgeschlossen ist, gehen Sie zum Verzeichnis ‘/etc/php/7.4/fpm’ und bearbeiten Sie die php.ini-Konfiguration mit dem vim-Editor.

cd /etc/php/7.4/fpm/  
vim php.ini

Kommentieren Sie die folgende Konfiguration aus und ändern Sie den Wert auf ‘0’.

cgi.fix_pathinfo = 0

Speichern und schließen.

Starten Sie jetzt den PHP7.4-FPM-Dienst und aktivieren Sie ihn, damit er bei jedem Systemstart gestartet wird.

systemctl start php7.4-fpm  
systemctl enable php7.4-fpm

Der PHP-FPM-Dienst läuft, überprüfen Sie ihn mit dem folgenden Befehl.

systemctl status php7.4-fpm

Unten ist das Ergebnis, das Sie erhalten werden.

Install php-fpm

Standardmäßig läuft der PHP-FPM unter der Sockeldatei, überprüfen Sie dies mit dem folgenden ss-Befehl.

ss -pl | grep php

Unten ist die Antwort, die Sie erhalten werden.

u_str   LISTEN   0     511   /run/php/php7.4-fpm.sock 67702   * 0

Und die Installation von PHP-FPM 7.4 auf Ubuntu 20.04 wurde abgeschlossen.

Schritt 4 - Nginx und PHP-FPM konfigurieren

In diesem Schritt werden wir den Nginx-Webserver und PHP-FPM konfigurieren.

Gehen Sie zum Konfigurationsverzeichnis ‘/etc/nginx’ und bearbeiten Sie die ‘nginx.conf’-Datei mit vim oder nano.

cd /etc/nginx/  
vim nginx.conf

Kommentieren Sie die folgende Zeile aus, um die Nginx-Version auszublenden.

server_tokens off;

Speichern und schließen.

Als nächstes bearbeiten Sie die Konfiguration des ‘default’-Virtualhosts im Verzeichnis ‘sites-available’.

vim sites-available/default

Kommentieren Sie die PHP-Zeile unten aus und ändern Sie die Sockeldatei-Zeile.

        location ~ \.php$ {  
                include snippets/fastcgi-php.conf;  
        #  
        # # Mit php-fpm (oder anderen Unix-Sockets):  
                fastcgi_pass unix:/run/php/php7.4-fpm.sock;  
        # # Mit php-cgi (oder anderen TCP-Sockets):  
        # fastcgi_pass 127.2.0.1:9000;  
        }

Speichern und schließen.

Testen Sie die Nginx-Konfiguration und stellen Sie sicher, dass es keinen Fehler gibt, und starten Sie dann den Dienst neu.

nginx -t  
systemctl restart nginx

Infolgedessen wurde die Nginx- und PHP-FPM-Konfiguration abgeschlossen.

Configure Nginx and PHP-FPM

Schritt 5 - PhpMyAdmin installieren

PhpMyAdmin ist eine PHP-basierte Anwendung zur Verwaltung von MySQL- oder MariaDB-Datenbanken über einen Webbrowser. In diesem Schritt werden wir PHPMyAdmin unter dem LEMP (Linux, Nginx, MySQL und PHP-FPM) Stack installieren und konfigurieren.

Installieren Sie PHPMyAdmin mit dem folgenden apt-Befehl.

sudo apt install phpmyadmin

Während der Installation wird Sie nach der Webserverkonfiguration für phpmyadmin gefragt.

Wählen Sie die Option “none” und bewegen Sie den Cursor zu ‘OK‘.

Setup Webserver for phpMyAdmin

Für die phpmyadmin-Datenbank- und Benutzerkonfiguration wählen Sie ‘Ja‘.

Und geben Sie ein neues ‘STARKES’ PHPMyAdmin-Admin-Passwort wie ‘Hakaselabs001@#’ ein.

Setup Password for phpMyAdmin Database and user

Wiederholen Sie das Passwort ‘Hakaselabs001@#’.

Setup Webserver for phpMyAdmin

Und die phpMyAdmin-Installation auf Ubuntu 20.04 ist abgeschlossen.

Schritt 6 - phpMyAdmin mit Nginx und MySQL konfigurieren

Nach der Installation von phpmyadmin müssen wir phpmyadmin konfigurieren, um unter dem Nginx-Webserver zu laufen und den MySQL-Benutzer phpmyadmin-Zugriff zu gewähren. Um PHPMyAdmin unter dem Nginx-Webserver auszuführen, müssen wir die Konfiguration in die Konfigurationsdatei des virtuellen Hosts einfügen.

Konfigurieren Sie phpMyAdmin mit dem Nginx-Webserver

Gehen Sie jetzt zum Konfigurationsverzeichnis ‘/etc/nginx’ und bearbeiten Sie die Standard-virtuelle Hostdatei.

cd /etc/nginx/sites-available/  
vim default

Fügen Sie die folgende Nginx-Konfiguration für PHPMyAdmin innerhalb der ‘server {…}’-Klammer ein.

location /phpmyadmin {  
    root /usr/share/;  
    index index.php;  
    try_files $uri $uri/ =404;  

location ~ ^/phpmyadmin/(doc|sql|setup)/ {  
    deny all;  
    }  

location ~ /phpmyadmin/(.+\.php)$ {  
    fastcgi_pass unix:/run/php/php7.4-fpm.sock;  
    fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;  
    include fastcgi_params;  
    include snippets/fastcgi-php.conf;  
    }  
}

Speichern und beenden.

Testen Sie die Nginx-Konfiguration und stellen Sie sicher, dass es keinen Fehler gibt, und starten Sie dann den Nginx-Dienst neu.

nginx -t  
systemctl reload nginx

Und wir haben die Nginx-Konfiguration für unsere phpMyAdmin-Installation hinzugefügt, sie ist über den Pfad-URL als ‘http://server-ip/phpmyadmin’ zugänglich.

Configure Nginx for phpMyAdmin

Erlauben Sie dem phpMyAdmin-Benutzer den Zugriff auf Datenbanken

Für dieses Tutorial werden wir nicht-root MySQL-Benutzer für PHPMyAdmin verwenden. Wir werden einen neuen Benutzer erstellen und diesem Benutzer alle Berechtigungen für alle Datenbanken auf dem Server gewähren.

Melden Sie sich mit dem folgenden Befehl an der MySQL-Shell an.

mysql -u root -p

Jetzt erstellen Sie einen neuen MySQL-Benutzer ‘hakase’ und gewähren Sie alle Datenbankberechtigungen.

create user hakase@'localhost' identified by 'Hakaselabs001@#';  
grant all privileges on *.* to hakase@'localhost';  
flush privileges;

Geben Sie jetzt ‘exit’ ein, um sich von der MySQL-Shell abzumelden.

exit

Infolgedessen haben wir einen neuen MySQL-Benutzer für phpMyAdmin erstellt.

Schritt 7 - Testen

In diesem Schritt werden wir unsere Konfiguration des LEMP-Stacks und phpMyAdmin testen.

Test PHP-Datei

Gehen Sie zum Verzeichnis ‘/var/www/html’ und erstellen Sie eine neue Skriptdatei ‘info.php’ mit dem vim-Editor.

cd /var/www/html  
vim info.php

Fügen Sie das folgende Skript ein.

Speichern und schließen.

Öffnen Sie als Nächstes Ihren Webbrowser und geben Sie Ihre Server-IP-Adresse gefolgt von dem Pfad Ihres ‘info.php’-Skripts ein.

http://server-ip/info.php

Unten ist das Ergebnis, das Sie erhalten werden.

phpinfo with LEMP Stack

Infolgedessen haben wir die detaillierte Konfiguration unseres PHP-FPM 7.4 auf dem Ubuntu 20.04-Server, und das PHP-Skript läuft auf unserem LEMP-Stack-Server.

Test phpMyAdmin

Um unsere phpMyAdmin-Installation zu testen, geben Sie Ihre Server-IP-Adresse gefolgt von dem ‘phpmyadmin’-Pfad in die URL ein.

http://server-ip/phpmyadmin/

Und Sie erhalten die phpMyAdmin-Anmeldeseite.

phpMyAdmin Login Page

Um sich bei phpMyAdmin anzumelden, geben Sie den Benutzer ein, den wir oben erstellt haben. Der Benutzer ist ‘hakase’ mit dem Passwort ‘Hakaselabs001@#’, und klicken Sie dann auf die ‘Go‘-Schaltfläche.

Und Sie erhalten das phpMyAdmin-Dashboard wie unten.

phpMyAdmin Dashboard

Das phpMyAdmin funktioniert unter der LEMP-Stack-Umgebung.

Infolgedessen wurde die Installation und Konfiguration des LEMP-Stacks auf Ubuntu 20.04 erfolgreich abgeschlossen.

Share: X/Twitter LinkedIn

Erhalte neue Beiträge in deinem Posteingang.

Kein Spam. Jederzeit abmelden.