Let's Encrypt Zertifikat ausstellen

Diese Anleitung zeigt, wie Sie schnell und einfach ein Let's Encrypt Zertifikat austellen können.

Zuletzt aktualisiert am: 29.06.2023

Inhaltsverzeichnis


Vorbereitungen

  1. Öffnen Sie auf Ihrem PC ein Terminal. Unter Windows können Sie dafür das Windows Terminal oder die Eingabeaufforderung benutzen. Unter Linux einfach das normale Terminal.
  2. Verbinden Sie sich nun auf Ihrem V- oder Root-Server über SSH mit diesem Befehl: ssh benutzername@server
  3. Bringen Sie das System auf den neusten Stand: apt update && apt upgrade -y

Certbot Installation und Konfiguration

  1. Um ein Let's Encrypt Zertifikat auszustellen, können Sie ein kleines Tool benutzen, das bei den meisten Distributionen in den Paketquellen enthalten ist. Das Tool heißt "Certbot" und wird als erstes installiert: apt install certbot -y
  2. Es gibt nun verschiedene Varianten ein Let's Encrypt Zertifikat auszustellen.

    Variante 1: Zertifikat ausstellen und Webserver (Apache2) konfigurieren.

    1. Sie müssen als erstes das Apache2-Plugin installieren. Dafür wir dieser Befehl genutzt: apt install python-certbot-apache -y
    2. Starten Sie den Certbot mit diesem Befehl: certbot --authenticator webroot --installer apache.
    3. Wenn Sie den Certbot zum ersten mal auf diesem System ausführen, werden Sie nach einer E-Mail Adresse gefragt. Geben Sie hier einfach Ihre E-Mail Adresse an und bestätigen Sie mit Enter.
    4. Ebenfalls müssen, bei der ersten Ausführung, die Lizenzbedingungen akzeptiert werden. Geben Sie dafür A ein und bestätigen Sie mit Enter.
    5. Der Certbot fragt Sie, nur bei der ersten Ausführung, ob Sie den Newsletter von der Electronic Frontier Foundation erhalten möchten. Geben Sie dort entweder Y für Ja und N für Nein ein und bestätigen Sie mit Enter.
    6. Jetzt werden Sie alle Ihre bereits konfigurierten Domains sehen. Wählen Sie hier einfach Ihre Domain(s) aus. Wenn Sie mehrere Domains ausgewählt haben, können Sie nach der Eingabe eines Web-Verzeichnisses bei den folgenden Domains entweder das gleiche wählen oder ein anderes angeben. Nutzen Sie hierzu die Ziffern, die Ihnen vor den jeweiligen Optionen angezeigt werden (1 = neues Verzeichnis angeben).
    7. Zum Schluss können Sie noch entscheiden, ob eine unverschlüsselte HTTP Verbindung nun auf eine verschlüsselte HTTPS Verbindung mit dem neuen Zertifikat umgeleitet werden soll. Geben Sie 2 für Ja und eine 1 für Nein ein.
    8. Das Zertifikat wurde nun erfolgreich ausgestellt und im Apache2 Server eingerichtet. Das Zertifikat befindet sich im Verzeichnis "/etc/letsencrypt/live/". Dort gibt es für jede Domain ein eigenes Verzeichnis.

    Variante 2: Nur Zertifikat ausstellen (ohne Webserver Konfiguration)

    1. Um ein Zertifikat auf diese Weise auszustellen, startet der Certbot seinen eigenen Mini-Webserver auf Port 80, daher wird der Apache2 (oder nginx, dann apache2 aurch nginx ersetzen) kurz gestoppt und im Anschluss wieder gestartet. Geben Sie unter dem Parameter -d Ihre gewünschte(n) Domain(s) an: certbot certonly --authenticator standalone -d testdomain.de -d www.testdomain.de --pre-hook "systemctl stop apache2" --post-hook "systemctl start apache2".
    2. Wenn Sie den Certbot zum ersten mal auf diesem System ausführen, werden Sie nach einer E-Mail Adresse gefragt. Geben Sie hier einfach Ihre E-Mail Adresse an und bestätigen Sie mit Enter.
    3. Ebenfalls müssen, bei der ersten Ausführung, die Lizenzbedingungen akzeptiert werden. Geben Sie dafür A ein und bestätigen Sie mit Enter.
    4. Der Certbot fragt Sie, nur bei der ersten Ausführung, ob Sie den Newsletter von der Electronic Frontier Foundation erhalten möchten. Geben Sie dort entweder Y für Ja und N für Nein ein und bestätigen Sie mit Enter.
    5. Das Zertifikat wurde nun erfolgreich ausgestellt. Das Zertifikat befindet sich im Verzeichnis "/etc/letsencrypt/live/". Dort gibt es für jede Domain ein eigenes Verzeichnis.

    Variante 3: Wildcard-Zertifikat ausstellen (ohne Webserver Konfiguration)

    1. Ein Wildcard-Zertifikat beinhaltet alle Subdomains einer Hauptdomain (Das Zertifikat sieht dann so aus: *.testdomain.de). Um ein solches auszustellen, wird folgender Befehl genutzt: certbot certonly --manual --preferred-challenges dns -d testdomain.de -d *.testdomain.de
    2. Der Certbot bittet nun danach 2 DNS (TXT) Records zu erstellen, was Sie nun machen müssen:
      Typ Name Wert
      TXT _acme-challenge rot-markierte Zeichenfolge aus dem Screenshot
      TXT _acme-challenge gelb-markierte Zeichenfolge aus dem Screenshot

      Screenshot mit testdomain.de:

      Certbot DNS
    3. Das Zertifikat wurde nun erfolgreich ausgestellt. Das Zertifikat befindet sich im Verzeichnis "/etc/letsencrypt/live/". Dort gibt es für jede Domain ein eigenes Verzeichnis.
  3. Information
    Ein Zertifikat hat einen Gültigkeitszeitraum von 90 Tagen. Danach muss es erneuert werden. Variante 1 funktioniert mit certbow --renew, Variante 2 und 3 mit den Befehlen von oben.