LEMP ist eine Sammlung von vier Open-Source-Softwarekomponenten, die zusammen verwendet werden, um eine Website im Internet zu hosten. Im LEMP-Stack steht L für das Linux-Betriebssystem, E für den Nginx-Webserver, M für den MariaDB/MySQL-Datenbankserver und P für die Programmiersprache PHP. Da alle Komponenten im LEMP-Stack Open Source sind, wird er in hochskalierten Anwendungen im gesamten Web verwendet.
In diesem Beitrag zeigen wir Ihnen, wie Sie einen LEMP-Stack auf Oracle Linux 8 installieren.
Voraussetzungen
- Ein Server, auf dem Oracle Linux 8 auf der Atlantic.Net Cloud Platform ausgeführt wird
- Ein auf Ihrem Server konfiguriertes Root-Passwort
Schritt 1 – Atlantic.Net Cloud-Server erstellen
Melden Sie sich zunächst bei Ihrem Atlantic.Net Cloud Server an. Erstellen Sie einen neuen Server und wählen Sie Oracle Linux 8 als Betriebssystem mit mindestens 2 GB RAM. Stellen Sie über SSH eine Verbindung zu Ihrem Cloud-Server her und melden Sie sich mit den oben auf der Seite hervorgehobenen Anmeldeinformationen an.
Sobald Sie sich bei Ihrem Server angemeldet haben, führen Sie den folgenden Befehl aus, um Ihr Basissystem mit den neuesten verfügbaren Paketen zu aktualisieren.
dnf update -y
Schritt 2 – Nginx-Webserver auf Oracle Linux 8 installieren
Nginx ist die erste Komponente des LEMP-Stacks. Standardmäßig ist das Nginx-Paket im Standard-Repository von Oracle Linux 8 enthalten. Sie können es mit dem folgenden Befehl installieren:
dnf install nginx -y
Starten Sie nach der Installation von Nginx den Nginx-Dienst und ermöglichen Sie ihm, beim Systemneustart zu starten.
systemctl start nginx systemctl enable nginx
Sie können den Status von Nginx auch mit dem folgenden Befehl überprüfen:
systemctl status nginx
Führen Sie den folgenden Befehl aus, um die Nginx-Version zu überprüfen:
nginx -v
Sie sollten die folgende Ausgabe sehen:
nginx version: nginx/1.14.1
Öffnen Sie nun Ihren Webbrowser und geben Sie die URL http://your-server-ip ein . Sie sollten die Nginx-Standardseite auf dem folgenden Bildschirm sehen:
Schritt 3 – Installieren Sie den MariaDB-Datenbankserver auf Oracle Linux 8
MariaDB ist ein Open-Source-Datenbankserver, der zum Speichern von Website-Inhalten verwendet wird. Standardmäßig ist MariaDB im Standard-Repository von Oracle Linux 8 enthalten. Sie können es mit dem folgenden Befehl installieren:
dnf install mariadb-server mariadb -y
Sobald MariaDB installiert ist, starten Sie den MariaDB-Dienst und ermöglichen Sie ihm, beim Systemneustart zu starten:
systemctl start mariadb systemctl enable mariadb
Sie können den Status von MariaDB mit dem folgenden Befehl überprüfen:
systemctl status mariadb
Sie erhalten den folgenden Befehl:
● mariadb.service - MariaDB 10.3 database server Loaded: loaded (/usr/lib/systemd/system/mariadb.service; disabled; vendor preset: disabled) Active: active (running) since Sat 2022-06-11 00:46:12 EDT; 6s ago Docs: man:mysqld(8) https://mariadb.com/kb/en/library/systemd/ Process: 27020 ExecStartPost=/usr/libexec/mysql-check-upgrade (code=exited, status=0/SUCCESS) Process: 26883 ExecStartPre=/usr/libexec/mysql-prepare-db-dir mariadb.service (code=exited, status=0/SUCCESS) Process: 26859 ExecStartPre=/usr/libexec/mysql-check-socket (code=exited, status=0/SUCCESS) Main PID: 26988 (mysqld) Status: "Taking your SQL requests now..." Tasks: 30 (limit: 11409) Memory: 80.0M CGroup: /system.slice/mariadb.service └─26988 /usr/libexec/mysqld --basedir=/usr
Sie können die MariaDB-Version auch mit dem folgenden Befehl überprüfen:
mysqladmin -V
Sie sollten die folgende Ausgabe sehen:
mysqladmin Ver 9.1 Distrib 10.3.32-MariaDB, for Linux on x86_64
Jetzt müssen Sie die MariaDB-Installation sichern. Sie können es mit dem folgenden Befehl sichern:
mysql_secure_installation
Sie werden aufgefordert, ein Root-Passwort festzulegen, wie unten gezeigt:
Enter current password for root (enter for none): 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 New password: Re-enter new password: Password updated successfully! Reloading privilege tables.. ... Success!
Als Nächstes werden Sie aufgefordert, anonyme Benutzer wie unten gezeigt zu entfernen:
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
Geben Sie J ein und drücken Sie die Eingabetaste. Sie werden aufgefordert, die Root-Anmeldung aus der Ferne zu verbieten:
... 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
Geben Sie Y ein und drücken Sie die Eingabetaste. Sie werden aufgefordert, die Testdatenbank zu entfernen:
... 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
Drücken Sie Y und drücken Sie die Eingabetaste. Sie werden aufgefordert, die Berechtigungstabelle neu zu laden:
- 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
Geben Sie Y ein und drücken Sie die Eingabetaste, um MariaDB zu sichern.
... 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!
Schritt 4 – PHP auf Oracle Linux 8 installieren
Sie können sie hinzufügen, indem Sie den folgenden Befehl ausführen:
dnf install epel-release -y dnf install dnf-utils http://rpms.remirepo.net/enterprise/remi-release-8.rpm
Listen Sie nun alle verfügbaren PHP-Versionen in der folgenden Ausgabe auf:
dnf module list php
Sie sehen alle verfügbaren PHP-Versionen in der folgenden Ausgabe:
Safe Remi's RPM repository for Enterprise Linux 8 - x86_64 1.8 MB/s | 2.1 MB 00:01 Oracle Linux 8 Application Stream (x86_64) Name Stream Profiles Summary php 7.2 [d][e] common [d], devel, minimal PHP scripting language php 7.3 common [d], devel, minimal PHP scripting language php 7.4 common [d], devel, minimal PHP scripting language php 8.0 common [d], devel, minimal PHP scripting language Remi's Modular repository for Enterprise Linux 8 - x86_64 Name Stream Profiles Summary php remi-7.2 common [d], devel, minimal PHP scripting language php remi-7.3 common [d], devel, minimal PHP scripting language php remi-7.4 common [d], devel, minimal PHP scripting language php remi-8.0 common [d], devel, minimal PHP scripting language php remi-8.1 common [d], devel, minimal PHP scripting language
Setzen Sie nun das Standard-PHP-Modul zurück und aktivieren Sie die PHP-Version 8.1 mit dem folgenden Befehl:
dnf module reset php dnf module enable php:remi-8.1
Als nächstes installieren Sie PHP mit anderen erforderlichen Erweiterungen mit dem folgenden Befehl:
dnf install php php-fpm php-gd php-mysqlnd php-cli php-opcache -y
Bearbeiten Sie als Nächstes die PHP-FPM-Standardkonfigurationsdatei und ändern Sie den Benutzer von Apache auf nginx:
nano /etc/php-fpm.d/www.conf
Ändern Sie die folgenden Zeilen:
user = nginx Group = nginx
Speichern und schließen Sie die Datei, starten Sie dann den PHP-FPM-Dienst und ermöglichen Sie ihm, beim Systemneustart zu starten:
systemctl start php-fpm systemctl enable php-fpm
Schritt 5 – Erstellen Sie eine Beispiel-Website mit Nginx
In diesem Abschnitt zeigen wir Ihnen, wie Sie eine einfache Website mit einem virtuellen Nginx-Host hosten. Erstellen Sie zunächst ein Verzeichnis zum Speichern von Website-Inhalten:
mkdir -p /var/www/html/website
Ändern Sie als Nächstes den Besitz und die Berechtigungen der Website mit dem folgenden Befehl:
chown -R nginx:nginx /var/www/html/website chmod -R 755 /var/www/html/website
Erstellen Sie als Nächstes eine einfache PHP-Seite mit dem folgenden Befehl:
nano /var/www/html/website/info.php
Fügen Sie den folgenden PHP-Code hinzu:
<?php phpinfo(); ?>
Speichern und schließen Sie die Datei und erstellen Sie dann eine Konfigurationsdatei für den virtuellen Nginx-Host:
nano /etc/nginx/conf.d/website.conf
Fügen Sie die folgenden Zeilen hinzu:
server { listen 80; server_name website.example.com; location / { root /var/www/html/website/; index info.php; try_files $uri $uri/ =404; } error_page 500 502 503 504 /50x.html; location = /50x.html { root /usr/share/nginx/html; } location ~ \.php$ { fastcgi_split_path_info ^(.+\.php)(/.+)$; fastcgi_pass unix:/run/php-fpm/www.sock; fastcgi_index info.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; } }
Speichern und schließen Sie die Datei und bearbeiten Sie dann die Hauptkonfigurationsdatei von Nginx:
nano /etc/nginx/nginx.conf
Fügen Sie die folgende Zeile nach der Zeile http {:
hinzuserver_names_hash_bucket_size 64;
Speichern und schließen Sie die Datei und überprüfen Sie dann die Nginx-Konfiguration mit dem folgenden Befehl:
nginx -t
Sie sollten die folgende Ausgabe sehen:
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok nginx: configuration file /etc/nginx/nginx.conf test is successful
Starten Sie als Nächstes den Nginx-Dienst neu, um die Konfiguration zu übernehmen:
systemctl restart nginx
Schritt 6 – Überprüfen Sie die Nginx-Website
Öffnen Sie nun Ihren Webbrowser und geben Sie die URL http://website.example.com ein . Sie sollten die PHP-Seite auf dem folgenden Bildschirm sehen:
Schlussfolgerung
In diesem Beitrag haben wir gelernt, wie man den LEMP-Server auf Oracle Linux 8 installiert. Sie können jetzt die virtuelle Nginx-Hosting-Funktion verwenden, um mehrere Websites auf einem einzigen Computer zu hosten. Probieren Sie es auf VPS-Hosting von Atlantic.Net aus!