Tutorials  /  Ubuntu

Caddy auf Ubuntu 22.04 mit automatischem HTTPS installieren

Ccentron Redaktion · Oktober 2025 ·6 Min. Lesezeit ·Ubuntu, Tutorial

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.
VM

Passende Infrastruktur bei centron

Ubuntu-Server ohne eigene Hardware: ccloud³ VMs mit vollem Root-Zugriff ab 3,12 € im Monat, stundengenau abgerechnet und in Sekunden bereit. Cloud Server mieten →

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:

Konsole
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:

Konsole
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:

Konsole
sudo apt update

Caddy installieren

Installieren Sie Caddy mit folgendem Befehl:

Konsole
sudo apt install caddy

Installation überprüfen

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

Code
caddy -v

Beispielausgabe:

Code
v2.9.1 h1:OEYiZ7DbCzAWVb6TNEkjRcSCRGHVoZsJinoDR/n9oaY=

Firewall konfigurieren

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

Konsole
sudo ufw allow 80

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

Konsole
sudo ufw reload

Ö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:

Konsole
sudo systemctl enable caddy

Starten Sie den Caddy Webserver:

Konsole
sudo systemctl start caddy

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

Konsole
sudo systemctl status caddy

Beispielausgabe:

YAML
● 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

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

Index-Seite anlegen

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

Folgenden HTML-Code einfügen

Code

Hello World! Greetings from centron

Hello World! Greetings from centron

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

Zum Caddy-Konfigurationsverzeichnis wechseln

Konsole
cd /etc/caddy/

Standard-Caddyfile sichern

Konsole
sudo mv Caddyfile Caddyfile.default

Neue Caddyfile erstellen

Konsole
sudo nano Caddyfile

Diese Konfiguration einfügen

Code
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:

Konsole
sudo caddy validate
Konsole
sudo caddy reload

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

Konsole
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:

Konsole
sudo chmod 660 /etc/caddy/Caddyfile

Berechtigungen prüfen

Code
ls -l /etc/caddy/

Ausgabe:

Code
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

Konsole
sudo ufw status

Wenn UFW inaktiv ist: SSH erlauben und aktivieren

Konsole
sudo ufw allow 22 && sudo ufw enable

HTTPS-Verkehr erlauben

Konsole
sudo ufw allow 443

UFW neu laden

Konsole
sudo ufw reload

Ö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.

Jetzt 200 € Guthaben sichern

Testen Sie Ihr Setup auf ccloud³

Registrieren Sie sich in der ccloud³ und erhalten Sie 200 € Startguthaben für Ihr Projekt – z. B. für eine PostgreSQL-VM mit automatischen Backups.

centron Redaktion Technische Redaktion

Das Redaktionsteam von centron schreibt Anleitungen aus dem Betriebsalltag: getestet auf unserer eigenen Plattform, betrieben im Rechenzentrum in Hallstadt bei Bamberg.

Kategorie Ubuntu
Teilen
Noch offene Fragen?

Unser Team hilft Ihnen bei Ihrem konkreten Setup weiter – von Menschen, die die Plattform selbst betreiben.

War dieses Tutorial hilfreich?

Ihre Antwort wird anonym gespeichert und hilft uns, die Tutorials zu verbessern.

Kommentare

Noch keine Kommentare – stellen Sie die erste Frage zu diesem Tutorial.

Zum Kommentieren anmelden

Kommentare stehen centron-Kunden offen. Melden Sie sich in Ihrem Konto an, um eine Frage zu diesem Tutorial zu stellen.

Weiterlesen

Das könnte Sie auch interessieren

Jetzt kostenlos anfangen

Melden Sie sich an und erhalten Sie in den ersten 60 Tagen ein Guthaben von 200 € bei centron.

Dieses Werbeangebot gilt nur für neue Konten. Angebot ausschließlich für Gewerbetreibende.

Jetzt loslegen Sales kontaktieren