Wie installiere ich Caddy Web Server mit PHP 8.1 auf Ubuntu 22.04
Caddy ist ein moderner Webserver, der in der Sprache GO entwickelt wurde. Er ist ein einfacher, benutzerfreundlicher, leichtgewichtiger und kommerziell unterstützter Webserver. Er unterstützt die Protokolle HTTP/2 und das experimentelle HTTP/3 und läuft überall ohne externe Abhängigkeiten. Er kann über Plugins erweitert werden. Caddy ist der einzige Webserver, der automatisch und standardmäßig HTTPS verwendet. Caddy beschafft und erneuert TLS-Zertifikate für deine Websites automatisch. Er wurde mit Blick auf die Sicherheit entwickelt und bietet eine Reihe von Funktionen, die für das Hosting von Websites nützlich sind.
In diesem Beitrag erklären wir dir, wie du den Caddy-Webserver auf Ubuntu 22.04 installierst.
Voraussetzungen
- Ein Server, auf dem Ubuntu 22.04 läuft.
- Ein gültiger Domainname ist auf die IP deines Servers verweist.
- Ein Root-Passwort ist auf dem Server eingerichtet.
Caddy Webserver installieren
Standardmäßig ist das Caddy-Paket nicht im Standard-Repository von Ubuntu 22.04 enthalten. Daher musst du das Caddy-Repository zu deinem System hinzufügen.
Installiere zunächst alle erforderlichen Abhängigkeiten mit dem folgenden Befehl:
apt-get install -y curl debian-keyring debian-archive-keyring apt-transport-https
Als Nächstes lädst du den GPG-Schlüssel herunter und fügst ihn mit dem folgenden Befehl hinzu:
curl -1sLf 'https://dl.cloudsmith.io/public/caddy/stable/gpg.key' | gpg --dearmor -o /usr/share/keyrings/caddy-stable-archive-keyring.gpg
Als Nächstes fügst du mit folgendem Befehl ein Caddy-Repository zur APT hinzu:
curl -1sLf 'https://dl.cloudsmith.io/public/caddy/stable/debian.deb.txt' | tee /etc/apt/sources.list.d/caddy-stable.list
Als Nächstes aktualisierst du das Repository und installierst den Caddy-Webserver, indem du folgenden Befehl ausführst:
apt-get update apt-get install caddy -y
Sobald Caddy installiert ist, kannst du die Caddy-Version mit dem folgenden Befehl überprüfen:
caddy version
Du erhältst die folgende Ausgabe:
v2.6.2 h1:wKoFIxpmOJLGl3QXoo6PNbYvGW4xLEgo32GPBEjWL8o=
Als Nächstes musst du eine Berechtigung setzen, damit sich das Caddy-Binary mit privilegierten Ports wie 80 und 443 verbinden kann. Dies kannst du mit folgendem Befehl tun:
setcap 'cap_net_bind_service=+ep' /usr/bin/caddy
Öffne nun deinen Webbrowser und rufe die Caddy-Standardseite über die URL http://your-server-ip auf . Du solltest die folgende Seite sehen:
Wie man den Caddy-Dienst startet und stoppt
Du kannst den Caddy-Dienst über den systemd verwalten. Du kannst ihn ganz einfach mit dem Befehl systemctl starten und stoppen.
Um den Caddy-Dienst zu starten, führe den folgenden Befehl aus:
systemctl start caddy
Um den Caddy-Dienst zu stoppen, führe den folgenden Befehl aus:
systemctl stop caddy
Um den Caddy-Dienst beim Neustart des Systems zu starten, führe den folgenden Befehl aus:
systemctl enable caddy
Um den Status des Caddy-Dienstes zu überprüfen, führe den folgenden Befehl aus:
systemctl status caddy
Du erhältst die folgende Ausgabe:
? caddy.service - Caddy Loaded: loaded (/lib/systemd/system/caddy.service; enabled; vendor preset: enabled) Active: active (running) since Sun 2022-11-20 11:03:31 UTC; 42s ago Docs: https://caddyserver.com/docs/ Main PID: 2356 (caddy) Tasks: 8 (limit: 2242) Memory: 7.8M CPU: 31ms CGroup: /system.slice/caddy.service ??2356 /usr/bin/caddy run --environ --config /etc/caddy/Caddyfile Nov 20 11:03:31 ubuntu2204 caddy[2356]: {"level":"info","ts":1668942211.4061167,"msg":"using provided configuration","config_file":"/etc/cadd> Nov 20 11:03:31 ubuntu2204 caddy[2356]: {"level":"info","ts":1668942211.4079537,"logger":"admin","msg":"admin endpoint started","address":"lo> Nov 20 11:03:31 ubuntu2204 caddy[2356]: {"level":"warn","ts":1668942211.4082074,"logger":"http","msg":"server is listening only on the HTTP p> Nov 20 11:03:31 ubuntu2204 caddy[2356]: {"level":"info","ts":1668942211.4085367,"logger":"http.log","msg":"server running","name":"srv0","pro> Nov 20 11:03:31 ubuntu2204 caddy[2356]: {"level":"info","ts":1668942211.4088042,"msg":"autosaved config (load with --resume flag)","file":"/v> Nov 20 11:03:31 ubuntu2204 systemd[1]: Started Caddy. Nov 20 11:03:31 ubuntu2204 caddy[2356]: {"level":"info","ts":1668942211.419063,"logger":"tls.cache.maintenance","msg":"started background cer> Nov 20 11:03:31 ubuntu2204 caddy[2356]: {"level":"info","ts":1668942211.4192455,"logger":"tls","msg":"cleaning storage unit","description":"F> Nov 20 11:03:31 ubuntu2204 caddy[2356]: {"level":"info","ts":1668942211.419398,"logger":"tls","msg":"finished cleaning storage units"} Nov 20 11:03:31 ubuntu2204 caddy[2356]: {"level":"info","ts":1668942211.4197013,"msg":"serving initial configuration"}
Aktiviere die PHP-Unterstützung in Caddy
Installiere zunächst PHP und andere notwendige Erweiterungen mit dem folgenden Befehl:
apt-get install php-fpm php-mysql php-curl php-gd php-mbstring php-common php-xml php-xmlrpc -y
Nach der Installation von PHP bearbeitest du die PHP-FPM-Konfigurationsdatei und änderst den Standardbenutzer und die Standardgruppe mit caddy:
nano /etc/php/8.1/fpm/pool.d/www.conf
Suche und ersetze den Benutzer- und Gruppennamen von www-data durch caddy:
user = caddy group = caddy listen.owner = caddy listen.group = caddy
Speichere und schließe die Datei und starte den PHP-FPM-Dienst neu, um die Änderungen zu übernehmen:
systemctl restart php8.1-fpm
Caddy-Konfigurationsdatei für virtuelle Hosts erstellen
Die Standardkonfigurationsdatei von Caddy für virtuelle Hosts befindet sich unter /etc/caddy/Caddyfile.
Bearbeite die Datei /etc/caddy/Caddyfile mit dem folgenden Befehl:
nano /etc/caddy/Caddyfile
Entferne alle Zeilen und füge die folgenden Zeilen hinzu:
caddy.example.com:80 { root * /usr/share/caddy/ encode gzip zstd php_fastcgi unix//run/php/php8.1-fpm.sock }
Speichere und schließe die Datei und starte den Caddy-Dienst neu, um die Änderungen zu übernehmen:
systemctl restart caddy
Als Nächstes erstellst du eine PHP-Beispieldatei für Caddy mit dem folgenden Befehl:
nano /usr/share/caddy/info.php
Füge die folgenden Zeilen hinzu:
<?php phpinfo(); ?>
Speichere und schließe die Datei, wenn du fertig bist.
Überprüfe die PHP-Unterstützung von Caddy
Öffne nun deinen Webbrowser und rufe die Caddy-Website über die URL http://caddy.example.com/info.php auf. Du solltest die PHP-Seite auf dem folgenden Bildschirm sehen:
Fazit
In diesem Beitrag haben wir dir erklärt, wie du den Caddy-Webserver unter Ubuntu 22.04 installierst und konfigurierst. Du kannst jetzt damit beginnen, deine eigene Website mit dem Caddy Webserver zu erstellen und zu hosten. Wenn du noch Fragen hast, kannst du dich gerne an mich wenden.