certbot
Dieser Artikel wurde für die folgenden Ubuntu-Versionen getestet:
Ubuntu 22.04 Jammy Jellyfish
Ubuntu 20.04 Focal Fossa
Du möchtest den Artikel für eine weitere Ubuntu-Version testen? Mitarbeit im Wiki ist immer willkommen! Dazu sind die Hinweise zum Testen von Artikeln zu beachten.
Zum Verständnis dieses Artikels sind folgende Seiten hilfreich:
certbot 🇬🇧 ist ein Script, welches zur Erstellung und Verwaltung von Let's-Encrypt-Zertifikaten dient. Damit wird die Verwendung von SSL-Zertifikaten wesentlich vereinfacht gegenüber herkömmlichen Verfahren wie getssl.
Voraussetzungen¶
Dieser Artikel beschreibt, wie man bei einen fertig eingerichteten Webserver Apache oder Nginx Let's-Encrypt-Zertifikate mit Hilfe von certbot einrichtet.
Der Webserver muss so eingerichtet sein, dass er auch auf Port 443 (SSL) lauscht, ggf. muss die Firewall bearbeitet werden, sodass auch der Port 443 erreicht werden kann.
Eine registrierte Domain oder Subdomain z.B. example.org, test.example.org, etc, die auf den Webserver verweist und über die der Webserver erreichbar ist.
Es müssen Root-Rechte z.B. per sudo vorliegen.
Es gibt auch eine Möglichkeit, certbot als snap zu installieren, dies wird hier nicht beschrieben.
Installation¶
certbot kann direkt aus den Paketquellen installiert werden
certbot (universe)
Befehl zum Installieren der Pakete:
sudo apt-get install certbot
Oder mit apturl installieren, Link: apt://certbot
Zusätzlich braucht man noch - je nach Server - das Paket python3-certbot-nginx bzw python3-certbot-apache
python3-certbot-nginx (universe)
Befehl zum Installieren der Pakete:
sudo apt-get install python3-certbot-nginx
Oder mit apturl installieren, Link: apt://python3-certbot-nginx
python3-certbot-apache (universe)
Befehl zum Installieren der Pakete:
sudo apt-get install python3-certbot-apache
Oder mit apturl installieren, Link: apt://python3-certbot-apache
Aufruf und Optionen¶
certbot muss mit Root-Rechten aufgerufen werden
sudo certbot <optionen>
und kennt folgende Optionen:
Option | Beschreibung |
run | erstellen, holen und einrichten eines Zertifikates auf dem Server, Default-Einstellung |
certonly | erstellen und holen eines Zertifikates ohne einrichten auf dem Server |
-d | Domain oder Subdomain für die ein Zertifikat eingerichtet werden soll |
--dry-run | Probelauf ohne Speicherung der Ergebnisse |
--nginx | Der Zielserver läuft unter Nginx |
--apache | Der Zielserver läuft unter Apache |
certificates | einholen von Informationen über gespeicherte Zertifikate |
renew | erneuern eines Zertifikates *) |
revoke | ein Zertifikat widerrufen |
delete | ein Zertifikat vom Webserver löschen |
register | einen Account bei der Zertifizierungsstelle einrichten (muss einmalig vor der Einrichtung gemacht werden, danach ist dies auf diesem Server nicht mehr notwendig) |
unregister | einen Account löschen |
update_account | einen Account überarbeiten |
*) Hat certbot einmal ein Zertifikat für eine oder mehrere Domain/s installiert, dann sorgt es auch für die automatische Verlängerung dieser Zertifikate, der Nutzer braucht sich nicht darum zu kümmern.
Beispiele¶
Anmelden bei der Zertifizierungsstelle und einrichten eines Accounts:
sudo certbot register
Erstellen, holen und speichern eines Zertifikates für den lokalen Webserver (eine oder mehrere Domains):
sudo certbot --nginx -d example.org sudo certbot --nginx -d example.org -d www.example.org -d test.example.org
Links¶