Lighttpd ist ein Open-Source-Webserver, der sich auf Einfachheit und hohe Leistung konzentriert. Es ist ein leichter Webserver mit kleinem und geringem Speicherverbrauch, der aber dennoch standardkonform, sicher und flexibel bleibt. Der Lighttpd-Webserver ist Teil des LLMP-Stacks, der für Linux, Lighttpd, MySQL/MariaDB und PHP/PHP-FPM steht.
In diesem Tutorial zeigen wir Ihnen, wie Sie den LLMP-Stack auf dem CentOS 8-Server installieren und konfigurieren. Wir werden den Lighttpd-Webserver mit dem MariaDB-Datenbankserver und das PHP-FPM auf der neuesten Version des CentOS 8-Servers installieren.
Voraussetzungen
- CentOS 8-Server
- Root-Rechte
- Grundlegendes zu CentOS Server
Was werden wir tun?
- Lighttpd-Webserver installieren
- MariaDB-Datenbankserver installieren
- Installieren Sie PHP-FPM
- Lighttpd und PHP-FPM einrichten
- Testen
Schritt 1 - Lighttpd-Webserver installieren
Zuerst werden wir das EPEL-Repository hinzufügen und den Lighttpd-Webserver auf unserem CentOS 8-System installieren. Standardmäßig ist Lighttpd im EPEL-Repository (Extract Packages for Enterprise Linux) verfügbar.
Fügen Sie das EPEL-Repository mit dem folgenden DNF-Befehl zum CentOS 8-System hinzu.
sudo dnf install epel-release
Überprüfen Sie danach alle verfügbaren Repositories mit dem folgenden Befehl.
dnf repolist
Stellen Sie nun sicher, dass Sie das EPEL-Repository über das Ergebnis erhalten.
Installieren Sie als Nächstes Lighttpd-Pakete mit dem folgenden Befehl.
sudo dnf install lighttpd -y
Sobald die gesamte Installation abgeschlossen ist, starten Sie den Lighttpd-Dienst und fügen Sie ihn zum Systemstart hinzu.
systemctl start lighttpd
systemctl enable lighttpd
Überprüfen Sie nun den Status des Lighttpd-Dienstes mit dem folgenden Befehl.
systemctl status lighttpd
Unten sehen Sie das Ergebnis, das Sie erhalten.
Infolgedessen ist der Lighttpd-Dienst auf dem CentOS 8-System betriebsbereit.
Fügen Sie als Nächstes den HTTP-Dienst mit dem Befehl „firewall-cmd“ unten zur Liste der Firewalld-Regeln hinzu.
firewall-cmd --add-service=http --permanent
firewall-cmd --reload
Öffnen Sie nun Ihren Webbrowser und geben Sie die Server-IP-Adresse in die Adressleiste ein.
http://192.168.1.50/
Als Ergebnis erhalten Sie die standardmäßige „index.html“ des Lighttpd-Webservers.
Schritt 2 – MariaDB Database Server installieren
In diesem Schritt installieren wir den MariaDB-Datenbankserver und richten das Standard-Root-Passwort für den MariaDB-Server ein.
Um den MariaDB-Datenbankserver zu installieren, führen Sie den folgenden dnf-Befehl aus.
sudo dnf install mariadb-server -y
Sobald die gesamte Installation abgeschlossen ist, starten Sie den MariaDB-Dienst und fügen Sie ihn zum Systemstart hinzu.
systemctl start mariadb
systemctl enable mariadb
Überprüfen Sie nun den MariaDB-Dienst mit dem folgenden Befehl.
systemctl status mariadb
Unten sehen Sie das Ergebnis, das Sie erhalten.
Infolgedessen ist der MariaDB-Dienst auf dem CentOS 8-System betriebsbereit.
Führen Sie als Nächstes den Befehl „mysql_secure_installation“ unten aus, um das Standard-Root-Passwort einzurichten.
mysql_secure_installation
Geben Sie nun das neue Passwort für Ihren MariaDB-Server ein und geben Sie „Y“ für alle Konfigurationen ein.
Enter current password for root (enter for none):
OK, successfully used password, moving on...
Set a root password? [Y/n] Y
Remove anonymous users? [Y/n] Y
Disallow root login remotely? [Y/n] Y
Remove test database and access to it? [Y/n] Y
Reload privilege tables now? [Y/n] Y
Und das MariaDB-Root-Passwort wurde konfiguriert.
Melden Sie sich als Nächstes mit dem Standard-Root-Benutzer und Ihrem Passwort bei der MySQL-Shell an.
mysql -u root -p
Überprüfen Sie nach der Anmeldung alle verfügbaren Benutzer auf dem MariaDB-Server mit den folgenden Abfragen.
select User,Host from mysql.user;
Und Sie erhalten alle Standardbenutzer für den MySQL-Server. Geben Sie nun „exit“ ein, um sich von der MySQL-Shell abzumelden.
Als Ergebnis sind die Installation und Konfiguration des MariaDB-Datenbankservers auf dem CentOS 8-System abgeschlossen.
Schritt 3 – PHP-FPM installieren und konfigurieren
Für diesen Schritt installieren und konfigurieren wir den PHP-FPM für den Lighttpd-Webserver.
Installieren Sie PHP- und PHP-FPM-Pakete mit dem folgenden dnf-Befehl.
sudo dnf install php php-fpm lighttpd-fastcgi php-mysqlnd php-pdo php-gd php-mbstring
Sobald die gesamte Installation abgeschlossen ist, bearbeiten Sie die Konfiguration „/etc/php-fpm.d/www.conf“ mit dem vim-Editor.
vim /etc/php-fpm.d/www.conf
Ändern Sie den standardmäßigen „Benutzer“ und die „Gruppe“ wie unten beschrieben in Lighttpd.
user = lighttpd
group = lighttpd
Ändern Sie die standardmäßige PHP-FPM-Überwachung unter Verwendung der lokalen IP-Adresse mit Port „9000“.
listen = 127.0.0.1:9000
Speichern und schließen.
Bearbeiten Sie als Nächstes die PHP-Konfiguration „/etc/php.ini“ mit dem vim-Editor.
vim /etc/php.ini
Kommentieren Sie die folgende Zeile aus, um Unterstützung für das PHP-CGI für den Lighttpd-Webserver zu erhalten.
cgi.fix_pathinfo=1
Speichern und schließen.
Starten Sie als Nächstes den PHP-FPM-Dienst und fügen Sie ihn zum Systemstart hinzu.
systemctl start php-fpm
systemctl enable php-fpm
Der PHP-FPM-Dienst ist aktiv und läuft, überprüfen Sie dies mit dem folgenden Befehl.
ss -plnt
systemctl status php-fpm
Unten sehen Sie das Ergebnis, das Sie erhalten.
Als Ergebnis läuft das PHP-FPM auf dem CentOS 8-Server mit der lokalen IP-Adresse und dem Port „9000“.
Schritt 4 – Lighttpd und PHP-FPM einrichten
In diesem Schritt konfigurieren wir Lighttpd so, dass es mit unserer PHP-FPM-Installation funktioniert.
Standardmäßig kann Lighttpd verwendet werden, um PHP-Webanwendungen auf zwei Arten bereitzustellen:
- Bereitstellung über den PHP-FPM-Dienst
- Bereitstellung durch selbsterzeugendes PHP-CI
Dazu müssen wir das FastCGI-Modul auf dem Lighttpd-Webserver aktivieren und unsere Konfiguration zur Konfigurationsdatei des FastCGI-Moduls hinzufügen.
- FastCGI-Modul aktivieren
Bevor Sie fortfahren, gehen Sie in das Verzeichnis „/etc/lightpd/“ und bearbeiten Sie die Konfiguration „modules.conf“ mit dem vim-Editor.
cd /etc/lighttpd/
vim modules.conf
Entkommentieren Sie das 'FastCGI'-Modul wie unten.
##
## FastCGI (mod_fastcgi)
##
include "conf.d/fastcgi.conf"
Speichern und schließen.
Als nächstes müssen wir unsere PHP-Konfiguration zur Konfigurationsdatei ‚conf.d/fastcgi.conf‘ hinzufügen.
Bearbeiten Sie im Verzeichnis „/etc/lighttpd“ die FastCGI-Konfiguration „conf.d/fastcgi.conf“ mit dem vim-Editor.
vim conf.d/fastcgi.conf
- Verwendung mit dem PHP-FPM-Dienst
Wenn Sie den PHP-FPM-Dienst verwenden möchten, der bereits auf der lokalen IP-Adresse mit dem TCP-Port „9000“ ausgeführt wird, fügen Sie die folgende Konfiguration ein.
fastcgi.server += ( ".php" =>
((
"host" => "127.0.0.1",
"port" => "9000",
"broken-scriptfilename" => "enable"
))
)
Speichern und schließen.
- Verwenden des Self-Spawning-PHP-Dienstes
Wenn Sie als Nächstes das selbsterzeugende PHP-CGI für Lighttpd verwenden möchten, fügen Sie die folgende Konfiguration ein.
fastcgi.server = ( ".php" =>
((
"bin-path" => "/usr/bin/php-cgi",
"socket" => "/var/run/lighttpd/php.socket",
"max-procs" => 4,
"bin-environment" => (
"PHP_FCGI_CHILDREN" => "",
"PHP_FCGI_MAX_REQUESTS" => "500"
),
"broken-scriptfilename" => "enable"
))
)
Speichern und schließen.
Erstellen Sie als Nächstes ein neues Verzeichnis „/var/run/lighttpd“ und ändern Sie den Besitz dieses Verzeichnisses auf den Benutzer „lighttpd“.
mkdir -p /var/run/lighttpd
sudo chown -R lighttpd:lighttpd /var/run/lighttpd
Starten Sie nun den Lighttpd-Dienst neu, um die neue Konfiguration zu übernehmen.
systemctl restart lighttpd
Stellen Sie sicher, dass kein Fehler vorliegt und die Konfiguration von Lighttpd mit dem PHP-FPM-Dienst oder der Verwendung von Spawning PHP-CGI erfolgreich abgeschlossen wurde.
Schritt 5 – Testen
Um unsere LLMP-Installation zu testen, erstellen wir eine neue phpinfo-Datei im standardmäßigen Lighttpd Document Root-Verzeichnis.
Gehen Sie in das Verzeichnis „/var/www/lighttpd“ und erstellen Sie eine neue PHP-Datei „info.php“ mit dem vim-Editor.
cd /var/www/lighttpd/
vim info.php
Fügen Sie das folgende Skript darin ein.
<?php
phpinfo();
?>
Speichern und schließen.
Öffnen Sie als Nächstes Ihren Webbrowser und geben Sie die Server-IP-Adresse gefolgt von der Datei „info.php“ wie unten beschrieben ein.
http://192.168.1.50/info.php
Jetzt erhalten Sie das Ergebnis wie unten.
Wie man sieht, arbeitet das PHP-FPM mit dem Lighttpd-Webserver zusammen.
Als Ergebnis wurde die Installation des LLMP-Stacks (Linux, Lighttpd, MariaDB und PHP-FPM) auf dem CentOS 8-Server erfolgreich abgeschlossen.
Schritt 6 – Zusätzlich:PHP- und Lighttpd-Dienste prüfen
Wenn Sie den Lighttpd mit slef-erzeugtem PHP-Dienst mit der folgenden Konfiguration ausführen.
Sie können den PHP-Dienst mit dem folgenden Befehl überprüfen.
ss -pl | grep php
systemctl status php-fpm
Unten sehen Sie das Ergebnis, das Sie erhalten.
Wie zu sehen ist, läuft der selbst erstellte PHP-Prozess unter einer 4-Socket-Datei. Auch wenn der PHP-FPM-Dienst ausgefallen ist, arbeitet Lighttpd immer noch für die Verarbeitung von PHP-Anwendungen.