Website-Suche

So installieren Sie LEMP Stack mit PhpMyAdmin in Ubuntu 20.04


Für diejenigen unter Ihnen, die nicht wissen, was LEMP ist – dies ist eine Kombination aus 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 bereitzustellen , oder Joomla

Sie fragen sich vielleicht, was der Unterschied zwischen LAMP und LEMP ist. Nun, der einzige Unterschied ist der enthaltene Webserver – Apache (in LAMP) und Nginx (in LEMP). >). Beide Webserver sind ziemlich gut und obwohl Apache am häufigsten verwendet wird, gibt Nginx in keiner Weise nach.

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

Wenn Sie nach einem LAMP-Setup für Ihr Ubuntu 20.04 suchen, sollten Sie unsere LAMP-Setup-Anleitung zu Ubuntu 20.04 lesen.

Voraussetzungen:

  1. Ubuntu 20.04 Server-Installationshandbuch

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

Schritt 1: Nginx unter Ubuntu 20.04 installieren

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

NGINX wird auch häufig als Load Balancer und Web-Content-Cache verwendet. Es unterstützt namensbasierte 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 den folgenden Befehl ausführen.

sudo apt update
sudo apt install nginx

Die Nginx-Konfigurationsdateien werden im Verzeichnis /etc/nginx gespeichert und die Hauptkonfigurationsdatei ist /etc/nginx/nginx.conf. Wichtig ist, dass das Standard-Dokumentstammverzeichnis zum Speichern Ihrer Webdateien /usr/share/nginx/html/ ist. Sie können jedoch den Standardwert /var/www/html verwenden, der in der Serverblock-Konfigurationsdatei Ihrer Website oder Anwendung konfiguriert werden sollte.

2. Das Ubuntu-Paketinstallationsprogramm löst systemd aus, um den Nginx-Dienst zu starten und ihn bei jedem Neustart des Servers automatisch zu starten. Verwenden Sie die folgenden systemctl-Befehle, um zu bestätigen, dass der Dienst ausgeführt wird und aktiviert ist.

sudo systemctl status nginx 
sudo systemctl is-enabled nginx

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 die IP-Adresse Ihres Servers nicht kennen, können Sie diese mithilfe des angezeigten IP-Befehls ermitteln.

ip addr show

Die NGINX-Standardwebseite sollte wie im folgenden Screenshot gezeigt geladen werden, um die korrekte Installation und den korrekten Betrieb zu bestätigen.

Schritt 2: Installation der MariaDB-Datenbank unter Ubuntu 20.04

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

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

sudo apt install mariadb-server mariadb-client

5. Der MariaDB-Dienst wird ebenfalls automatisch gestartet und ist so aktiviert, dass er immer beim Systemstart startet. Sie können dies mit den folgenden Befehlen bestätigen.

sudo systemctl status mariadb
sudo systemctl is-enabled mariadb

6. Wenn Sie die MariaDB-Sicherheit verbessern möchten, können Sie den Befehl mysql_secure_installation ausführen, der einige grundlegende, aber wichtige Optionen zum Konfigurieren bereitstellt :

sudo mysql_secure_installation

Wählen Sie dann die Option zum Festlegen des Kennworts des Datenbank-Root-Benutzers (oder Administrator-Benutzers), befolgen Sie die Anweisungen und lesen Sie die Fragen sorgfältig durch. Um Ihren Datenbankserver zu sichern, beantworten Sie die Fragen wie im Screenshot gezeigt.

  • Geben Sie das aktuelle Passwort für Root ein (eingeben für „Keines“): Enter
  • Root-Passwort festlegen? [J/n] y
  • Anonyme Benutzer entfernen? [J/n] y
  • Root-Anmeldung aus der Ferne verbieten? [J/n] y
  • Testdatenbank entfernen und darauf zugreifen? [J/n] y
  • Berechtigungstabellen jetzt neu laden? [J/n] y

7. Um Datenbankoperationen zu erstellen, zu verwalten und auszuführen, müssen Sie den Shell-Befehl mysql mit dem Flag -u ausführen, um den Datenbankbenutzernamen anzugeben -p, um das Passwort des Benutzers bereitzustellen.

Um eine Verbindung als root-Benutzer herzustellen, verwenden Sie den Befehl sudo (auch ohne das Flag -p). Andernfalls erhalten Sie den im folgenden Screenshot hervorgehobenen Fehler.

mysql -u root -p
sudo mysql -u root

Schritt 3: PHP in Ubuntu 20.04 installieren

8. PHP ist eine beliebte Open-Source-, flexible und dynamische Skriptsprache zum Erstellen von Websites und Webanwendungen. Es unterstützt eine Vielzahl von Programmiertechniken. 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 den Betrieb stark frequentierter 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

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

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

sudo systemctl status php7.4-fpm
sudo systemctl is-enabled php7.4-fpm

Schritt 4: Nginx für die Arbeit mit PHP-FPM konfigurieren

10. Jetzt müssen Sie NGINX konfigurieren, um Client-Anfragen an PHP-FPM weiterzuleiten, das standardmäßig so konfiguriert ist, dass es auf einem lauscht UNIX-Socket, wie durch den Parameter „listen“ in der Standardpoolkonfigurationsdatei /etc/php/7.4/fpm/pool.d/www.conf definiert.

sudo vi /etc/php/7.4/fpm/pool.d/www.conf 

11. Entkommentieren Sie in der Standard-Serverblock-Konfigurationsdatei (/etc/nginx/sites-available/default) die Speicherort-Anweisung für die Verarbeitung von PHP Anforderungen so aussehen, wie im folgenden Screenshot gezeigt.

sudo vi /etc/nginx/sites-available/default

Speichern Sie die Datei und beenden Sie den Vorgang.

12. Testen Sie anschließend die NGINX-Konfigurationssyntax auf Richtigkeit. Wenn alles in Ordnung ist, starten Sie den Nginx-Dienst neu, um die neuen Änderungen zu übernehmen.

sudo nginx -t
sudo systemctl restart nginx

13. Testen Sie nun, ob NGINX in Verbindung mit PHP-FPM PHP-Anfragen verarbeiten kann. Erstellen Sie eine einfache info.php-Seite im Stammverzeichnis des Dokuments.

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

14. Navigieren Sie in Ihrem Browser über die folgende Adresse. Die PHP-Konfigurationsseite sollte wie im folgenden Screenshot gezeigt geladen werden.

http://SERVER_IP/info.php

Schritt 5: PHPMyAdmin in Ubuntu 20.04 installieren

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

sudo apt install phpmyadmin

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

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

18. In der nächsten Eingabeaufforderung müssen Sie ein Passwort für PhpMyAdmin angeben, um sich bei der MariaDB-Datenbank zu registrieren. Geben Sie ein sicheres Passwort ein und klicken Sie auf Enter.

Schritt 6: Konfigurieren von NGINX für die Bereitstellung der PhpMyAdmin-Site

19. Damit NGINX die PhpMyAdmin-Site unter /usr/share/phpmyadmin bedienen kann, erstellen Sie einen Symlink Legen Sie für dieses Verzeichnis im Dokumentstammverzeichnis die richtigen Berechtigungen und Eigentümer für das PHPMyAdmin-Verzeichnis wie folgt fest.

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-Direktive in der Standard-Serverblockkonfigurationsdatei (/etc/nginx/sites-available/default) enthalten ist index.php, wie im folgenden Screenshot gezeigt.

21. Als nächstes starten Sie den Nginx-Dienst noch einmal neu, um die oben genannten Änderungen zu übernehmen.

sudo systemctl restart nginx

22. Greifen Sie nun über einen Browser über die folgende Adresse auf die PhpMyAdmin-Site zu.

http://SERVER_IP/phpmyadmin

Authentifizieren Sie sich auf der Anmeldeseite mit dem PHPMyAdmin-Benutzernamen und -Passwort. Denken Sie daran, dass die Remote-Root-Benutzeranmeldung deaktiviert ist, es sei denn, Sie greifen auf PHPMyAdmin auf dem lokalen Host zu, auf dem die MariaDB-Datenbank installiert ist. Der Root-Zugriff funktioniert nicht.

Zu guter Letzt sichern Sie Ihre PhpMyAdmin-Installation mit unserem Leitfaden: 4 nützliche Tipps zum Sichern der PhpMyAdmin-Weboberfläche.

Abschluss

Ihre LEMP-Einrichtung ist nun abgeschlossen und Sie können mit der Erstellung Ihrer Webanwendungen beginnen oder einfach mit den soeben installierten Nginx- und MariaDB-Diensten experimentieren. Diese sind weit verbreitet und es wird Systemadministratoren dringend empfohlen, sich mehr Wissen darüber anzueignen.