In diesem Artikel zeige ich euch, wie Ihr mit dem Caddy-Webserver eine eigene Webseite unter Linux Ubuntu 22.04 (alternativ auch Debian 12) hosten und im Internet bereitstellen könnt. Caddy ist der einzige Webserver, der HTTPS vollständig automatisiert. Das bedeutet, dass er SSL/TLS-Zertifikate selbstständig implementiert und sich auch um deren Gültigkeit kümmert.
Die geringe Komplexität und einfache Konfiguration machen Caddy, der bereits in der zweiten Version existiert, zum perfekten Webserver für die sichere Bereitstellung statischer Webseiten über das Internet. Diese Eigenschaften machen Caddy sehr freundlich für Anfänger und Administratoren, die zuvor wenig mit Webserver-Technologien zu tun gehabt haben.
Inhaltsverzeichnis: Caddy Webserver Installation und Bereitstellung einer Webseite
Empfehlung: In diesem Beitrag vergleiche ich die bekanntesten Webserver miteinander und erkläre euch, für welchen Webserver ich mich bei welchen Projekten bevorzugt entscheide: https://www.veuhoff.net/die-besten-webserver-im-vergleich-caddy-nginx-und-apache-wann-verwende-ich-welchen-unterbau/
Welche Voraussetzungen hat Caddy?
Caddy ist bekannt dafür, im Vergleich zu anderen Webservern ressourcenschonend und effizient zu sein. So kommen wir mit einem Hostsystem aus, welches über mindestens 2-Kerne und 2 GB Arbeitsspeicher verfügt. Die Größe der Festplatte spielt dabei eine kleinere Rolle, da statische Webseiten in der Regel und der Performance zuliebe so klein gehalten werden, dass der gesamte Webauftritt nur wenige MB groß ist.
Der Webserver Caddy kann auf unterschiedlichen Plattformen installiert werden, darunter macOS, Windows und verschiedene Linux-Distributionen. In diesem Tutorial genügt es, sich an die Hardwareanforderungen von Ubuntu 22.04 zu halten. Das läuft auch auf älteren 64-Bit Betriebssystemen. Die Caddy-Binary selbst ist winzig und leichtgewichtig, sodass die Installation vom Webserver generell schnell erledigt ist.
Webserver Caddy unter Linux Ubuntu 22.04 installieren: Vorbereitungen und Systemaktualisierungen
Bevor wir mit der Installation des Webservers Caddy beginnen, ist es empfehlenswert, das Ubuntu-Hostsystem zunächst zu aktualisieren und gleichzeitig die Paketquellen auf den neuesten Stand zu bringen. Wir möchten stets von den aktuellsten Veröffentlichungen profitieren und ziehen es vor, veraltete Softwarepakete zu vermeiden.
Aktualisierung und Upgrades durchführen:
sudo apt update && sudo apt upgrade -y
Installation des Caddy-Webservers über Cloudsmith (offiziell aus der Dokumentation vom Herausgeber)
Für die Installation eines Caddy-Webservers sind entsprechende Sudo-Berechtigungen auf dem Hostsystem erforderlich. Um Caddy unter Linux Ubuntu 22.04 zu installieren, starten wir zunächst mit der Einrichtung der notwendigen Abhängigkeiten.
Abhängigkeiten für die Installation der Stable-Version von Caddy installieren:
sudo apt install -y debian-keyring debian-archive-keyring apt-transport-https
Sobald die Installation aller Abhängigkeiten für den Webserver erfolgreich abgeschlossen wurde, muss der offizielle Caddy GPG-Schlüssel hinzugefügt werden. Das erfolgt mit dem nächsten Befehl.
Offiziellen GPG-Schlüssel von Caddy hinzufügen:
curl -1sLf 'https://dl.cloudsmith.io/public/caddy/stable/gpg.key' | sudo gpg --dearmor -o /usr/share/keyrings/caddy-stable-archive-keyring.gpg
Eine neue Repository-Datei anlegen:
curl -1sLf 'https://dl.cloudsmith.io/public/caddy/stable/debian.deb.txt' | sudo tee /etc/apt/sources.list.d/caddy-stable.list
Die Paketquellen aktualisieren:
sudo apt update -y
Abschließend kann der Webserver Caddy über die Befehlszeile installiert werden. An diesem Punkt sind alle Voraussetzungen und Vorbereitungen für die Installation erfolgreich abgeschlossen. Führe den nachstehenden Befehl für die Installation aus.
Caddy installieren:
sudo apt install caddy -y
Jetzt, wo der Webserver auf dem Linux-Hostsystem installiert worden ist, muss der Dienst nur noch aktiviert werden. Das erledigen wir mit dem nachfolgenden Befehl.
Den Webserver Caddy jetzt starten:
sudo systemctl enable --now caddy
Die soeben installierte Version kann mit dem folgenden Befehl validiert werden:
caddy version
Wird eine Versionsnummer ausgegeben? Dann wurde Caddy erfolgreich auf eurem Server installiert. Im nächsten Abschnitt nehmen wir eine Test-Webseite in den Betrieb, um die erfolgreiche Ausgabe einer Internetseite zu überprüfen. Dieser Schritt ist jedoch optional.
Eine Webseite mit dem Webserver Caddy bereitstellen
Möchten wir eine Webseite mit Caddy über das lokale Netzwerk oder über das Internet bereitstellen, müssen wir die zur Webseite zugehörigen Dateien und Unterverzeichnisse in das www-Verzeichnis speichern.
Dafür legen wir zunächst ein neues Verzeichnis für die Ausgabe einer Internetseite an:
sudo mkdir -p /var/www/html
Wechsel umgehend in das Verzeichnis:
cd /var/www/html
Lege eine Webseite mit dem Editor an:
sudo nano index.html
Kopiere den folgenden Inhalt und füge diese Beispielseite in die index.html ein:
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Hallo, ich bin Caddy, dein zuverlässiger Webserver!</title>
</head>
<body>
<h1 style="font-family: sans-serif;">Hier können große Projekte entstehen! Alles, was benötigt wird, sind HTML- und CSS-Kenntnisse, abgerundet mit ein wenig JavaScript.</h1>
</body>
</html>
Speichere die Änderungen ab [STRG+S] und verlasse den Editor wieder [STRG+X]. Jetzt müssen wir noch die Caddy-Konfigurationsdatei editieren, damit die Webseite ausgegeben werden kann. Führe dafür die nachfolgenden Befehle aus deinem System aus.
Caddy-Konfigurationsdatei mit nano öffnen:
sudo nano /etc/caddy/Caddyfile
Editieren:
:80 {
# Pfad der Internetseite
root * /var/www/html/
Speichere die Änderungen ab [STRG+S] und verlasse die Konfigurationsdatei wieder [STRG+X]. Jetzt sollte die kleine Webseite über die IP-Adresse aus dem lokalen Netzwerk erreichbar sein.
Zugriff aus dem lokalen Netzwerk über einen beliebigen Webbrowser:
http://192.168.178.75/
Möchtest du die Webseite über das Internet erreichbar machen, müssen noch die Webports (80/443) innerhalb der NAT-Einstellungen im Router/Firewall für die Server-IP-Adresse freigegeben werden. Alternativ kann auch mit einem Reverse-Proxy gearbeitet werden.
An dieser Stelle endet die Anleitung, da sie lediglich die Grundinstallation und Inbetriebnahme eines Caddy-Webservers unter Linux-Ubuntu zeigen soll. Viel Spaß mit Caddy wünscht euch Alexander.
Weiterführende Links: