Caddy Webserver auf Ubuntu 22.04 installieren und konfigurieren

Caddy ist ein Open-Source-Webserver, der in Go entwickelt wurde. Er eignet sich zum Bereitstellen statischer und dynamischer Webanwendungen und stellt für alle eingerichteten Domains automatisch HTTPS bereit. Durch die einfache Konfiguration kann Caddy als Webserver, Reverse Proxy oder Lastverteiler eingesetzt werden – und das mit minimalem Aufwand.

Diese Anleitung zeigt, wie Sie den Caddy Webserver auf Ubuntu 22.04 installieren und Ihre Anwendungen sicher über den Server ausliefern.

Voraussetzungen

Bevor Sie beginnen, stellen Sie sicher, dass Folgendes vorhanden ist:

  • Ein Ubuntu 22.04 Server.
  • Eine Domain, deren A-Record auf die IP-Adresse des Servers zeigt.
  • SSH-Zugang zum Server als Nicht-Root-Benutzer mit sudo-Rechten.

Caddy installieren

Führen Sie diese Schritte aus, um das Caddy-Repository hinzuzufügen und die Anwendung auf Ihrem Server zu installieren.

Caddy GPG-Schlüssel hinzufügen

Importieren Sie den aktuellen GPG-Schlüssel von Caddy auf Ihren Server:

curl -1sLf 'https://dl.cloudsmith.io/public/caddy/stable/gpg.key' | sudo gpg --dearmor -o /usr/share/keyrings/caddy-stable-archive-keyring.gpg

Caddy-Repository hinzufügen

Fügen Sie anschließend das Caddy-Repository zu den APT-Quellen hinzu:

curl -1sLf 'https://dl.cloudsmith.io/public/caddy/stable/debian.deb.txt' | sudo tee /etc/apt/sources.list.d/caddy-stable.list

Paketindex aktualisieren

Aktualisieren Sie den Paketindex Ihres Servers:

Caddy installieren

Installieren Sie Caddy mit folgendem Befehl:

Installation überprüfen

Prüfen Sie die installierte Version, um sicherzustellen, dass die Installation erfolgreich war:

Beispielausgabe:

v2.9.1 h1:OEYiZ7DbCzAWVb6TNEkjRcSCRGHVoZsJinoDR/n9oaY=

Firewall konfigurieren

Erlauben Sie eingehende Verbindungen für den HTTP-Port 80:

Laden Sie anschließend die Firewall neu, um die Änderungen zu übernehmen:

Öffnen Sie jetzt Ihren Browser und rufen Sie folgende Adresse auf:

http://SERVER-IP

Die Standard-Willkommensseite von Caddy sollte angezeigt werden.

Caddy Systemdienst verwalten

Aktivieren Sie den Caddy-Dienst, damit er beim Systemstart automatisch startet:

sudo systemctl enable caddy

Starten Sie den Caddy Webserver:

sudo systemctl start caddy

Überprüfen Sie den Status des Caddy-Dienstes, um sicherzustellen, dass er läuft:

sudo systemctl status caddy

Beispielausgabe:

● caddy.service - Caddy
     Loaded: loaded (/lib/systemd/system/caddy.service; enabled; vendor preset: enabled)
     Active: active (running) since Sun 2025-04-06 09:20:18 UTC; 4min 10s ago
       Docs: https://caddyserver.com/docs/
   Main PID: 3015 (caddy)
      Tasks: 9 (limit: 9415)
     Memory: 10.9M
     CGroup: /system.slice/caddy.service
             └─3015 /usr/bin/caddy run --environ --config /etc/caddy/Caddyfile

Einen Caddy Virtual Host erstellen

Standardmäßig speichert Caddy seine Konfiguration in /etc/caddy, kann aber auch eine Caddyfile aus einem anderen Pfad einlesen. Mit den folgenden Schritten erstellen Sie einen neuen virtuellen Host, der Dateien aus /var/www/example.com bereitstellt.

Webroot-Verzeichnis erstellen

sudo mkdir -p /var/www/example.com

Index-Seite anlegen

sudo nano /var/www/example.com/index.html

Folgenden HTML-Code einfügen

    
    


    



Hello World! Greetings from centron

 

Speichern Sie die Datei und schließen Sie den Editor.

Zum Caddy-Konfigurationsverzeichnis wechseln

Standard-Caddyfile sichern

sudo mv Caddyfile Caddyfile.default

Neue Caddyfile erstellen

Diese Konfiguration einfügen

example.com {
        tls admin@example.com

        root * /var/www/example.com

        file_server {
                index index.html
        }

        log {
                output file /var/log/caddy/example.log
                format console
        }
}

Speichern Sie die Änderungen und schließen Sie die Datei.

Was diese Konfiguration bewirkt

  • example.com: Definiert einen virtuellen Host für Ihre Domain oder die IP-Adresse des Servers.
  • tls: Legt die Kontakt-E-Mail für Let’s Encrypt Zertifikatsanfragen fest.
  • root: Zeigt auf das Verzeichnis, das Ihre Webinhalte enthält.
  • file_server: Aktiviert die Bereitstellung statischer Dateien und setzt index als Standarddatei.
  • log: Schreibt Zugriffs- und Fehlermeldungen in /var/log/caddy/example.log im Konsolenformat.

Caddy validieren und neu laden

Überprüfen Sie die Konfiguration auf Syntaxfehler und übernehmen Sie anschließend die neue Konfiguration:


Caddy Webserver absichern

Caddy richtet automatisch HTTPS für gültige Domains ein. Um die Konfiguration zusätzlich zu schützen, sollten Sie den Zugriff auf die Caddyfile so einschränken, dass unbefugte Änderungen verhindert werden.

Besitzrechte des Konfigurationsverzeichnisses an den Caddy-Benutzer übertragen

sudo chown -R caddy:caddy /etc/caddy

Caddyfile-Berechtigungen einschränken

Geben Sie dem Caddy-Benutzer Lese- und Schreibrechte und verweigern Sie anderen den Zugriff:

sudo chmod 660 /etc/caddy/Caddyfile

Berechtigungen prüfen

Ausgabe:

total 8
-rw-rw---- 1 caddy caddy 168 Jun 2 15:20 Caddyfile
-rw-r--r-- 1 caddy caddy 769 Jun  2 12:07 Caddyfle.default

Firewall-Regeln einrichten

Je nach Caddyfile bedient Caddy HTTP (Port 80) und HTTPS (Port 443). Erlauben Sie diese Ports in der Firewall, um den Zugriff auf Ihre Website zu ermöglichen.

UFW-Status prüfen

Wenn UFW inaktiv ist: SSH erlauben und aktivieren

sudo ufw allow 22 && sudo ufw enable

HTTPS-Verkehr erlauben

UFW neu laden

Öffnen Sie Ihren Browser und rufen Sie Ihre Domain auf, um zu prüfen, ob der virtuelle Host korrekt ausgeliefert wird:

https://example.com

Wenn eine Verbindungsstörung auftritt, prüfen Sie die Caddy-Logs, um den Fehler zu ermitteln.

Fazit

In diesem Abschnitt haben Sie den Caddy Webserver auf Ubuntu 22.04 eingerichtet und eine Virtual-Host-Konfiguration erstellt, um Ihre Webanwendungsdateien bereitzustellen. Weitere Optionen und erweiterte Konfigurationsbeispiele finden Sie in der offiziellen Caddy-Dokumentation.

Quelle: vultr.com

Jetzt 200€ Guthaben sichern

Registrieren Sie sich jetzt in unserer ccloud³ und erhalten Sie 200€ Startguthaben für Ihr Projekt.

Das könnte Sie auch interessieren:

Moderne Hosting Services mit Cloud Server, Managed Server und skalierbarem Cloud Hosting für professionelle IT-Infrastrukturen

Passbolt auf Linux installieren & sicher konfigurieren

Security, Tutorial
Passbolt auf Linux-Distributionen installieren und einrichten Passbolt ist ein Open-Source-Passwortmanager, der die sichere Speicherung und Verwaltung von Passwörtern sowie sensiblen Daten mit Ende-zu-Ende-Verschlüsselung ermöglicht. Er funktioniert hauptsächlich als Browser-Erweiterung für…