So installierst du Caddy Web Server unter Debian 11
Caddy ist ein freier, quelloffener und moderner Webserver, der in der Sprache GO geschrieben ist. Er ist ein leichtgewichtiger und kommerziell unterstützter Webserver, der HTTP/2 und die experimentellen HTTP/3-Protokolle unterstützt. Er kann überall und ohne externe Abhängigkeiten laufen und wird über Plugins erweitert. 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 Tutorial erkläre ich dir, wie du den Caddy-Webserver unter Debian 11 installierst.
Voraussetzungen
- Ein Server, auf dem Debian 11 läuft.
- Ein gültiger Domainname, der auf die IP deines Servers zeigt.
- Ein Root-Passwort ist auf dem Server eingerichtet.
Caddy auf Debian 11 installieren
Standardmäßig ist das Caddy-Paket nicht im Standard-Repository von Debian 11 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' | apt-key add -
Als Nächstes fügst du mit folgendem Befehl ein Caddy-Repository zum 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, überprüfst du die Caddy-Version mit folgendem Befehl:
caddy version
Du erhältst die folgende Ausgabe:
v2.4.5 h1:P1mRs6V2cMcagSPn+NWpD+OEYUYLIf6ecOa48cFGeUg=
Um Caddy Binary zu erlauben, sich mit privilegierten Ports wie 80 und 443 zu verbinden, führe den folgenden Befehl aus:
setcap 'cap_net_bind_service=+ep' /usr/bin/caddy
Caddy-Dienst verwalten
Du kannst den Caddy-Dienst mit systemd verwalten.
Um den Caddy-Dienst zu starten, führe den folgenden Befehl aus:
systemctl start caddy
Um den Caddy-Dienst anzuhalten, führe den folgenden Befehl aus:
systemctl stop caddy
Um den Caddy-Dienst bei einem 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 Sat 2021-10-16 14:34:44 UTC; 2min 30s ago Docs: https://caddyserver.com/docs/ Main PID: 2370 (caddy) Tasks: 7 (limit: 2341) Memory: 17.5M CPU: 30ms CGroup: /system.slice/caddy.service ??2370 /usr/bin/caddy run --environ --config /etc/caddy/Caddyfile Oct 16 14:34:44 debian11 caddy[2370]: JOURNAL_STREAM=8:16308 Oct 16 14:34:44 debian11 caddy[2370]: {"level":"info","ts":1634394884.658216,"msg":"using provided configuration","config_file":"/etc/caddy/Ca> Oct 16 14:34:44 debian11 caddy[2370]: {"level":"info","ts":1634394884.6623824,"logger":"admin","msg":"admin endpoint started","address":"tcp/l> Oct 16 14:34:44 debian11 caddy[2370]: {"level":"info","ts":1634394884.6626618,"logger":"http","msg":"server is listening only on the HTTP port> Oct 16 14:34:44 debian11 caddy[2370]: {"level":"info","ts":1634394884.663054,"msg":"autosaved config (load with --resume flag)","file":"/var/l> Oct 16 14:34:44 debian11 systemd[1]: Started Caddy. Oct 16 14:34:44 debian11 caddy[2370]: {"level":"info","ts":1634394884.6655433,"msg":"serving initial configuration"} Oct 16 14:34:44 debian11 caddy[2370]: {"level":"info","ts":1634394884.6656897,"logger":"tls","msg":"cleaning storage unit","description":"File> Oct 16 14:34:44 debian11 caddy[2370]: {"level":"info","ts":1634394884.6657932,"logger":"tls","msg":"finished cleaning storage units"} Oct 16 14:34:44 debian11 caddy[2370]: {"level":"info","ts":1634394884.6694443,"logger":"tls.cache.maintenance","msg":"started background certi>
Aktiviere die PHP-Unterstützung in Caddy
Installiere zunächst PHP und andere notwendige Erweiterungen mit folgendem 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/7.4/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 php7.4-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/php7.4-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.
Zugriff auf die Caddy-Website
Ö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
Glückwunsch! Du hast den Caddy-Webserver erfolgreich auf Debian 11 installiert. Jetzt kannst du deine eigene Website mit dem Caddy-Webserver erstellen. Wenn du noch Fragen hast, kannst du dich gerne an mich wenden.