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-adresseSie 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.localDie 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.