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:

Caddy Webserver

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:

PHP auf dem Caddy-Webserver

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.

Das könnte dich auch interessieren …