GNU/Linux >> LINUX-Kenntnisse >  >> Ubuntu

So installieren Sie Nginx mit PHP und MySQL (LEMP Stack) unter Ubuntu 20.04 LTS

Nginx (ausgesprochen „Engine x“) ist ein kostenloser, hochleistungsfähiger Open-Source-HTTP-Server. Nginx ist bekannt für seine hohe Geschwindigkeit, Stabilität, seinen umfangreichen Funktionsumfang, seine einfache Konfiguration und seinen 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 (LEMP =Linux + Nginx (ausgesprochen „engine x“) + MySQL + PHP) installieren können.

Voraussetzungen

  • Ubuntu 20.04 LTS-Server
  • Root-Rechte

Was werden wir tun?

  • Installieren Sie Nginx
  • Installieren Sie MySQL
  • Installieren Sie PHP-FPM
  • Nginx und PHP-FPM konfigurieren
  • Installieren Sie PhpMyAdmin
  • 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 installieren wir den Nginx-Webserver aus dem Ubuntu-Repository.

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

sudo apt update
sudo apt install nginx

Starten Sie nach Abschluss der Installation den Nginx-Dienst und aktivieren Sie ihn so, dass er jedes Mal beim Systemstart gestartet wird.

systemctl start nginx
systemctl enable nginx

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

systemctl status nginx

Unten sehen Sie das Ergebnis, das Sie erhalten.

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

ss -plt4

Unten sehen Sie das Ergebnis, das Sie erhalten.

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

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

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

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

Aktivieren Sie nun die UFW-Firewall und prüfen Sie deren Status.

ufw enable
ufw status numbered

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

Schritt 2 - MySQL installieren

MySQL ist das beliebteste Open-Source-Managementsystem für relationale Datenbanken (RDBMS), das von der Oracle Corporation entwickelt wurde. Es ist eine zentrale Komponente 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 so, dass er jedes Mal beim Systemstart gestartet wird.

systemctl start mysql
systemctl enable mysql

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

systemctl status mysql

Der MySQL-Dienst ist eingerichtet und läuft.

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

Führen Sie den 'mysql_secure_installation'-Befehl unten aus.

mysql_secure_installation

Jetzt werden Sie zur folgenden Konfiguration aufgefordert, und stellen Sie sicher, dass Sie Ihr sicheres Passwort für den MySQL-Root-Benutzer eingeben.

Press y|Y for Yes, any other key for No: Press Enter

New password:
Re-enter new password:

Remove anonymous users? (Press y|Y for Yes, any other key for No) : Y
Disallow root login remotely? (Press y|Y for Yes, any other key for No) : Y
Remove test database and access to it? (Press y|Y for Yes, any other key for No) : Y
Reload privilege tables now? (Press y|Y for Yes, any other key for No) : Y

Und das MySQL-Root-Passwort wurde konfiguriert.

Damit ist 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 für das ältere PHP FastCGI, das 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 installieren wir das Standard-PHP7.4-FPM mit einigen zusätzlichen Erweiterungen, 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

Gehen Sie nach Abschluss der PHP-FPM-Installation in das 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

Entkommentieren Sie die folgende Konfiguration und ändern Sie den Wert auf „0“.

cgi.fix_pathinfo = 0

Speichern und schließen.

Starten Sie nun den PHP7.4-FPM-Dienst und aktivieren Sie ihn so, dass er jedes Mal beim Systemstart gestartet wird

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

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

systemctl status php7.4-fpm

Unten sehen Sie das Ergebnis, das Sie erhalten.

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

ss -pl | grep php

Nachfolgend finden Sie die Antwort, die Sie erhalten.

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 ist abgeschlossen.

Schritt 4 – Nginx und PHP-FPM konfigurieren

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

Gehen Sie zum Konfigurationsverzeichnis „/etc/nginx“ und bearbeiten Sie die Datei „nginx.conf“ mit vim oder nano.

cd /etc/nginx/
vim nginx.conf

Entkommentieren Sie die folgende Zeile, um die Nginx-Version auszublenden.

server_tokens off;

Speichern und schließen.

Bearbeiten Sie als Nächstes die 'Standard'-Konfiguration des virtuellen Hosts im Verzeichnis 'Sites-Available'.

vim sites-available/default

Entkommentieren Sie die unten gezeigte PHP-Zeile und ändern Sie die Sock-Datei-Zeile.

        location ~ \.php$ {
                include snippets/fastcgi-php.conf;
        #
        # # With php-fpm (or other unix sockets):
                fastcgi_pass unix:/run/php/php7.4-fpm.sock;
        # # With php-cgi (or other tcp sockets):
        # fastcgi_pass 127.2.0.1:9000;
        }

Speichern und schließen.

Testen Sie die Nginx-Konfiguration und stellen Sie sicher, dass kein Fehler vorliegt, und starten Sie dann den Dienst neu.

nginx -t
systemctl restart nginx

Als Ergebnis ist die Konfiguration von Nginx und PHP-FPM abgeschlossen.

Schritt 5 - Installieren Sie phpMyAdmin

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

Installieren Sie PHPMyAdmin mit dem folgenden apt-Befehl.

sudo apt install phpmyadmin

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

Wählen Sie keine Option und bewegen Sie den Cursor auf 'OK '.

Wählen Sie für die phpmyadmin-Datenbank und die Benutzerkonfiguration „Ja '.

Geben Sie den neuen „STRONG“ PHPMyAdmin-Administrator ein, z. B. „[email protected]#“.

Wiederholen Sie das Passwort „[email protected]#“.

Und die Installation von phpMyAdmin auf Ubuntu 20.04 ist abgeschlossen.

Schritt 6 – Konfigurieren Sie phpMyAdmin mit Nginx und MySQL

Nach der Installation von phpmyadmin müssen wir phpmyadmin so konfigurieren, dass es unter dem Nginx-Webserver ausgeführt wird, und den Zugriff des MySQL-Benutzers phpmyadmin konfigurieren. Um PHPMyAdmin unter dem Nginx-Webserver auszuführen, müssen wir die Konfiguration zur Konfigurationsdatei des virtuellen Hosts hinzufügen.

Konfiguriere phpMyAdmin mit Nginx-Webserver

Gehen Sie nun in das Konfigurationsverzeichnis ‚/etc/nginx‘ und bearbeiten Sie die standardmäßige virtuelle Hostdatei.

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

Fügen Sie die folgende Nginx-Konfiguration für PHPMyAdmin in die Klammer „server {...}“ 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 kein Fehler vorliegt, 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 die Pfad-URL als „http://server-ip/phpmyadmin“ zugänglich.

Erlaube dem phpMyAdmin-Benutzer den Zugriff auf Datenbanken

Für dieses Tutorial verwenden wir Nicht-Root-MySQL-Benutzer für PHPMyAdmin. Wir erstellen einen neuen Benutzer und gewähren dem Benutzer alle Berechtigungen aller Datenbanken innerhalb des Servers.

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

mysql -u root -p

Erstellen Sie nun einen neuen MySQL-Benutzer ‚hakase‘ und gewähren Sie alle Datenbankrechte.

create user [email protected]'localhost' identified by '[email protected]#';
grant all privileges on *.* to [email protected]'localhost';
flush privileges;

Geben Sie nun „exit“ ein, um sich von der MySQL-Shell abzumelden.

exit

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

Schritt 7 – Testen

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

PHP-Datei testen

Gehen Sie in das Verzeichnis „/var/www/html“ und erstellen Sie mit dem vim-Editor eine neue Skriptdatei „info.php“.

cd /var/www/html
vim info.php

Fügen Sie das folgende Skript darin ein.

<?php
phpinfo();
?>

Speichern und schließen.

Öffnen Sie als Nächstes Ihren Webbrowser und geben Sie Ihre Server-IP-Adresse ein, gefolgt vom Pfad Ihres „info.php“-Skripts.

http://server-ip/info.php

Unten sehen Sie das Ergebnis, das Sie erhalten.

Als Ergebnis haben wir eine detaillierte Konfiguration unseres PHP-FPM 7.4 auf dem Ubuntu 20.04-Server und das PHP-Skript wird auf unserem LEMP-Stack-Server ausgeführt.

phpMyAdmin testen

Um unsere phpMyAdmin-Installation zu testen, geben Sie Ihre Server-IP-Adresse ein, gefolgt vom Pfad „phpmyadmin“ in der URL.

http://server-ip/phpmyadmin/

Und Sie erhalten die Anmeldeseite von phpMyAdmin.

Um sich bei phpMyAdmin anzumelden, geben Sie den Benutzer ein, den wir oben erstellt haben. Der Benutzer ist „hakase“ mit dem Passwort „[email protected]#“. Klicken Sie dann auf „Go“. ' Schaltfläche.

Und Sie erhalten das phpMyAdmin-Dashboard wie unten.

Der phpMyAdmin arbeitet unter der LEMP-Stack-Umgebung.

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


Ubuntu
  1. So installieren Sie Phorum mit Nginx auf Ubuntu 18.04 LTS

  2. So installieren Sie Nginx mit PHP5 und MySQL unter Ubuntu 11.10

  3. So installieren Sie Lighttpd mit PHP5 und MySQL unter Ubuntu 11.04

  4. So installieren und konfigurieren Sie PHP und Nginx (LEMP) unter Ubuntu 20.04

  5. So installieren Sie LEMP Stack Nginx, MySQL, PHP unter Ubuntu 22.04

So installieren Sie PHP 5.6, PHP 8.0 und PHP 8.1 auf Ubuntu 20.04 LTS

So installieren Sie den LEMP-Stack unter Ubuntu 20.04

So installieren Sie phpMyAdmin mit Nginx (LEMP) unter Ubuntu 18.04 LTS

So installieren Sie Nginx, MySQL und PHP (LEMP) unter Ubuntu 20.04

So installieren Sie LEMP WordPress Ubuntu und Debian mit Virtualhost

So installieren Sie Nginx, MySQL und PHP (LEMP) auf einem Ubuntu 15.04-Server