Tutorials  /  Ubuntu

Caddy Webserver auf Ubuntu 20.04 installieren und sichern

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

Caddy ist ein Open-Source-Webserver, der sowohl statische als auch moderne Webanwendungen unterstützt und automatisch HTTPS für alle zugehörigen Domainnamen aktiviert. Entwickelt in Go bietet Caddy leicht verständliche Konfigurationsanweisungen und kann als Webserver, Reverse Proxy oder Load Balancer eingesetzt werden, um Webanwendungen auf Ihrem Server bereitzustellen.

Diese Anleitung führt Sie durch die Installation von Caddy auf Ubuntu 20.04 und zeigt, wie Sie Ihre Webanwendungen sicher bereitstellen.

Voraussetzungen

Bevor Sie beginnen, stellen Sie sicher, dass folgende Bedingungen erfüllt sind:

  • Ein Ubuntu-20.04-Server.
  • Ein A-Record für Ihre Domain, der auf die IP-Adresse des Servers verweist.
  • 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

Caddy ist nicht in den Standard-APT-Repositories von Ubuntu 20.04 enthalten. Sie können es entweder aus den Quellpaketen installieren oder das aktuelle Repository auf Ihrem Server einbinden. Befolgen Sie diese Schritte, um das Repository hinzuzufügen und die Anwendung zu installieren:

Fügen Sie den Caddy GPG-Schlüssel zu Ihrem Server hinzu

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

Fügen Sie 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

Aktualisieren Sie den Paketindex

Konsole
sudo apt update

Installieren Sie Caddy

Konsole
sudo apt install caddy

Überprüfen Sie die installierte Caddy-Version

Code
caddy -v

Ausgabe:

v2.9.1 h1:OEYiZ7DbCzAWVb6TNEkjRcSCRGHVoZsJinoDR/n9oaY=

Erlauben Sie HTTP-Verbindungen durch die Firewall

Konsole
sudo ufw allow 80

Starten Sie die Firewall neu, um die Änderungen anzuwenden

Konsole
sudo ufw reload

Öffnen Sie die IP-Adresse Ihres Servers im Browser, um zu prüfen, ob die Standardseite von Caddy angezeigt wird:

http://SERVER-IP

Caddy-Systemdienst verwalten

Aktivieren Sie Caddy für den automatischen Start beim Booten

Konsole
sudo systemctl enable caddy

Starten Sie den Caddy-Webserver

Konsole
sudo systemctl start caddy

Prüfen Sie den Status des Caddy-Systemdienstes

Konsole
sudo systemctl status caddy

Ausgabe:

● 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

Caddy Virtual Host erstellen

Caddy speichert seine Konfigurationsdateien standardmäßig im Verzeichnis /etc/caddy und unterstützt Caddyfile-Konfigurationen von beliebigen Speicherorten. Gehen Sie wie folgt vor, um einen neuen virtuellen Host einzurichten, der Webanwendungsdateien aus dem Verzeichnis /var/www/example.com bereitstellt:

Erstellen Sie das Webanwendungsverzeichnis

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

Erstellen Sie eine neue HTML-Datei index.html

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

Fügen Sie folgenden Code in die Datei ein

Code
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Greetings from centron!</title>
</head>
<body>
<br><br><br>
<h1>Hello World! Greetings from centron</h1>
</body>
</html>

Wechseln Sie in das Caddy-Konfigurationsverzeichnis

Konsole
cd /etc/caddy/

Sichern Sie die Standardkonfiguration der Caddyfile

Konsole
sudo mv Caddyfile Caddyfile.default

Erstellen Sie eine neue Caddyfile

Konsole
sudo nano Caddyfile

Fügen Sie folgende Konfiguration in die Datei ein

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
        }
}

Diese Konfiguration erstellt einen virtuellen Host für Ihre Domain example.com. Folgendes bewirken die einzelnen Direktiven:

  • example.com: Definiert ein virtuelles Host-Profil für Ihre Domain oder IP-Adresse.
  • tls: Verknüpft eine E-Mail-Adresse mit Let's Encrypt für die Beantragung von SSL-Zertifikaten.
  • root: Legt das Verzeichnis fest, in dem sich die Webanwendungsdateien befinden.
  • file_server: Aktiviert den Dateiserver zum Ausliefern der Webanwendungsdateien und setzt index.html als Standarddatei.
  • log: Konfiguriert die Protokollierung von Zugriffen und Fehlern in /var/log/caddy/example.log.

Validieren Sie die Caddy-Konfiguration

Konsole
sudo caddy validate

Ausgabe:

...........
2024/06/1 15:19:11.478 INFO    tls.cache.maintenance   started background certificate maintenance      {"cache": "0xc0000e5300"}
2024/06/1 15:19:11.478 INFO    tls.cache.maintenance   stopped background certificate maintenance      {"cache": "0xc0000e5300"}
Valid configuration

Laden Sie Caddy neu, um die Änderungen zu übernehmen

Konsole
sudo caddy reload

Den Caddy-Webserver absichern

Caddy aktiviert automatisch HTTPS, um alle Verbindungen mit SSL-Zertifikaten für virtuelle Hosts mit gültigen Domains zu sichern. Um den Caddy-Webserver vor unbefugten Änderungen zu schützen, schränken Sie den Zugriff auf die Caddyfile-Konfigurationen wie folgt ein:

Geben Sie dem Benutzer „caddy“ volle Rechte für das Verzeichnis /etc/caddy

Konsole
sudo chown -R caddy:caddy /etc/caddy

Erteilen Sie dem Benutzer „caddy“ Lese- und Schreibrechte für die Caddyfile und sperren Sie den Zugriff für andere Benutzer

Konsole
sudo chmod 660 /etc/caddy/Caddyfile

Überprüfen Sie die geänderten Berechtigungen im Verzeichnis /etc/caddy

Code
ls -l /etc/caddy/

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

Caddy verwendet abhängig von der Caddyfile-Konfiguration die HTTP-Portnummer 80 und den HTTPS-Port 443, um Dateien auf dem Server auszuliefern. Führen Sie folgende Schritte aus, um den Zugriff auf beide Caddy-Ports durch die Firewall zu erlauben und Netzwerkverbindungen zum Webserver zu aktivieren:

Prüfen Sie den UFW-Status und stellen Sie sicher, dass er aktiv ist

Konsole
sudo ufw status

Falls inaktiv, erlauben Sie den SSH-Port 22 und aktivieren Sie UFW

Konsole
sudo ufw allow 22 && sudo ufw enable

Erlauben Sie eingehende Verbindungen zum HTTPS-Port 443

Konsole
sudo ufw allow 443

Laden Sie die Firewall neu, um die Änderungen zu übernehmen

Konsole
sudo ufw reload

Öffnen Sie Ihre Domain in einem Browser wie Chrome, um zu überprüfen, ob Caddy die Dateien Ihres virtuellen Hosts bereitstellt:

https://example.com

Wenn ein Verbindungsfehler auftritt, prüfen Sie die Caddy-Konfigurationsprotokolle, um die Ursache zu ermitteln und zu beheben.

Fazit

Sie haben den Caddy-Webserver erfolgreich auf Ihrem Ubuntu-20.04-Server installiert und ein Virtual-Host-Profil konfiguriert, um Webanwendungsdateien bereitzustellen.

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