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

So installieren Sie Linux, Nginx, MySQL, PHP (LEMP Stack) in Ubuntu 18.04

LEMP-Stack steht für Linux-, Nginx-, MariaDB- und PHP-Stack und wird häufig zum Hosten von Websites/Blogs verwendet.

Hier sehen wir, wie man LEMP Stack auf Ubuntu 18.04 mit PHP-Unterstützung (über PHP-FPM) und Datenbankunterstützung (MariaDB) installiert.

LEMP-Stack installieren

Linux installieren

Hier ist das Tutorial zur schrittweisen Installation von Ubuntu 18.04 und zum Upgrade von Ubuntu 16.04 und Ubuntu 17.10 auf Ubuntu 18.04.

Fahren Sie mit der Installation von EMP (Nginx-Version 1.17.2, PHP-Version 7.2, MariaDB-Version 10.1.40) auf Ubuntu 18.04 fort.

Installieren Sie Nginx

Nginx ist ein kostenloser, leistungsstarker Open-Source-HTTP-Webserver und bekannt für seine Stabilität, einfache Konfiguration und geringen Ressourcenverbrauch.

Repository-Index aktualisieren.

sudo apt update

Installieren Sie die folgenden Pakete.

sudo apt install -y wget gnupg2 ca-certificates

Laden Sie den Nginx-Repository-Signaturschlüssel von der offiziellen Website herunter.

wget http://nginx.org/keys/nginx_signing.key

Fügen Sie den öffentlichen Nginx-Schlüssel zum System hinzu.

sudo apt-key add nginx_signing.key

Nginx-Repository zu Ihrem System hinzufügen.

echo "deb [arch=amd64] http://nginx.org/packages/mainline/ubuntu bionic nginx" | sudo tee /etc/apt/sources.list.d/nginx.list

Installieren Sie das Nginx-Paket mit dem folgenden Befehl.

sudo apt update

sudo apt install -y nginx

Starten Sie den Nginx-Dienst nach der Installation.

sudo systemctl start nginx

Öffnen Sie einen Webbrowser und rufen Sie die folgende URL auf.

http://ihre-ip-adresse

Sie sollten die Nginx-Standardseite sehen, und dies bestätigt Ihnen, dass Nginx erfolgreich auf dem Server installiert wurde.

Das standardmäßige Dokumentenstammverzeichnis von Nginx unter Ubuntu 18.04 ist /usr/share/nginx/html/ und die Konfigurationsdateien befinden sich im Verzeichnis /etc/nginx/.

Nginx beim Systemstart automatisch starten.

sudo systemctl enable nginx

MariaDB-Server installieren

Installieren Sie den MariaDB-Server, indem Sie den folgenden Befehl ausführen.

Standardmäßig enthält Ubuntu 18.04 MariaDB v10.1, das etwas älter ist als die Version, die im offiziellen MariaDB-Repository (v10.4) verfügbar ist. Sie können MariaDB v10.4 installieren, indem Sie die Schritte in der folgenden URL ausführen.

So installieren Sie MariaDB auf Ubuntu 18.04

sudo apt install -y mariadb-server mariadb-client

Als nächstes sichern Sie den MariaDB-Server mit dem Befehl mysql_secure_installation.

mysql_secure_installation

Ausgabe:

NOTE: RUNNING ALL PARTS OF THIS SCRIPT IS RECOMMENDED FOR ALL MariaDB
      SERVERS IN PRODUCTION USE!  PLEASE READ EACH STEP CAREFULLY!

In order to log into MariaDB to secure it, we'll need the current
password for the root user.  If you've just installed MariaDB, and
you haven't set the root password yet, the password will be blank,
so you should just press enter here.

Enter current password for root (enter for none):  << No root password. Just press Enter
OK, successfully used password, moving on...

Setting the root password ensures that nobody can log into the MariaDB
root user without the proper authorisation.

Set root password? [Y/n] Y  << Set MariaDB root password
New password:   << Enter root password
Re-enter new password:   << Re-enter root password
Password updated successfully!
Reloading privilege tables..
 ... Success!


By default, a MariaDB installation has an anonymous user, allowing anyone
to log into MariaDB without having to have a user account created for
them.  This is intended only for testing, and to make the installation
go a bit smoother.  You should remove them before moving into a
production environment.

Remove anonymous users? [Y/n] Y  << Remove anonymous users
 ... Success!

Normally, root should only be allowed to connect from 'localhost'.  This
ensures that someone cannot guess at the root password from the network.

Disallow root login remotely? [Y/n] Y  << Disallow root login remotely
 ... Success!

By default, MariaDB comes with a database named 'test' that anyone can
access.  This is also intended only for testing, and should be removed
before moving into a production environment.

Remove test database and access to it? [Y/n] Y  << Remove test database
 - Dropping test database...
 ... Success!
 - Removing privileges on test database...
 ... Success!

Reloading the privilege tables will ensure that all changes made so far
will take effect immediately.

Reload privilege tables now? [Y/n] Y  << Reload privilege
 ... Success!

Cleaning up...

All done!  If you've completed all of the above steps, your MariaDB
installation should now be secure.

Thanks for using MariaDB!

Installieren Sie PHP-FPM

Installieren Sie PHP über PHP-FPM (PHP-FastCGI Process Manager), eine alternative PHP FastCGI-Implementierung. Es bietet zusätzliche Funktionen, die für größere Websites nützlich sind.

Standardmäßig enthält Ubuntu 18.04 PHP-FPM v7.2. Sie können PHP-FPM v7.3 auch installieren, indem Sie die Schritte in der folgenden URL ausführen.

So installieren Sie PHP 7.3 auf Ubuntu 18.04

Installieren Sie php-fpm mit dem folgenden Befehl.

sudo apt install -y php-fpm php-mysql php-cli

PHP-FPM lauscht standardmäßig auf dem Socket /run/php/php7.2-fpm.sock.

Um PHP-FPM zur Verwendung der TCP-Verbindung zu veranlassen, bearbeiten Sie die folgende Datei.

sudo nano /etc/php/7.2/fpm/pool.d/www.conf

Ändern Sie dann den Listen-Parameter.

VON:

listen = /run/php/php7.2-fpm.sock

AN:

listen = 127.0.0.1:9000

Starten Sie den PHP-FPM-Prozess neu und aktivieren Sie ihn so, dass er beim Systemstart automatisch gestartet wird.

sudo systemctl restart php7.2-fpm

sudo systemctl enable php7.2-fpm

LEMP-Stack testen

Lassen Sie uns für die folgenden Details einen namensbasierten virtuellen Host auf dem Nginx-Server erstellen.

Domainname: web.itzgeek.local
Dokumentstamm: /usr/share/nginx/html/web.itzgeek.local

Erstellen Sie zunächst eine virtuelle Host-Konfigurationsdatei für unsere Domain im Verzeichnis /etc/nginx/conf.d/.

sudo nano /etc/nginx/conf.d/web.itzgeek.local.conf

Fügen Sie den folgenden Inhalt hinzu.

server {
   server_name web.itzgeek.local;
   root /usr/share/nginx/html/web.itzgeek.local;

   location / {
       index index.html index.htm index.php;
   }

   location ~ \.php$ {
      include        /etc/nginx/fastcgi_params;
      fastcgi_pass   127.0.0.1:9000;
      fastcgi_index  index.php;
      fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
   }
}

Erstellen Sie das Root-Verzeichnis für unseren virtuellen Host.

sudo mkdir -p /usr/share/nginx/html/web.itzgeek.local

Platzieren Sie zum Testen der PHP-FPM-Unterstützung eine PHP-Datei im Dokumentenstamm des erstellten virtuellen Hosts.

echo "<?php phpinfo(); ?>" | sudo tee /usr/share/nginx/html/web.itzgeek.local/index.php

Aktualisieren Sie die Berechtigung der Datei.

sudo chown -R www-data:www-data /usr/share/nginx/html/web.itzgeek.local/

Starten Sie die Dienste neu.

sudo systemctl restart nginx

sudo systemctl restart php7.2-fpm

Erstellen Sie einen Hosteintrag für Ihre Domain (web.itzgeek.local) in der Datei /etc/hosts, falls Ihre Umgebung keinen DNS-Server für die Namensauflösung hat.

nano /etc/hosts

Fügen Sie einen Host-Eintrag hinzu, der wie unten aussieht.

192.168.1.10        web.itzgeek.local web

Öffnen Sie Ihren Webbrowser und geben Sie Ihren Domainnamen in die Webadresse ein.

http://web.itzgeek.local

Die Seite sieht wie folgt aus:

Aus dem obigen Screenshot geht hervor, dass PHP über FPM/FastCGI arbeitet , wie in der Server-API-Zeile gezeigt.

Wenn Sie die Seite weiter nach unten scrollen, sehen Sie die Unterstützung von MariaDB.

Schlussfolgerung

Das ist alles. Ich hoffe, Sie haben gelernt, wie man den LEMP-Stack unter Ubuntu 18.04 installiert. Erwägen Sie, ein SSL-Zertifikat von Let’s Encrypt für Ihre Website zu installieren, um die Sicherheit zu verbessern. Bitte teilen Sie uns Ihr Feedback im Kommentarbereich mit.


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

  2. So installieren Sie Linux, Nginx, MariaDB, PHP (LEMP Stack) in CentOS 7 / RHEL 7

  3. So installieren Sie LEMP Stack Nginx, MySQL, PHP unter Debian 11

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

  5. So installieren Sie den LEMP-Stack unter Ubuntu 18.04

So installieren Sie Linux, Apache, MariaDB, PHP (LAMP Stack) unter Ubuntu 18.04

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 den LEMP-Stack (Nginx, MariaDB, PHP7.1) unter Ubuntu 17.10

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

So installieren Sie LEMP (Linux, Nginx, MySQL, PHP) auf einem Ubuntu 14.04 LTS Cloud Server