Wie installiert man Lighttpd mit PHP-FPM und MySQL auf Ubuntu 20.04 LTS

Lighttpd ist ein Open-Source-Webserver, der auf Einfachheit und hohe Leistung ausgerichtet ist. Es ist ein leichter Webserver mit kleinem und niedrigem Speicherverbrauch, aber dennoch standardkonform, sicher und flexibel. Der Lighttpd-Webserver ist ein 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 Ubuntu 20.04 Server installieren und konfigurieren. Wir werden den Lighttpd-Webserver mit dem MariaDB-Datenbankserver und dem PHP-FPM auf der neuesten Version des Ubuntu 20.04-Servers installieren.

Vorraussetzungen

  • Ubuntu 20.04-Server
  • Root-Privilegien
  • Die Grundlagen von Ubuntu/Debian Server verstehen

Was werden wir tun?

  • Lighttpd Web-Server installieren
  • Installieren und Konfigurieren des MariaDB-Datenbankservers
  • Installieren und Konfigurieren von PHP-FPM
  • Lighttpd und PHP-FPM einrichten
  • Testen

Schritt 1 – Lighttpd installieren

Zuerst werden wir den Lighttpd Webserver auf unserem Ubuntu 20.04 Server installieren. Die Lighttpd-Pakete sind standardmäßig auf dem Ubuntu-Repository verfügbar, aktualisieren alle verfügbaren Repositories und installieren Lighttpd mit dem untenstehenden apt-Befehl.

sudo apt update
sudo apt install lighttpd

Wenn die gesamte Installation abgeschlossen ist, starten Sie den Lighttpd-Dienst und fügen ihn dem Systemstart hinzu.

systemctl start lighttpd
systemctl enable lighttpd

Der Lighttpd-Dienst ist einsatzbereit und läuft, überprüfen Sie ihn mit dem folgenden Befehl.

systemctl status lighttpd

Unten finden Sie das Ergebnis, das Sie erhalten werden.

Lighttpd Webserver-Dienst starten

Fügen Sie als nächstes die HTTP-, HTTPS- und SSH-Dienste zur ufw-Firewall hinzu.

sudo ufw allow ssh
sudo ufw allow http
sudo ufw allow https

Aktivieren Sie den ufw-Firewall-Dienst mit dem unten stehenden Befehl.

sudo ufw enable

Geben Sie ‚y‚ ein, um die ufw-Firewall zu aktivieren, und als Ergebnis haben Sie die Firewall auf dem Ubuntu-System aktiviert.

ufw-Firewall offene http- und https-Ports

Öffnen Sie nun Ihren Webbrowser und geben Sie die IP-Adresse des Servers in die Adressleiste ein.

http://10.3.3.40/

Und Sie erhalten die Lighttpd-Standardseite index.html.

Lighttpd-Standard Index.hmtl

Infolgedessen wurde der Lighttpd Webserver auf dem Ubuntu 20.04 System installiert.

Schritt 2 – Installieren und Konfigurieren des MySQL-Servers

In diesem Schritt installieren wir den MySQL-Datenbankserver und richten den Standard-Root-Benutzer für MySQL ein.

Installieren Sie den MySQL-Server mit dem folgenden apt-Befehl.

sudo apt install mysql-server mysql-client

Wenn die gesamte Installation abgeschlossen ist, starten Sie den MySQL-Dienst und fügen ihn zum Systemstart hinzu.

systemctl start mysql
systemctl enable mysql

Überprüfen Sie nun den MySQL-Dienst mit dem folgenden Befehl.

systemctl status mysql

Unten sehen Sie das Ergebnis, das Sie erhalten werden.

MySQL-Dienst starten

Das Ergebnis ist, dass der MySQL-Datenbankserver auf dem Ubuntu-System läuft.

Als nächstes führen Sie den unten stehenden Befehl ‚mysql_secure_installation‘ aus, um das MySQL-Root-Passwort einzurichten.

mysql_secure_installation

Drücken Sie die ‚Enter‚-Taste, um fortzufahren, geben Sie Ihr neues Passwort für den MySQL-Root-Benutzer ein, und geben Sie ‚Y‘ für alle Optionen ein.

Press y|Y for Yes, any other key for No: 
Please set the password for root here.

New password:
Re-enter new password:

Remove anonymous users? (Press y|Y for Yes, any other key for No) : Y
Disallow root login remotely? (Press y|Y for Yes, any other key for No) : Y
Remove test database and access to it? (Press y|Y for Yes, any other key for No) : Y
Reload privilege tables now? (Press y|Y for Yes, any other key for No) : Y

Infolgedessen wurde das MySQL-Root-Passwort konfiguriert.

Als nächstes loggen Sie sich mit dem unten angegebenen Root-Benutzer in die MySQL-Shell ein.

mysql -u root -p

Überprüfen Sie nun alle verfügbaren Benutzer auf MySQL mit der folgenden Abfrage.

select User,Host from mysql.user;

Und Sie erhalten eine Liste der Standardbenutzer auf dem MySQL Server. Geben Sie nun ‚exit‘ ein, um sich von der MySQL-Shell abzumelden.

MySQL Check Benutzer

Infolgedessen wurde die Installation und Konfiguration von MySQL Server für den LLMP-Stack erfolgreich abgeschlossen.

Schritt 3 – Installieren und Konfigurieren von PHP-FPM

In diesem Schritt werden wir PHP-FPM-Pakete installieren und so konfigurieren, dass sie mit dem Lighttpd-Webserver funktionieren.

Installieren Sie PHP-FPM-Pakete auf dem Ubuntu-System mit dem folgenden apt-Befehl.

sudo apt install php-fpm php-cgi php-mysql

Der Befehl installiert automatisch das neueste PHP-FPM 7.4.

Wenn die gesamte Installation abgeschlossen ist, gehen Sie in das Verzeichnis ‚/etc/php/7.4/fpm‘ und editieren Sie die Konfiguration ‚php.ini‘ mit dem Editor vim.

cd /etc/php/7.4/fpm/
vim php.ini

Unkommentieren Sie die folgende Zeile, um die FastCGI-Unterstützung zu aktivieren.

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 php7.4-fpm
systemctl enable php7.4-fpm

PHP-FPM konfigurieren

Überprüfen Sie nun den PHP-FPM-Dienst mit dem folgenden Befehl.

ss -pl | grep php
systemctl status php7.4-fpm

Unten sehen Sie das Ergebnis, das Sie erhalten werden.

PHP-FPM-Dienst prüfen

Wie Sie sehen können, ist der PHP-FPM-Dienst auf dem Ubuntu 20.04-System einsatzbereit. Und standardmäßig läuft er unter der Sock-Datei ‚/var/run/php/php7.4-fpm.sock‘.

Und die Installation von PHP-FPM auf ubuntu 20.04 ist abgeschlossen.

Schritt 4 – Konfigurieren von Lighttpd und PHP-FPM

Für diesen Schritt werden wir den Lighttpd mit PHP-FPM konfigurieren.

Gehen Sie nun in das Verzeichnis ‚/etc/lighttpd/conf-available‘, und Sie erhalten einige Konfigurationen.

cd /etc/lighttpd/conf-available/

Kopieren Sie die Standard-PHP FastCGI-Konfiguration ’15-fastcgi-php.conf‘ und editieren Sie sie mit dem Editor vim.

cp 15-fastcgi-php.conf 15-fastcgi-php.conf.orig
vim 15-fastcgi-php.conf

Nun erhalten Sie die Standard-PHP FastCGI-Konfiguration wie unten beschrieben.

fastcgi.server += ( ".php" => 
    ((
        "bin-path" => "/usr/bin/php-cgi",
        "socket" => "/var/run/lighttpd/php.socket",
        "max-procs" => 1,
        "bin-environment" => ( 
            "PHP_FCGI_CHILDREN" => "4",
            "PHP_FCGI_MAX_REQUESTS" => "10000"
        ),
        "bin-copy-environment" => (
            "PATH", "SHELL", "USER"
        ),
        "broken-scriptfilename" => "enable"
    ))
)

Die Standardkonfiguration bringt den Lighttpd dazu, das PHP-CGI auf sich selbst zu spawnen.

Damit der Lighttpd mit dem PHP-FPM-Dienst funktioniert, ersetzen Sie die Standard-PHP-CGI-Konfiguration durch die folgende Konfiguration.

fastcgi.server += ( ".php" =>
        ((
                "socket" => "/var/run/php/php7.4-fpm.sock",
                "broken-scriptfilename" => "enable"
        ))
)

Speichern und schließen.

Als nächstes aktivieren Sie das Lighttpd-Modul fastcgi und fastcgi-php mit dem folgenden Befehl.

lighttpd-enable-mod fastcgi
lighttpd-enable-mod fastcgi-php

Der Befehl erstellt einen Symlink der Modulkonfiguration auf das Verzeichnis ‚/etc/lighttpd/conf-enabled‘.

Sie können das Verzeichnis ‚/etc/lighttpd/conf-enabled‘ mit dem folgenden Befehl überprüfen.

ls -lah /etc/lighttpd/conf-enabled/

Und Sie erhalten sowohl fastcgi- als auch fastcgi-php-Konfigurationen im ‚conf-enabled‘-Verzeichnis.

ENable FastCGI und FastCGI PHP Lighttpd

Um die neue Einrichtung und Konfiguration anzuwenden, starten Sie als nächstes den Lighttpd-Dienst neu.

systemctl restart lighttpd

Stellen Sie sicher, dass kein Fehler vorliegt.

Als Ergebnis wurde die Konfiguration von Lighttpd mit PHP-FPM erfolgreich abgeschlossen.

Schritt 5 – Testen

Um unsere LLMP-Stack-Installation zu testen, werden wir eine neue PHP-Infoskript-Datei im Standarddokumenten-Stammverzeichnis ‚/var/www/html‘ erstellen.

Gehen Sie in das Verzeichnis ‚/var/www/html‘ und erstellen Sie eine neue php-Datei ‚info.php‘ mit dem vim-Editor.

cd /var/www/html/
vim info.php

Fügen Sie das folgende Skript ein.

<?php
phpinfo();
?>

Speichern und schließen.

Öffnen Sie als nächstes Ihren Webbrowser und geben Sie die IP-Adresse des Servers mit dem Pfad ‚/info.php‘ wie unten beschrieben ein.

http://10.10.10.30/info.php

Und Sie erhalten das Ergebnis wie unten angegeben.

phpinfo

Wie Sie sehen können, können Sie alle Informationen über Ihre Lighttpd- und PHP-FPM-Installation einsehen.

Damit ist die Installation von LLMP Stack unter Ubuntu 20.04 erfolgreich abgeschlossen.

Das könnte dich auch interessieren …