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

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

Nginx (ausgesprochen „Engine x“) ist ein kostenloser, leistungsstarker Open-Source-HTTP-Server. Nginx ist bekannt für seine Stabilität, seinen umfangreichen Funktionsumfang, seine einfache Konfiguration und seinen geringen Ressourcenverbrauch. Dieses Tutorial zeigt, wie Sie Nginx auf einem Ubuntu 18.04 LTS-Server mit PHP 7.2-Unterstützung (über PHP-FPM) und MySQL-Unterstützung (LEMP = L inux + nginx (ausgesprochen "e Engine x") + M ySQL + P PS).

Voraussetzungen

  • Ubuntu 18.04 LTS-Server
  • Root-Rechte

Was werden wir tun?

  1. Installieren Sie Nginx
  2. Installieren Sie MySQL
  3. Installieren Sie PHP-FPM
  4. Nginx und PHP-FPM konfigurieren
  5. Installieren Sie PhpMyAdmin
  6. PhpMyAdmin konfigurieren
  7. 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 und GitHub verwenden Nginx.

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

Führen Sie den folgenden Befehl aus.

sudo apt install nginx -y

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

Die Nginx-Installation ist abgeschlossen.

Firewall konfigurieren

Es wird empfohlen, die Firewall auf dem Server einzuschalten.

Fügen Sie den SSH- und HTTP-Dienstport zur Firewall-Konfiguration hinzu.

Führen Sie den folgenden UFW-Befehl aus.

ufw allow ssh
ufw allow http

Starten Sie nun die UFW-Firewall und aktivieren Sie sie so, dass sie jedes Mal beim Systemstart gestartet wird.

ufw enable

Der Nginx-Webserver läuft unter der UFW-Firewall.

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 apt-Befehl unten.

sudo apt install mysql-server mysql-client -y

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

Und wir haben MySQL 5.7 auf einem Ubuntu 18.04-Server installiert.

Schritt 3 – PHP-FPM installieren

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 PHP7.2-FPM mit einigen zusätzlichen Erweiterungen, die von phpmyadmin benötigt werden.

Installieren Sie PHP-FPM mit dem folgenden Befehl.

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

Starten Sie nun den PHP-FPM-Dienst und aktivieren Sie ihn so, dass er jedes Mal beim Systemstart gestartet wird, nachdem die gesamte Installation abgeschlossen ist.

systemctl start php7.2-fpm
systemctl enable php7.2-fpm

PHP7.2-FPM läuft unter Ubuntu 18.04 unter der Sock-Datei, überprüfen Sie es mit dem netstat-Befehl.

netstat -pl | grep php

Schritt 4 – Nginx und PHP-FPM konfigurieren

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

Nginx konfigurieren

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

cd /etc/nginx/
vim nginx.conf

Entkommentieren Sie die folgenden Zeilen.

keepalive_timeout 2;
server_tokens off;

Speichern Sie die Konfigurationsdatei und verlassen Sie den Editor.

Bearbeiten Sie nun die standardmäßige virtuelle Nginx-Hostdatei.

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:/var/run/php/php7.2-fpm.sock;
        # # With php-cgi (or other tcp sockets):
        # fastcgi_pass 127.2.0.1:9000;
        }

Speichern und beenden.

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

nginx -t
systemctl reload nginx

PHP-FPM konfigurieren

Gehen Sie in das Verzeichnis „/etc/php/7.2“ und bearbeiten Sie die Datei „php.ini“.

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

Kommentieren Sie die Zeile „cgi.fix_patinfo“ aus und ändern Sie den Wert auf „0“.

cgi.fix_pathinfo=0

Speichern und beenden.

Laden Sie den PHP-FPM-Dienst neu.

systemctl reload php7.2-fpm

Und wir haben die Konfiguration des Nginx-Webservers und von PHP-FPM abgeschlossen.

Schritt 5 - PhpMyAdmin installieren

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 -y

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 Konfiguration der phpmyadmin-Datenbank „Ja“.

Und geben Sie den neuen „STRONG“ phpmyadmin admin ein, z. B. „[email protected]#“.

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

Und die Installation von phpmyadmin ist abgeschlossen.

Schritt 6 - PhpMyAdmin konfigurieren

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.

PhpMyAdmin mit Nginx konfigurieren

Um phpmyadmin unter dem Nginx-Webserver auszuführen, müssen wir die Konfiguration zur Konfigurationsdatei des virtuellen Hosts hinzufügen.

Gehen Sie in das Konfigurationsverzeichnis „/etc/nginx“ und bearbeiten Sie die standardmäßige virtuelle Hostdatei.

cd /etc/nginx/
vim sites-available/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:/var/run/php/php7.2-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 starten Sie den nginx-Dienst neu.

nginx -t
systemctl reload nginx

Und wir haben die Nginx-Konfiguration für phpmyadmin hinzugefügt.

Mysql-Benutzer für PhpMyAdmin konfigurieren

In diesem Tutorial verwenden wir einen Nicht-Root-MySQL-Benutzer für phpmyadmin. Wir werden einen neuen Benutzer erstellen und ihm alle Datenbankrechte innerhalb des Servers gewähren.

Melden Sie sich bei der MySQL-Shell an.

mysql -u root -p

Erstellen Sie nun einen neuen Benutzer mit den unten stehenden MySQL-Abfragen.

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

Und wir haben einen neuen Benutzer für den phpmyadmin-Zugriff erstellt.

Schritt 7 – Testen

PHP-Dateien testen

Gehen Sie in das Web-Root-Verzeichnis '/var/www/html' und erstellen Sie eine neue phpinfo-Datei.

cd /var/www/html/
vim info.php

Fügen Sie das folgende phpinfo-Skript ein.

<?php
phpinfo();
?>

Speichern und beenden.

Öffnen Sie nun den Webbrowser und geben Sie die Server-IP-Adresse wie unten gezeigt ein. Ersetzen Sie die IP durch Ihre Server-IP.

http://192.168.33.10/info.php

Und unten finden Sie alle Informationen zur Konfiguration des PHP-Servers.

Testanmeldung PhpMyAdmin

Geben Sie im Webbrowser die folgende phpmyadmin-URL ein (ersetzen Sie die IP durch Ihre Server-IP).

http://192.168.33.10/phpmyadmin/

Geben Sie auf der Anmeldeseite von phpmyadmin den Benutzer „hakase“ mit dem Passwort „[email protected]#“ ein und klicken Sie auf die Schaltfläche „Los“.

Jetzt sehen wir das phpmyadmin-Dashboard wie unten.

Der LEMP Stack und PhpMyAdmin wurden erfolgreich auf Ubuntu 18.04 LTS installiert.


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 Debian 11

Installieren Sie Nginx, MySQL, PHP (LEMP Stack) auf Ubuntu 20.04 LTS

So installieren Sie den LEMP-Stack unter Ubuntu 20.04

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 den LEMP-Stack mit PhpMyAdmin in Ubuntu 20.04

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