Wie man eine Website mit Caddy auf Ubuntu 18.04 hostet
Caddy, auch bekannt als Caddy Webserver, ist ein Open-Source-Webserver, der in der Sprache Go geschrieben wurde. Standardmäßig lädt Caddy automatisch TLS-Zertifikate für deine Websites herunter und installiert sie. Du kannst Caddy nutzen, um deine statische Website mit Komprimierung, Template-Evaluierung, Markdown-Rendering und mehr zu bedienen. Es ist ein moderner, unternehmenstauglicher und plattformübergreifender Webserver, der virtuelles Hosting, HTTP/2, WebSockets, FastCGI, Markdown und mehr unterstützt. Er wird mit vielen Plugins geliefert, mit denen du die Funktionalität von Caddy erweitern kannst.
In diesem Tutorial erklären wir dir, wie du eine Website mit einem Caddy-Webserver auf Ubuntu 18.04 hosten kannst.
Voraussetzungen
- Ein Server, auf dem Ubuntu 18.04 läuft.
- Ein gültiger Domainname, der auf die IP deines Servers zeigt. In diesem Tutorial werden wir caddy.linuxbuz.com verwenden.
- Ein Root-Passwort ist auf deinem Server eingerichtet.
Erste Schritte
Bevor du beginnst, solltest du dein Systempaket auf die neueste Version aktualisieren. Du kannst alle Pakete mit dem folgenden Befehl aktualisieren:
apt-get update -y apt-get upgrade -y
Sobald alle Pakete aktualisiert sind, starte dein System neu, damit die Änderungen übernommen werden.
Caddy installieren
Standardmäßig ist Caddy nicht im Standard-Repository von Ubuntu 18.04 verfügbar. Daher kannst du es installieren, indem du das Caddy-Installationsskript herunterlädst, das von Caddy bereitgestellt wird.
Installiere zunächst das Paket curl mit dem folgenden Befehl:
apt-get install curl -y
Sobald es installiert ist, führe den folgenden Befehl aus, um den Caddy-Webserver in deinem System zu installieren.
curl https://getcaddy.com | bash -s personal hook.service
Wenn die Installation erfolgreich abgeschlossen ist, solltest du die folgende Ausgabe erhalten:
% Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed 100 7380 100 7380 0 0 266k 0 --:--:-- --:--:-- --:--:-- 277k Downloading Caddy for linux/amd64 (personal license)... Download verification OK Extracting... Putting caddy in /usr/local/bin (may require password) v1.0.4 Successfully installed
Wo:
Die Option -s personal wird verwendet, um eine persönliche Lizenz anzugeben, und hook.service ist ein Plugin, das dir den Zugriff auf die systemd-Unit-Datei ermöglicht, mit der du Caddy als systemd-Dienst verwalten kannst.
Als Nächstes kannst du dir die installierte Version von Caddy mit dem folgenden Befehl anzeigen lassen:
caddy -version
Du solltest die folgende Ausgabe sehen:
v1.0.4
Als Nächstes installierst du Caddy mit folgendem Befehl als systemd-Dienst:
caddy -service install
Starte den Caddy-Dienst und aktiviere ihn mit folgendem Befehl, damit er beim Booten startet:
systemctl start caddy systemctl enable caddy
Als Nächstes überprüfst du den Status des Caddy-Dienstes mit dem folgenden Befehl:
systemctl status caddy
Du solltest die folgende Ausgabe erhalten:
? caddy.service - Caddy's service Loaded: loaded (/etc/systemd/system/caddy.service; enabled; vendor preset: enabled) Active: active (running) since Mon 2020-04-20 05:49:04 UTC; 7s ago Main PID: 1722 (caddy) Tasks: 10 (limit: 2359) CGroup: /system.slice/caddy.service ??1722 /usr/local/bin/caddy Apr 20 05:49:04 ubuntu1804 systemd[1]: Started Caddy's service. Apr 20 05:49:04 ubuntu1804 caddy[1722]: Activating privacy features... done. Apr 20 05:49:04 ubuntu1804 caddy[1722]: Serving HTTP on port 2015 Apr 20 05:49:04 ubuntu1804 caddy[1722]: http://:2015
Ein Website-Verzeichnis erstellen
Als Nächstes musst du eine Verzeichnisstruktur und eine Beispiel-Indexdatei für deine Website erstellen.
Erstelle zunächst mit folgendem Befehl ein Dokumentenstammverzeichnis:
mkdir -p /var/www/caddy.linuxbuz.com
Als Nächstes erstellst du eine index.html-Datei mit dem folgenden Befehl:
nano /var/www/caddy.linuxbuz.com/index.html
Füge den folgenden Inhalt hinzu:
<!doctype html> <head><title>Caddy Sample Page</title></head> <body> <h1>Welcome to Caddy web server</h1> </body> </html>
Speichere und schließe die Datei, wenn du fertig bist. Gib dem Web-Root-Verzeichnis die richtigen Rechte:
chown -R www-data:www-data /var/www/caddy.linuxbuz.com
Caddy Webserver konfigurieren
Als Nächstes musst du eine Konfigurationsdatei für einen virtuellen Host erstellen, um die Dateien deiner Website ins Internet zu stellen.
Erstelle zunächst ein Verzeichnis, in dem die Konfigurationsdateien von Caddy gespeichert werden:
mkdir -p /etc/caddy
Ändere als Nächstes mit dem folgenden Befehl die Eigentümerschaft von Caddy auf www-data:
chown -R www-data:www-data /etc/caddy
Als Nächstes erstellst du die Hauptkonfigurationsdatei von Caddy mit dem folgenden Befehl:
nano /etc/caddy/Caddyfile
Füge die folgenden Zeilen hinzu:
caddy.linuxbuz.com { root /var/www/caddy.linuxbuz.com }
Speichere und schließe die Datei, wenn du fertig bist. Führe dann den folgenden Befehl aus, um deine Website über HTTPS mit Let’s Encrypt bereitzustellen:
caddy -agree -conf /etc/caddy/Caddyfile -email hitjethva@gmail.com
Du solltest die folgende Ausgabe erhalten:
Activating privacy features... 2020/04/20 05:57:36 [INFO] acme: Registering account for hitjethva@gmail.com 2020/04/20 05:57:37 [INFO] [caddy.linuxbuz.com] acme: Obtaining bundled SAN certificate 2020/04/20 05:57:37 [INFO] [caddy.linuxbuz.com] AuthURL: https://acme-v02.api.letsencrypt.org/acme/authz-v3/4067652622 2020/04/20 05:57:37 [INFO] [caddy.linuxbuz.com] acme: Could not find solver for: tls-alpn-01 2020/04/20 05:57:37 [INFO] [caddy.linuxbuz.com] acme: use http-01 solver 2020/04/20 05:57:37 [INFO] [caddy.linuxbuz.com] acme: Trying to solve HTTP-01 2020/04/20 05:57:37 [INFO] [caddy.linuxbuz.com] Served key authentication 2020/04/20 05:57:37 [INFO] [caddy.linuxbuz.com] Served key authentication 2020/04/20 05:57:37 [INFO] [caddy.linuxbuz.com] Served key authentication 2020/04/20 05:57:37 [INFO] [caddy.linuxbuz.com] Served key authentication 2020/04/20 05:57:44 [INFO] [caddy.linuxbuz.com] The server validated our request 2020/04/20 05:57:44 [INFO] [caddy.linuxbuz.com] acme: Validations succeeded; requesting certificates 2020/04/20 05:57:45 [INFO] [caddy.linuxbuz.com] Server responded with a certificate. done. Serving HTTPS on port 443 https://caddy.linuxbuz.com Serving HTTP on port 80 http://caddy.linuxbuz.com
Jetzt ist Caddy konfiguriert und mit Let’s Encrypt gesichert. Du kannst nun auf die Caddy-Weboberfläche zugreifen.
Zugriff auf die Caddy-Weboberfläche
Öffne jetzt deinen Webbrowser und gib die URL https://caddy.linuxbuz.com ein. Auf dem folgenden Bildschirm wirst du zur Caddy-Seite weitergeleitet:
Fazit
In diesem Leitfaden haben wir gelernt, wie man eine Website mit einem Caddy-Webserver hostet. Wir haben auch gelernt, wie man sie mit Let’s Encrypt SSL sichert. Ich hoffe, du kannst Caddy jetzt problemlos als alternativen Webserver nutzen.