Wie man Lighttpd mit PHP-FPM und MariaDB auf CentOS 8 installiert
Lighttpd ist ein Open-Source-Webserver, bei dem Einfachheit und hohe Leistung im Vordergrund standen. Es handelt sich um einen leichten Webserver mit kleinem und niedrigem Speicherverbrauch, der aber dennoch standardkonform, sicher und flexibel bleibt. Der Lighttpd Webserver ist ein Teil des LLMP-Stacks, was 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 Webserver Lighttpd mit dem Datenbankserver MariaDB und das PHP-FPM auf der neuesten Version des CentOS 8-Servers installieren.
Voraussetzungen
- CentOS 8-Server
- Root-Privilegien
- Grundlagen des CentOS-Servers verstehen
Was werden wir tun?
- Lighttpd Web-Server installieren
- MariaDB-Datenbankserver installieren
- PHP-FPM installieren
- Einrichtung von Lighttpd und PHP-FPM
- Testen
Schritt 1 – Lighttpd Web Server installieren
Zuerst werden wir das EPEL-Repository hinzufügen und den Lighttpd-Webserver auf unserem CentOS 8-System installieren. Standardmäßig ist Lighttpd auf dem EPEL (Extract Packages for Enterprise Linux)-Repository verfügbar.
Fügen Sie das EPEL-Repository mit dem unten stehenden DNF-Befehl zum CentOS 8-System hinzu.
sudo dnf install epel-release
Danach überprüfen Sie alle verfügbaren Repositories mit dem folgenden Befehl.
dnf repolist
Stellen Sie nun sicher, dass Sie das EPEL-Repository über das Ergebnis erhalten.
Als nächstes installieren Sie 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 ihn dem 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 ist das Ergebnis, das Sie erhalten werden.
Infolgedessen ist der Lighttpd-Dienst auf dem CentOS 8-System einsatzbereit.
Als Nächstes fügen Sie den HTTP-Dienst zur Firewall-Regelliste hinzu, indem Sie den nachstehenden Befehl ‚firewall-cmd‘ verwenden.
firewall-cmd --add-service=http --permanent firewall-cmd --reload
Öffnen Sie nun Ihren Webbrowser und geben Sie die IP-Adresse des Servers in die Adressleiste ein.
Als Ergebnis erhalten Sie die Standardeinstellung ‚index.html‘ des Lighttpd Webservers.
Schritt 2 – MariaDB-Datenbankserver 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 untenstehenden dnf-Befehl aus.
sudo dnf install mariadb-server -y
Wenn die gesamte Installation abgeschlossen ist, starten Sie den MariaDB-Dienst und fügen ihn dem Systemstart hinzu.
systemctl start mariadb systemctl enable mariadb
Überprüfen Sie nun den MariaDB-Dienst mit dem folgenden Befehl.
systemctl status mariadb
Unten ist das Ergebnis, das Sie erhalten werden.
Als Ergebnis ist der MariaDB-Dienst auf dem CentOS 8-System einsatzbereit.
Als nächstes führen Sie den unten stehenden Befehl ‚mysql_secure_installation‘ aus, um das Standard-Root-Passwort einzurichten.
mysql_secure_installation
Geben Sie nun das neue Passwort für Ihren MariaDB-Server und ‚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.
Als nächstes loggen Sie sich mit dem Standard-Root-Benutzer und Ihrem Passwort in die MySQL-Shell ein.
mysql -u root -p
Nachdem Sie sich angemeldet haben, überprüfen Sie alle verfügbaren Benutzer auf dem MariaDB-Server mit Hilfe der 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 wurde die Installation und Konfiguration des MariaDB-Datenbankservers auf dem CentOS 8-System abgeschlossen.
Schritt 3 – Installieren und Konfigurieren von PHP-FPM
Für diesen Schritt werden wir den Webserver PHP-FPM für Lighttpd installieren und konfigurieren.
Installieren Sie die PHP- und PHP-FPM-Pakete mit dem Befehl dnf (siehe unten).
sudo dnf install php php-fpm lighttpd-fastcgi php-mysqlnd php-pdo php-gd php-mbstring
Sobald die Installation abgeschlossen ist, editieren Sie die Konfiguration ‚/etc/php-fpm.d/wwww.conf‘ mit dem vim-Editor.
vim /etc/php-fpm.d/www.conf
Ändern Sie den Standardwert für ‚Benutzer‘ und ‚Gruppe‘ wie unten angegeben in Lighttpd.
user = lighttpd group = lighttpd
Ändern Sie den standardmäßigen PHP-FPM-Listener unter Verwendung der lokalen IP-Adresse mit Port ‚9000‘.
listen = 127.0.0.1:9000
Speichern und schließen.
Als nächstes bearbeiten Sie die PHP-Konfiguration ‚/etc/php.ini‘ mit dem Editor vim.
vim /etc/php.ini
Entkommentieren Sie die folgende Zeile, um Unterstützung mit der PHP-CGI für den Lighttpd Webserver zu erhalten.
cgi.fix_pathinfo=1
Speichern und schließen.
Als nächstes starten Sie den PHP-FPM-Dienst und fügen ihn dem Systemstart hinzu.
systemctl start php-fpm systemctl enable php-fpm
Der PHP-FPM-Dienst ist eingerichtet und läuft, überprüfen Sie dies mit dem folgenden Befehl.
ss -plnt systemctl status php-fpm
Unten ist das Ergebnis, das Sie erhalten werden.
Als Ergebnis ist das PHP-FPM auf dem CentOS 8-Server mit der lokalen IP-Adresse und dem Port ‚9000‘ einsatzbereit.
Schritt 4 – Einrichtung von Lighttpd und PHP-FPM
In diesem Schritt werden wir den Lighttpd so konfigurieren, dass er mit unserer PHP-FPM-Installation funktioniert.
Standardmäßig kann der Lighttpd auf zwei Arten verwendet werden, um PHP-Webanwendungen zu bedienen:
- Dienen durch PHP-FPM-Dienst
- Dienen durch selbst laichendes PHP-CI
Dazu müssen wir das FastCGI-Modul auf dem Lighttpd-Webserver aktivieren und unsere Konfiguration in die Konfigurationsdatei des FastCGI-Moduls einfügen.
– FastCGI-Modul aktivieren
Bevor Sie weitermachen, gehen Sie in das Verzeichnis ‚/etc/lighttpd/‘ und editieren Sie die Konfiguration ‚modules.conf‘ mit dem Editor vim.
cd /etc/lighttpd/ vim modules.conf
Kommentieren Sie das ‚FastCGI‘-Modul wie unten beschrieben aus.
## ## FastCGI (mod_fastcgi) ## include "conf.d/fastcgi.conf"
Speichern und schließen.
Als nächstes müssen wir unsere PHP-Konfiguration in die Konfigurationsdatei ‚conf.d/fastcgi.conf‘ einfügen.
Innerhalb des Verzeichnisses ‚/etc/lighttpd‘ editieren Sie die FastCGI-Konfiguration ‚conf.d/fastcgi.conf‘ mit dem Editor vim.
vim conf.d/fastcgi.conf
– Verwendung mit PHP-FPM-Dienst
Wenn Sie den PHP-FPM-Dienst verwenden möchten, der bereits auf der lokalen IP-Adresse mit TCP-Port ‚9000‘ läuft, fügen Sie die folgende Konfiguration ein.
fastcgi.server += ( ".php" => (( "host" => "127.0.0.1", "port" => "9000", "broken-scriptfilename" => "enable" )) )
Speichern und schließen.
– Selbst-erscheinenden PHP-Dienst benutzen
Wenn Sie als Nächstes die selbsterstellte PHP-CGI für Lighttpd verwenden möchten, fügen Sie die folgende Konfiguration in diese 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.
Legen Sie als nächstes ein neues Verzeichnis ‚/var/run/lighttpd‘ an und ändern Sie den Besitzer 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 anzuwenden.
systemctl restart lighttpd
Stellen Sie sicher, dass kein Fehler vorliegt und dass die Konfiguration von Lighttpd mit dem PHP-FPM-Dienst oder unter Verwendung von spawning PHP-CGI erfolgreich abgeschlossen wurde.
Schritt 5 – Testen
Um unsere LLMP-Installation zu testen, werden wir eine neue phpinfo-Datei im Standard-Lighttpd-Dokument-Root-Verzeichnis erstellen.
Gehen Sie in das Verzeichnis ‚/var/www/lighttpd‘ und erzeugen Sie eine neue php-Datei ‚info.php‘ mit dem Editor vim.
cd /var/www/lighttpd/ vim info.php
Fügen Sie das folgende Skript in den Stack ein.
<?php phpinfo(); ?>
Speichern und schließen.
Öffnen Sie als nächstes Ihren Webbrowser und geben Sie die IP-Adresse des Servers gefolgt von der Datei ‚info.php‘ wie unten beschrieben ein.
Nun erhalten Sie das Ergebnis wie unten dargestellt.
Wie Sie sehen können, arbeitet das PHP-FPM mit dem Lighttpd Webserver zusammen.
Daher wurde die Installation des LLMP-Stacks (Linux, Lighttpd, MariaDB und PHP-FPM) auf dem CentOS 8 Server erfolgreich abgeschlossen.
Schritt 6 – Zusätzlich: Überprüfung der PHP- und Lighttpd-Dienste
Wenn Sie den Lighttpd mit „slef-spawned“ PHP-Dienst unter Verwendung 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 werden.
Wie zu sehen ist, läuft der selbstgesponnene PHP-Prozess unter einer 4-Socket-Datei. Auch wenn der PHP-FPM-Dienst ausgefallen ist, arbeitet der Lighttpd immer noch für die Verarbeitung von PHP-Anwendungen.