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

So installieren Sie den LEMP-Stack (Nginx, MariaDB, PHP7.1) unter Ubuntu 17.10

Dieses Tutorial zeigt Ihnen, wie Sie Nginx, MariaDB und PHP7.1 (LEMP) auf Ubuntu 17.10 installieren. Sie können diesem Tutorial auf einem VPS (Virtual Private Server) oder auf einem lokalen Ubuntu 17.10-Computer folgen. PHP7.1 ist in Ubuntu 17.10 enthalten und hat eine geringfügige Leistungssteigerung gegenüber PHP7.0.

Schritt 1:Softwarepakete aktualisieren

Bevor wir den LEMP-Stack installieren, ist es eine gute Idee, das Repository und die Softwarepakete zu aktualisieren. Führen Sie den folgenden Befehl auf Ihrem Ubuntu 17.10-Betriebssystem aus.

sudo apt update

sudo apt upgrade

Schritt 2:Nginx-Webserver installieren

Nginx ist ein Hochleistungs-Webserver und heutzutage sehr beliebt. Es kann auch als Reverse-Proxy verwendet werden. Geben Sie diesen Befehl ein, um den Nginx-Webserver zu installieren.

sudo apt install nginx

Nach der Installation können wir Nginx so aktivieren, dass es beim Booten von Ubuntu automatisch startet, indem wir den folgenden Befehl ausführen.

sudo systemctl enable nginx

Starten Sie dann Nginx mit diesem Befehl:

sudo systemctl start nginx

Überprüfen Sie jetzt seinen Status.

systemctl status nginx

Ausgabe:

● nginx.service - A high performance web server and a reverse proxy server
   Loaded: loaded (/lib/systemd/system/nginx.service; enabled; vendor preset: en
   Active: active (running) since Tue 2017-12-12 06:17:50 UTC; 51s ago
     Docs: man:nginx(8)
 Main PID: 15672 (nginx)
    Tasks: 2 (limit: 4915)
   Memory: 6.3M
      CPU: 37ms
   CGroup: /system.slice/nginx.service
           ├─15672 nginx: master process /usr/sbin/nginx -g daemon on; master_pr
           └─15675 nginx: worker process

aktiviert “ zeigt an, dass der automatische Start beim Booten aktiviert ist, und wir können sehen, dass Nginx ausgeführt wird. Beachten Sie, dass der obige Befehl nach dem Ausführen nicht sofort beendet wird. Sie müssen „q drücken ” um es zu beenden.

Überprüfen Sie die Nginx-Version.

nginx -v

Ausgabe:

nginx version: nginx/1.12.1 (Ubuntu)

Geben Sie nun die öffentliche IP-Adresse Ihres Ubuntu 17.10-Servers in die Adressleiste des Browsers ein. Sie sollten die Webseite „Willkommen bei Nginx“ sehen, was bedeutet, dass der Nginx-Webserver ordnungsgemäß ausgeführt wird. Wenn Sie LEMP auf Ihrem lokalen Ubuntu 17.10-Computer installieren, geben Sie 127.0.0.1 ein oder localhost in der Adressleiste des Browsers.

Schließlich müssen wir www-data erstellen (Nginx-Benutzer) als Besitzer des Web-Root-Verzeichnisses. Standardmäßig gehört es dem Root-Benutzer.

sudo chown www-data:www-data /usr/share/nginx/html -R

Schritt 3:MariaDB-Datenbankserver installieren

MariaDB ist ein Drop-in-Ersatz für MySQL. Es wurde von ehemaligen Mitgliedern des MySQL-Teams entwickelt, die befürchten, dass Oracle MySQL in ein Closed-Source-Produkt verwandeln könnte. Geben Sie den folgenden Befehl ein, um MariaDB auf Ubuntu 17.10 zu installieren.

sudo apt install mariadb-server mariadb-client

Nach der Installation sollte der MariaDB-Server automatisch gestartet werden. Verwenden Sie systemctl um seinen Status zu überprüfen.

systemctl status mariadb

Ausgabe:

● mariadb.service - MariaDB database server
   Loaded: loaded (/lib/systemd/system/mariadb.service; enabled; vendor preset:enabled) 
   Active: active (running) since Tue 2017-12-12 06:36:12 UTC; 6s ago
 Main PID: 17409 (mysqld)
   Status: "Taking your SQL requests now..."
    Tasks: 26 (limit: 4915)
   Memory: 59.9M
      CPU: 342ms
   CGroup: /system.slice/mariadb.service
           └─17409 /usr/sbin/mysqld

Wenn es nicht läuft, starten Sie es mit diesem Befehl:

sudo systemctl start mariadb

Damit MariaDB beim Booten automatisch startet, führen Sie

aus
sudo systemctl enable mariadb

Führen Sie nun das Sicherheitsskript nach der Installation aus.

sudo mysql_secure_installation

Wenn Sie aufgefordert werden, das MariaDB-Root-Passwort einzugeben, drücken Sie die Eingabetaste, da das Root-Passwort noch nicht festgelegt ist. Geben Sie dann y ein um das Root-Passwort für den MariaDB-Server festzulegen.

Als nächstes können Sie die Eingabetaste drücken, um alle verbleibenden Fragen zu beantworten, wodurch der anonyme Benutzer entfernt, die Remote-Root-Anmeldung deaktiviert und die Testdatenbank entfernt wird. Dieser Schritt ist eine Grundvoraussetzung für die MariaDB-Datenbanksicherheit. (Beachten Sie, dass Y großgeschrieben wird, was bedeutet, dass das Drücken der Eingabetaste dasselbe ist wie das Eingeben von Y. )

Standardmäßig verwendet das MaraiDB-Paket auf Ubuntu unix_socket, um die Benutzeranmeldung zu authentifizieren, was im Grunde bedeutet, dass Sie den Benutzernamen und das Passwort des Betriebssystems verwenden können, um sich bei der MariaDB-Konsole anzumelden. Sie können also den folgenden Befehl ausführen, um sich anzumelden, ohne das MariaDB-Root-Passwort anzugeben.

sudo mariadb -u root

Führen Sie zum Beenden

aus
exit;

Überprüfen Sie die Versionsinformationen des MariaDB-Servers.

mariadb --version

Wie Sie sehen können, haben wir MariaDB 10.1.25 installiert.

mariadb Ver 15.1 Distrib 10.1.25-MariaDB, for debian-linux-gnu (x86_64) using readline 5.2

Schritt 4:Installieren Sie PHP7.1

PHP7.1 ist im Ubuntu 17.10-Repository enthalten und hat eine geringfügige Leistungssteigerung gegenüber PHP7.0. Geben Sie den folgenden Befehl ein, um PHP7.1 und einige gängige Erweiterungen zu installieren.

sudo apt install php7.1 php7.1-fpm php7.1-mysql php-common php7.1-cli php7.1-common php7.1-json php7.1-opcache php7.1-readline php7.1-mbstring php7.1-xml php7.1-gd php7.1-curl

PHP-Erweiterungen werden häufig für Content-Management-Systeme (CMS) wie WordPress benötigt. Zum Beispiel, wenn Ihrer Installation php7.1-xml fehlt , dann sind einige Ihrer WordPress-Site-Seiten möglicherweise leer und Sie finden einen Fehler im Nginx-Fehlerprotokoll wie:

PHP message: PHP Fatal error:  Uncaught Error: Call to undefined function xml_parser_create()

Die Installation dieser PHP-Erweiterungen stellt sicher, dass Ihr CMS reibungslos läuft. Starten Sie nun php7.1-fpm.

sudo systemctl start php7.1-fpm

Autostart beim Booten aktivieren.

sudo systemctl enable php7.1-fpm

Status prüfen:

systemctl status php7.1-fpm

Beispielausgabe:

● php7.1-fpm.service - The PHP 7.1 FastCGI Process Manager
   Loaded: loaded (/lib/systemd/system/php7.1-fpm.service; enabled; vendor preset:enabled)
   Active: active (running) since Tue 2017-12-12 06:53:08 UTC; 4min 25s ago
     Docs: man:php-fpm7.1(8)
 Main PID: 27560 (php-fpm7.1)
   Status: "Processes active: 0, idle: 2, Requests: 0, slow: 0, Traffic: 0req/se
    Tasks: 3 (limit: 4915)
   Memory: 28.0M
      CPU: 58ms
   CGroup: /system.slice/php7.1-fpm.service
           ├─27560 php-fpm: master process (/etc/php/7.1/fpm/php-fpm.conf)
           ├─27580 php-fpm: pool www
           └─27583 php-fpm: pool www

Schritt 5:Erstellen Sie einen Nginx-Serverblock

Ein Nginx-Serverblock ist wie ein virtueller Host in Apache. Wir werden den Standardserverblock nicht verwenden, da er nicht ausreicht, um PHP-Code auszuführen, und wenn wir ihn ändern, wird es zu einem Chaos. Entfernen Sie also den default Symlink in sites-enabled Verzeichnis, indem Sie den folgenden Befehl ausführen. (Es ist immer noch als /etc/nginx/sites-available/default verfügbar .)

sudo rm /etc/nginx/sites-enabled/default

Erstellen Sie dann eine brandneue Serverblockdatei unter /etc/nginx/conf.d/ Verzeichnis.

sudo nano /etc/nginx/conf.d/default.conf

Fügen Sie den folgenden Text in die Datei ein. Ersetzen Sie 12.34.56.78 durch Ihre tatsächliche Server-IP-Adresse.

server {
  listen 80;
  listen [::]:80;
  server_name 12.34.56.78;
  root /usr/share/nginx/html/;
  index index.php index.html index.htm index.nginx-debian.html;

  location / {
    try_files $uri $uri/ /index.php;
  }

  error_page 404 /404.html;
  error_page 500 502 503 504 /50x.html;

  location = /50x.html {
    root /usr/share/nginx/html;
  }

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

  location ~ /\.ht {
    deny all;
  }
}

Speichern und schließen Sie die Datei. Testen Sie dann die Nginx-Konfigurationen.

sudo nginx -t

Wenn der Test erfolgreich ist, laden Sie Nginx neu.

sudo systemctl reload nginx

Schritt 6:PHP testen

Um PHP-FPM mit dem Nginx-Webserver zu testen, müssen wir eine info.php erstellen Datei im Dokumentstammverzeichnis.

sudo nano /usr/share/nginx/html/info.php

Fügen Sie den folgenden PHP-Code in die Datei ein.

<?php phpinfo(); ?>

Speichern und schließen Sie die Datei. Geben Sie nun in der Adressleiste des Browsers server-ip-address/info.php ein . Ersetzen Sie sever-ip-address mit deiner aktuellen IP. Wenn Sie dieser Anleitung auf Ihrem lokalen Computer folgen, geben Sie 127.0.0.1/info.php ein oder localhost/info.php .

Sie sollten die PHP-Informationen Ihres Servers sehen. Dies bedeutet, dass PHP-Skripte ordnungsgemäß mit dem Nginx-Webserver ausgeführt werden können.

So installieren Sie PHP7.2

PHP7.2 ist die neueste stabile Version von PHP, die am 30. November 2017 veröffentlicht wurde und eine geringfügige Leistungssteigerung gegenüber PHP7.1 aufweist. Wir können das PPA von Ondrej Sury hinzufügen, um PHP7.2 auf Ubuntu 17.10 zu installieren. Dieser Typ ist auch der Betreuer von Certbot PPA.

sudo apt install software-properties-common

sudo add-apt-repository ppa:ondrej/php

sudo apt update

Dann können wir PHP7.2 und gängige Erweiterungen mit dem folgenden Befehl installieren.

sudo apt install php7.2 php7.2-fpm php7.2-mysql php-common php7.2-cli php7.2-common php7.2-json php7.2-opcache php7.2-readline php7.2-mbstring php7.2-xml php7.2-gd php7.2-curl

Starten Sie nun PHP7.2-FPM.

sudo systemctl start php7.2-fpm

Autostart beim Systemstart aktivieren.

sudo systemctl enable php7.2-fpm

Überprüfen Sie den Status:

systemctl status php7.2-fpm

Verwendung von PHP7.2-FPM mit Nginx

Damit Nginx PHP7.2-FPM anstelle von PHP7.1-FPM verwendet, müssen wir die Nginx-Serverblockdatei bearbeiten.

sudo nano /etc/nginx/conf.d/default.conf

Suchen Sie die folgende Zeile.

fastcgi_pass unix:/run/php/php7.1-fpm.sock;

Ändern Sie php7.1-fpm zu php7.2-fpm .

fastcgi_pass unix:/run/php/php7.2-fpm.sock;

Speichern und schließen Sie die Datei. Laden Sie dann Nginx neu, damit die Änderung wirksam wird.

sudo systemctl reload nginx

Wenn Sie die server-ip-address/info.php aktualisieren Seite sehen Sie, dass Nginx jetzt PHP7.2-FPM verwendet.

PHP7.1 kann mit PHP7.2 koexistieren. Wenn Sie PHP7.1 nicht verwenden möchten, können Sie es entfernen. Bitte beachten Sie, dass einige Webanwendungen wie NextCloud 12 möglicherweise nicht mit PHP7.2 kompatibel sind. In meinem Test läuft WordPress gut mit PHP7.2.

Herzlichen Glückwunsch! Sie haben Nginx, MariaDB und PHP7 erfolgreich auf Ubuntu 17.10 installiert. Zur Sicherheit Ihres Servers sollten Sie die Datei info.php jetzt löschen, um neugierige Blicke zu vermeiden.

sudo rm /usr/share/nginx/html/info.php

Das ist es! Ich hoffe, dieses Tutorial hat Ihnen geholfen, den LEMP-Stack unter Ubuntu 17.10 zu installieren . Wenn Sie diesen Beitrag nützlich fanden, abonnieren Sie wie immer unseren kostenlosen Newsletter, um weitere Tipps und Tricks zu erhalten.


Ubuntu
  1. So installieren Sie den LEMP-Stack unter Arch Linux

  2. So installieren Sie Nginx, MariaDB, PHP (LEMP Stack) unter Debian 11

  3. So installieren Sie LEMP auf Ubuntu 18.04

  4. So installieren Sie Magento 2.4 mit LEMP Stack auf Ubuntu 20.04

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

So installieren Sie LEMP unter Ubuntu 15.10

So installieren Sie LEMP auf Ubuntu 16.04

So installieren Sie den LAMP-Stack unter Ubuntu 17.10

So installieren Sie LAMP Stack auf Ubuntu 18.04 LTS

So installieren Sie den LEMP-Stack mit PhpMyAdmin in Ubuntu 20.04

Wie installiert man LEMP Stack (Nginx, MariaDB, PHP7.2) auf Ubuntu 18.04 LTS?