Wie man den LEMP-Stack mit PhpMyAdmin in Ubuntu 20.04 installiert

Für diejenigen von Ihnen, die nicht wissen, was LEMP ist – dies ist eine Kombination von Softwarepaketen – Linux, Nginx (ausgesprochen EngineX), MariaDB und PHP.

Sie können LEMP sowohl zu Testzwecken als auch in einer echten Produktionsumgebung verwenden, um Webanwendungen mit PHP-Frameworks wie Laravel oder Yii oder Content-Management-Systemen wie WordPress, Drupal oder Joomla bereitzustellen.

Sie fragen sich vielleicht, wo der Unterschied zwischen LAMP und LEMP liegt. Nun, der einzige Unterschied ist der Webserver, der enthalten ist – Apache (bei LAMP) und Nginx (bei LEMP). Beide Webserver sind ziemlich gut, und während Apache der am häufigsten verwendete ist, gibt Nginx in keiner Weise nach.

Eine weitere weit verbreitete Anwendung, die normalerweise neben dem LEMP-Stack installiert wird, ist PhpMyAdmin – ein PHP-basiertes Webtool zur Verwaltung eines MySQL/MariaDB-Datenbank-Servers über einen Webbrowser.

Wenn Sie ein LAMP-Setup für Ihr Ubuntu 20.04 suchen, sollten Sie unseren LAMP-Installationsleitfaden für Ubuntu 20.04 lesen.

Voraussetzungen:

  1. Ubuntu 20.04 Server-Installationsanleitung

In diesem Artikel erfahren Sie, wie Sie den LEMP-Stack mit PhpMyAdmin auf dem Ubuntu 20.04-Server installieren und konfigurieren.

Schritt 1: Installation von Nginx unter Ubuntu 20.04

1. Nginx ist ein schneller moderner Webserver, der viele gleichzeitige Verbindungen bedienen kann, ohne zu viele Serverressourcen zu verbrauchen. Deshalb ist es oft die bevorzugte Wahl in Unternehmensumgebungen.

NGINX wird auch häufig als Load Balancer und Webinhalts-Cache verwendet. Es unterstützt namebasierte und IP-basierte virtuelle Server (analog zu virtuellen Hosts in Apache).

Sie können Nginx auf Ihrem Ubuntu 20.04-Desktop oder -Server installieren, indem Sie folgenden Befehl ausführen.

$ sudo apt update
$ sudo apt install nginx
Install Nginx on Ubuntu 20.04

Die Nginx-Konfigurationsdateien werden im Verzeichnis /etc/nginx gespeichert und die Hauptkonfigurationsdatei befindet sich unter /etc/nginx/nginx.conf. Wichtig ist, dass das Standard-Dokumentenverzeichnis zur Speicherung Ihrer Webdateien /usr/share/nginx/html/ ist. Sie können jedoch das Standardverzeichnis /var/www/html verwenden, das in der Serverblock-Konfigurationsdatei Ihrer Website oder Anwendung konfiguriert sein sollte.

2. Der Ubuntu-Paketinstaller löst systemd aus, um den Nginx-Dienst zu starten und ihn zu aktivieren, damit er jedes Mal automatisch gestartet wird, wenn der Server neu gestartet wird. Verwenden Sie die folgenden systemctl-Befehle, um zu bestätigen, dass der Dienst läuft und aktiviert ist.

$ sudo systemctl status nginx 
$ sudo systemctl is-enabled nginx
Check Nginx Service Status

3. Jetzt ist es an der Zeit zu überprüfen, ob die Nginx-Installation erfolgreich war, indem Sie die Nginx-Seite über den Browser unter Verwendung der Server-IP-Adresse aufrufen.

http://SERVER_IP

Wenn Sie Ihre Server-IP-Adresse nicht kennen, können Sie sie mit dem IP-Befehl wie gezeigt finden.

$ ip addr show

Die Standard-NGINX-Webseite sollte wie im folgenden Screenshot geladen werden, um die korrekte Installation und Funktion zu bestätigen.

Test Nginx Installation

Schritt 2: Installation der MariaDB-Datenbank auf Ubuntu 20.04

4. MariaDB ist ein relativ neues relationales Datenbankverwaltungssystem, das als Community-Fork von MySQL nach dessen Oracle-Übernahme entwickelt wurde.

Die Installation von MariaDB ist einfach und kann mit folgendem Befehl gestartet werden:

$ sudo apt install mariadb-server mariadb-client
Install MariaDB on Ubuntu 20.04

5. Der MariaDB-Dienst wird auch automatisch gestartet und aktiviert, um bei jedem Systemstart zu starten, und Sie können dies mit den folgenden Befehlen bestätigen.

$ sudo systemctl status mariadb
$ sudo systemctl is-enabled mariadb
Check MariaDB Service

6. Wenn Sie die Sicherheit von MariaDB verbessern möchten, können Sie den Befehl mysql_secure_installation ausführen, der einige grundlegende, aber wichtige Optionen zur Konfiguration bietet:

$ sudo mysql_secure_installation

Wählen Sie dann die Option zum Festlegen des Passworts für den Datenbank-Root-Benutzer (oder Administrator) und folgen Sie den Anweisungen und lesen Sie die Fragen sorgfältig durch. Um Ihren Datenbankserver zu sichern, beantworten Sie die Fragen wie im Screenshot gezeigt.

  • Aktuelles Passwort für root eingeben (für keines eingeben): Eingeben
  • Root-Passwort festlegen? [Y/n] y
  • Anonyme Benutzer entfernen? [Y/n] y
  • Root-Login über das Netzwerk deaktivieren? [Y/n] y
  • Testdatenbank und Zugriff darauf entfernen? [Y/n] y
  • Berechtigungstabellen jetzt neu laden? [Y/n] y
Secure MariaDB Server

7. Um Datenbankoperationen zu erstellen, zu verwalten und durchzuführen, benötigen Sie den mysql shell Befehl mit dem -u Flag, um den Benutzernamen der Datenbank anzugeben, und -p, um das Passwort des Benutzers anzugeben.

Um sich als Benutzer root anzumelden, verwenden Sie den sudo Befehl (auch ohne das -p Flag), sonst erhalten Sie den im folgenden Screenshot hervorgehobenen Fehler.

$ mysql -u root -p
$ sudo mysql -u root
Access MariaDB Shell

Schritt 3: Installation von PHP in Ubuntu 20.04

8. PHP ist eine beliebte Open-Source, flexible und dynamische Skriptsprache zur Erstellung von Websites und Webanwendungen. Sie unterstützt eine Vielzahl von Programmierungstechniken. Wichtig ist, dass die PHP-Community groß und vielfältig ist und aus unzähligen Bibliotheken, Frameworks und anderen nützlichen Komponenten besteht.

NGINX verwendet FPM (FastCGI Process Manager) oder PHP-FPM, um PHP-Skripte zu verarbeiten. PHP-FPM ist eine weit verbreitete alternative PHP FastCGI-Implementierung, die mit vielen zusätzlichen Funktionen ausgeliefert wird und für die Leistung von stark frequentierten Websites/Webanwendungen verwendet wird.

Um PHP und PHP-FPM zu installieren, führen Sie den folgenden Befehl aus, der auch einige erforderliche zusätzliche Pakete installiert.

$ sudo apt install php php-mysql php-fpm
Install PHP and PHP-FPM on Ubuntu 20.04

Da PHP 7.4 die Standardversion von PHP in Ubuntu 20.04 ist, befinden sich die PHP-Konfigurationsdateien in /etc/php/7.4/ und die PHP-FPM-Konfigurationsdateien sind unter /etc/php/7.4/fpm gespeichert.

9. Überprüfen Sie als Nächstes, ob der php7.4-fpm-Dienst ausgeführt wird und ob er mit dem folgenden Befehl aktiviert ist.

$ sudo systemctl status php7.4-fpm
$ sudo systemctl is-enabled php7.4-fpm
Check PHP-FPM Status

Schritt 4: Konfigurieren von Nginx, um mit PHP-FPM zu arbeiten

10. Jetzt müssen Sie NGINX konfigurieren, um Client-Anfragen an PHP-FPM weiterzuleiten, das standardmäßig so konfiguriert ist, dass es auf einem UNIX-Socket hört, wie im listen-Parameter in der Standard-Pool-Konfigurationsdatei /etc/php/7.4/fpm/pool.d/www.conf definiert.

$ sudo vi /etc/php/7.4/fpm/pool.d/www.conf 
Configure PHP-FPM Socket

11. In der Standardserverblock-Konfigurationsdatei (/etc/nginx/sites-available/default) kommentieren Sie die Position Anweisung zum Verarbeiten von PHP-Anfragen aus, sodass sie wie in der folgenden Bildschirmaufnahme aussieht.

$ sudo vi /etc/nginx/sites-available/default
Configure Nginx Block to Use PHP-FPM Socket

Speichern Sie die Datei und verlassen Sie sie.

12. Überprüfen Sie dann die NGINX-Konfigurationssyntax auf Korrektheit. Wenn alles in Ordnung ist, starten Sie den Nginx-Dienst neu, um die neuen Änderungen zu übernehmen.

$ sudo nginx -t
$ sudo systemctl restart nginx
Check Nginx Configuration

13. Testen Sie nun, ob NGINX in Verbindung mit PHP-FPM zum Verarbeiten von PHP-Anfragen arbeiten kann. Erstellen Sie eine einfache info.php-Seite im Stammverzeichnis.

$ echo "<?php phpinfo(); ?>" | sudo tee /var/www/html/info.php

14. Navigieren Sie in Ihrem Browser unter der folgenden Adresse. Die PHP-Konfigurationsseite sollte wie in der folgenden Bildschirmaufnahme angezeigt werden.

http://SERVER_IP/info.php
Check PHP and PHP-FPM Info

Schritt 5: PhpMyAdmin in Ubuntu 20.04 installieren

15. PhpMyAdmin ist eine kostenlose und Open-Source-webbasierte PHP-Anwendung, die speziell für die Verwaltung von MySQL/MariaDB-Datenbankservern über einen Webbrowser erstellt wurde. Es bietet eine intuitive grafische Benutzeroberfläche und unterstützt eine Vielzahl von gängigen Funktionen für Datenbankverwaltungsaufgaben.

$ sudo apt install phpmyadmin
Install PhpMyAdmin in Ubuntu 20.04

16. Während der Paketinstallation werden Sie aufgefordert, mehrere Aspekte des PhpMyAdmin-Pakets zu konfigurieren. Zuerst werden Sie aufgefordert, den Standard-Webserver zur Ausführung auszuwählen. Drücken Sie Esc, da NGINX nicht in der bereitgestellten Liste enthalten ist.

Choose Web Server to Configure PHPMyAdmin

17. Als nächstes benötigt PhpMyAdmin eine Datenbank, mit der es arbeiten kann. Wählen Sie in diesem Paketkonfigurationsdialogfeld Ja, um eine Datenbank für PhpMyAdmin mit dem dbconfig-common-Paket zu konfigurieren.

Configure Database for PhpMyAdmin

18. Geben Sie im nächsten Dialogfeld ein Passwort für PhpMyAdmin ein, um sich bei der MariaDB-Datenbank anzumelden. Geben Sie ein sicheres Passwort ein und klicken Sie auf Enter.

Create a Password for PhpMyAdmin

Schritt 6: Konfiguration von NGINX zur Bereitstellung der PhpMyAdmin-Website

19. Um NGINX zu ermöglichen, die PhpMyAdmin-Website, die sich unter /usr/share/phpmyadmin befindet, bereitzustellen, erstellen Sie einen symbolischen Link für dieses Verzeichnis unter dem Dokumentstamm, und setzen Sie dann die richtigen Berechtigungen und Eigentümerschaft für das PHPMyAdmin-Verzeichnis wie folgt.

$ sudo ln -s  /usr/share/phpmyadmin /var/www/html/phpmyadmin
$ sudo chmod 775 -R /usr/share/phpmyadmin/
$ sudo chown root:www-data -R /usr/share/phpmyadmin/

20. Stellen Sie außerdem sicher, dass die index-Anweisung in der Konfigurationsdatei des Standardserverblocks (/etc/nginx/sites-available/default) index.php wie im folgenden Screenshot enthalten ist.

Configure Nginx Index Directive

21. Starten Sie den Nginx-Dienst erneut, um die oben genannten Änderungen zu übernehmen.

$ sudo systemctl restart nginx

22. Rufen Sie jetzt die PhpMyAdmin-Website über einen Browser unter der folgenden Adresse auf.

http://SERVER_IP/phpmyadmin

Authentifizieren Sie sich auf der Anmeldeseite mit dem Benutzernamen und dem Passwort für PHPMyAdmin. Beachten Sie, dass die Anmeldung als Remote-Root-Benutzer deaktiviert ist, es sei denn, Sie greifen auf PHPMyAdmin auf dem Localhost zu, wo die MariaDB-Datenbank installiert ist. Der Root-Zugriff funktioniert nicht.

PhpMyAdmin Login
PhpMyAdmin Dashboard

Sichern Sie abschließend Ihre PhpMyAdmin-Installation mit unserer Anleitung: 4 nützliche Tipps zur Sicherung der PhpMyAdmin-Webbenutzeroberfläche.

Schlussfolgerung

Ihre LEMP-Einrichtung ist nun abgeschlossen, und Sie können mit dem Bau Ihrer Webanwendungen beginnen oder einfach mit den Nginx– und MariaDB-Diensten spielen, die Sie gerade installiert haben. Diese werden weit verbreitet genutzt, und es wird Systemadministratoren dringend empfohlen, sich darin weiterzubilden.

Source:
https://www.tecmint.com/install-lemp-with-phpmyadmin-in-ubuntu-20-04/