So installieren Sie den Caddy-Webserver unter Linux

Heutzutage ist HTTPS der Schlüssel zum Hosten einer Website. Ohne sie könnten Ihre Benutzer sehr persönliche Daten von Ihrer Website in die Welt durchsickern lassen. Um dies zu lösen, verwenden viele Linux-Webmaster die LetsEncrypt-Tools, da sie das Generieren eines Zertifikats sehr einfach machen. So einfach LetsEncrpyt auch ist, die Aktivierung auf Nginx oder Apache unter Linux kann immer noch ein bisschen mühsam sein. Zum Glück gibt es einen besseren Weg. Vorstellung des Caddy-Webservers. Es ist ein Webserver, auf dem HTTPS standardmäßig aktiviert ist. Wenn Sie es satt haben, sich mit SSL-Zertifikaten herumzuärgern, ist Caddy vielleicht genau das, was Sie brauchen.

Caddie installieren

Die Installation des Caddy-Webservers funktioniert ziemlich gleich, egal welches Server-Betriebssystem Sie verwenden. Der Grund, warum Caddy so einfach zu installieren ist, liegt in der Wahl des Entwicklers, ein herunterladbares Bash-Skript zum Installieren der Software zu verwenden, anstatt Software-Repositories von Drittanbietern hinzuzufügen oder über Binärdateien zu installieren.

In diesem Tutorial verwenden wir Ubuntu Server, obwohl das Ausführen des Caddy-Webservers auch auf den meisten anderen Linux-Betriebssystemen gut funktioniert, sogar auf Desktop-Betriebssystemen. Stellen Sie zunächst sicher, dass Sie die Curl-App auf Ihrem Linux-PC haben. Wenn Sie dies nicht tun, öffnen Sie ein Terminal, suchen Sie in Ihrem Paketmanager nach „curl“ und installieren Sie es.

  Die 5 besten Gentoo Linux-Derivate zum Ausprobieren

Hinweis: Stellen Sie fest, ob Sie curl bereits haben, indem Sie curl im Terminal ausführen. Wenn der „Hilfe“-Dialog für das Programm erscheint, haben Sie Curl auf Ihrem Linux-Rechner.

curl https://getcaddy.com | bash -s personal

Der Caddy-Webserver kann für den persönlichen Gebrauch kostenlos verwendet werden, Sie müssen ihn jedoch angeben. Planen Sie den Einsatz von Caddy in einer Unternehmensumgebung? Führen Sie den Installationsbefehl aus mit:

curl https://getcaddy.com | bash -s commercial

Das Ausführen von Curl leitet es durch Bash und startet automatisch den Installationsprozess. Das Caddy-Installationsprogramm benötigt einige Zeit, um die Binärdatei des Webservers herunterzuladen und im Verzeichnis /usr/local/bin/ abzulegen. Wenn die Installation erfolgreich war, sehen Sie die Meldung „Successfully Installed“.

An dieser Stelle müssen Sie die Caddy-Binärdatei ändern. Führen Sie den folgenden Befehl im Terminal mit sudo-Berechtigungen aus.

sudo setcap cap_net_bind_service=+ep /usr/local/bin/caddy

Caddy konfigurieren

Caddy ist auf dem Server installiert. Der nächste Schritt in diesem Prozess ist die Konfiguration der Verzeichnisstruktur. Beginnen Sie damit, sich ein Root-Terminal zu besorgen. Dadurch wird das Ändern von Ordnern im Dateisystem viel schneller, da Sie nicht für jeden Befehl sudo gefolgt von einem Passwort eingeben müssen.

  So greifen Sie mit Caprine auf Facebook Messenger auf dem Linux-Desktop zu

Auf den meisten Systemen können sich Benutzer direkt beim Root-Konto anmelden mit:

su

Auf Ubuntu-Servern ist das Root-Konto jedoch aus Sicherheitsgründen gesperrt. Um dies zu umgehen, erhalten Sie mit sudo eine Root-Shell.

sudo -s

Nachdem wir Root-Zugriff haben, erstellen Sie die erforderlichen Verzeichnisse, damit der Caddy-Server ordnungsgemäß funktioniert.

mkdir /etc/caddy

mkdir /etc/ssl/caddy

Hinweis: Wenn Ihr Server bereits über ein /var/www/-Verzeichnis verfügt, überspringen Sie diesen letzten mkdir-Befehl.

mkdir /var/www

Als nächstes erstellen Sie eine neue „Caddyfile“ innerhalb von /etc/caddy/.

touch /etc/caddy/Caddyfile

Aktualisieren Sie mit dem Befehl chmod die Berechtigungen für den Caddy-Unterordner in /etc/ssl/.

chmod 0770 /etc/ssl/caddy

Zuletzt chown das Verzeichnis /var/www/:

chown www-data: /var/www

Caddy Systemd-Datei

Die meisten Server, insbesondere Ubuntu-Server, nutzen das systemd-Init-System stark. Da der Webserver jedoch über ein Bash-Skript installiert wird, ist keine systemd-Datei vorhanden. Stattdessen müssen wir unsere eigenen machen. Verwenden Sie den Touch-Befehl, um eine neue, leere Servicedatei zu erstellen.

touch /lib/systemd/system/caddy.service

Öffnen Sie die neue caddy.service-Datei und fügen Sie den folgenden Code ein:

[Unit]
Description=Caddy HTTP/2-Webserver
Dokumentation=https://caddyserver.com/docs
After=network-online.target
Wants=network-online.target

[Service]
Neustart=bei Fehler
StartLimitInterval=86400
StartLimitBurst=5

User=www-data
Group=www-data
; Von Letsencrypt ausgestellte Zertifikate werden in dieses Verzeichnis geschrieben.
Umgebung=CADDYPATH=/etc/ssl/caddy

ExecStart=/usr/local/bin/caddy -log stdout -agree=true -conf=/etc/caddy/Caddyfile -root=/var/tmp
ExecReload=/bin/kill -USR1 $MAINPID

LimitNOFILE=1048576
LimitNPROC=64

PrivateTmp=true
PrivateDevices=true
ProtectHome=true
ProtectSystem=voll
ReadWriteDirectories=/etc/ssl/caddy

  So wechseln Sie den Kernel in Manjaro Linux

; Die folgenden zusätzlichen Sicherheitsanweisungen funktionieren nur mit systemd v229 oder höher.
; Sie schränken Privilegien, die Caddies erlangen können, weiter ein. Entkommentieren Sie, wenn Sie möchten.
; Beachten Sie, dass Sie möglicherweise Funktionen hinzufügen müssen, die von verwendeten Plugins benötigt werden.
;CapabilityBoundingSet=CAP_NET_BIND_SERVICE
;AmbientCapabilities=CAP_NET_BIND_SERVICE
;NoNewPrivileges=true

[Install]
WantedBy=multi-user.target

Es gibt eine Menge Code für die Datei caddy.service, tun Sie also Ihr Bestes, um sicherzustellen, dass alles vorhanden ist. Wenn Sie sicher sind, speichern Sie die Änderungen, indem Sie die Tastenkombination Strg + X drücken. Verlassen Sie den Editor mit Strg + X.

systemctl enable caddy.service

systemctl start caddy.service

Nach dem Einrichten von systemd sollte alles bereit sein.

Domänen einrichten

Caddy muss wie jeder andere Webserver vor der Verwendung ein wenig konfiguriert werden. Beginnen Sie mit der Erstellung eines Domänenordners:

Hinweis: Achten Sie darauf, „test-domain.org“ mit Ihrer Domain umzubenennen.

mkdir -p /var/www/test-domain.org/

Bearbeiten Sie als Nächstes die zuvor erstellte Datei Caddyfile.

nano /etc/caddy/Caddyfile

Fügen Sie den folgenden Code ein, um Ihre neue Domain zu aktivieren:

meine-domain.com {
root /var/www/test-domain.org
}

Starten Sie den Caddy systemd-Dienst neu, um die Änderungen zu speichern. Wenn der Neustart des Dienstes abgeschlossen ist, kann Caddy auf Ihrem Server verwendet werden.

systemctl restart caddy.service