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:

PHP-Infoseite

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.

Das könnte dich auch interessieren …