Tipp: Sie können für alle Dateinamen und Verzeichnisse die automatische Vervollständigung mithilfe der Tab-Taste nutzen, sodass Sie nicht die kompletten Datei- oder Verzeichnisnamen manuell eintippen müssen.
Diese Anleitung wurde am 03.04.2023 zuletzt überprüft und aktualisiert.
- Falls Sie es noch nicht getan haben, laden Sie das Programm "PuTTY" herunter.
- Verbinden Sie sich mithilfe von PuTTY via SSH mit Ihrem Root- oder vServer. Hierfür öffnen Sie PuTTY und geben im Textfeld "Host Name (or IP address)" die Domain oder IP-Adresse Ihres Servers ein. Klicken Sie anschließend unten auf "OK".
- Aktualisieren Sie nun Ihre Paketlisten mit dem Befehl
apt update
. - Installieren Sie jetzt möglicherweise verfügbare Updates der auf Ihrem Server bereits installieren Pakete mit dem Befehl
apt upgrade -y
. - Installieren Sie die Software "certbot". Diese benötigen Sie, um SSL-Zertifikate zu beantragen und zu erneuern. Außerdem kann der Certbot diese SSL-Zertifikate auch automatisch in Ihre Webserver-Konfiguration (z.B. Apache2) einbinden. Der Installationsbefehl lautet:
apt install certbot python3-certbot-apache -y
- Es gibt verschiedene Möglichkeiten, um SSL-Zertifikate zu beantragen und die Inhaberschaft der Domains zu bestätigen. Wenn Sie z.B. einen Apache2-Webserver verwenden, können Sie die Zertifikate nach der Ausstellung auf Wunsch auch automatisch in die Apache2-Konfiguration einbinden lassen. Hierbei wird der Apache2-Webserver auch für die Verifizierung der Domain-Inhaberschaft verwendet. Eine andere Methode ist der Standalone-Webserver, welcher vom Certbot für die Dauer der Verifizierung (i.d.R. nur wenige Sekunden) bereitgestellt wird. Bei dieser Variante müssen Sie die Zertifikatsdateien am Ende selbst einbinden.
- Variante 1 - Automatisches Beantragen und Konfigurieren (Apache2-Webserver):
- Beantragen Sie das SSL-Zertifikat mit folgendem Befehl:
certbot --authenticator webroot --installer apache
. Sie können mit den Parametern "-w" und "-d" bereits hier die Web-Verzeichnisse und Domains angeben. Wenn Sie nichts weiter angeben, werden Sie interaktiv nach den Domains und den dazugehörigen Web-Verzeichnissen (für die Domain-Verifizierung) gefragt. Möchten Sie z.B. ein SSL-Zertifikat für die Domain testdomain.de sowie die Subdomain www.testdomain.de beantragen und liegt das Web-Verzeichnis dieser Domain unter "/var/www/html/testdomain.de", so würde der Befehl inkl. aller notwendigen Angaben wie folgt lauten:certbot --authenticator webroot --installer apache -w /var/www/html/testdomain.de -d testdomain.de -d www.testdomain.de
- Wenn Sie den Certbot-Befehl zum ersten Mal ausführen, müssen Sie sich bei Let's Encrypt registrieren. Geben Sie hierzu Ihre E-Mail Adresse an und bestätigen die Eingabe mit Enter.
- Bei der ersten Certbot-Nutzung müssen Sie zudem den Buchstaben "Y" eingeben und Enter drücken, um zu bestätigen, dass Sie die Lizenzbedingungen akzeptieren.
- Nun werden Sie - ebenfalls nur bei erstmaliger Nutzung - gefragt, ob Sie sich bei einer Art Newsletter der Electronic Frontier Foundation anmelden möchten. Falls ja, geben Sie den Buchstaben "Y" ein, falls nicht, verwenden Sie den Buchstaben "N". Drücken Sie anschließend erneut Enter.
- Wenn Sie über die Parameter "-d" und "-w" noch keine Domains und Webverzeichnisse angegeben haben, wird nun automatisch nach Domains gesucht und diese werden angezeigt (nummeriert). Geben Sie nun die Ziffern der Domain(s) ein, für die Sie ein SSL-Zertifikat beantragen möchten (bei mehreren Domains durch ein Komma getrennt). Wurden keine Domains gefunden, dann geben Sie die Domains nun selbst ein (ebenfalls mit Kommatrennung).
- Sie werden daraufhin für jede ausgewählte Domain nach dem dazugehörigen Web-Verzeichnis für die Domain-Verifizierung gefragt. Wenn Sie mehrere Domains ausgewählt haben, können Sie nach der Eingabe eines Web-Verzeichnisses bei den folgenden Domains entweder wieder das gleiche wählen oder ein anderes angeben. Nutzen Sie hierzu die Ziffern, welche Ihnen vor den jeweiligen Optionen angezeigt werden (1 = neues Verzeichnis angeben).
- Hinweis: Wenn Sie bei einem SSL-Zertifikatsantrag mehrere Domains auswählen, wird nur ein Zertifikat beantragt und ausgestellt, welches alle angegebenen Domains beinhaltet. Der Dateiname dieses Zertifikats ist hierbei der als erstes ausgewählte Domainname.
- Nun werden Sie noch gefragt, ob alle HTTP-Anfragen automatisch zur HTTPS-Variante der jeweiligen URL umgeleitet werden sollen. Möchten Sie dies, dann geben Sie die Zahl 2 ein und drücken Sie Enter. Verwenden Sie andernfalls die Zahl 1.
- Das SSL-Zertifikat wurde nun erfolgreich ausgestellt und in der Apache2-Konfiguration eingebunden. Im Verzeichnis "/etc/letsencrypt/live/" gibt es für jede Domain ein Unterverzeichnis. Dort befinden sich alle wichtigen Dateien (SSL-Zertifikat, Private-Key usw.), falls Sie diese benötigen.
- Beantragen Sie das SSL-Zertifikat mit folgendem Befehl:
- Variante 2 - Nur Zertifikatsdatei beantragen (ohne automatische Webserver-Konfiguration):
- Beantragen Sie das SSL-Zertifikat mit folgendem Befehl:
certbot certonly --authenticator standalone
. Sie können mit dem Parameter "-d" bereits hier die Domains angeben. Wenn Sie nichts weiter angeben, werden Sie interaktiv nach den Domains gefragt. Wenn Sie z.B. bereits einen Apache2-Webserver haben, muss dieser vorher jedoch gestoppt werden, damit der Web-Port frei ist. Der Certbot kann den Apache2-Webserver automatisch vor der Beantragung stoppen und danach wieder starten, indem Sie--pre-hook "systemctl stop apache2" --post-hook "systemctl start apache2"
an den Befehl anhängen. Möchten Sie also z.B. ein SSL-Zertifikat für die Domain testdomain.de sowie die Subdomain www.testdomain.de beantragen und haben bereits einen Apache2-Webserver, so würde der Befehl inkl. aller notwendigen Angaben wie folgt lauten:certbot certonly --authenticator standalone -d testdomain.de -d www.testdomain.de --pre-hook "systemctl stop apache2" --post-hook "systemctl start apache2"
- Wenn Sie den Certbot-Befehl zum ersten Mal ausführen, müssen Sie sich bei Let's Encrypt registrieren. Geben Sie hierzu Ihre E-Mail Adresse an und bestätigen die Eingabe mit Enter.
- Bei der ersten Certbot-Nutzung müssen Sie zudem den Buchstaben "Y" eingeben und Enter drücken, um zu bestätigen, dass Sie die Lizenzbedingungen akzeptieren.
- Nun werden Sie - ebenfalls nur bei erstmaliger Nutzung - gefragt, ob Sie sich bei einer Art Newsletter der Electronic Frontier Foundation anmelden möchten. Falls ja, geben Sie den Buchstaben "Y" ein, falls nicht, verwenden Sie den Buchstaben "N". Drücken Sie anschließend erneut Enter.
- Wenn Sie über den Parameter "-d" noch keine Domains angegeben haben, werden Sie nun nach den Domains gefragt. Geben Sie die Domain(s) ein, für die Sie das SSL-Zertifikat beantragen möchten (bei mehreren Domains durch ein Komma getrennt).
- Hinweis: Wenn Sie bei einem SSL-Zertifikatsantrag mehrere Domains auswählen, wird nur ein Zertifikat beantragt und ausgestellt, welches alle angegebenen Domains beinhaltet. Der Dateiname dieses Zertifikats ist hierbei der als erstes ausgewählte Domainname.
- Das SSL-Zertifikat wurde nun erfolgreich ausgestellt und befindet sich im Verzeichnis "/etc/letsencrypt/live/". Dort gibt es für jede Domain ein Unterverzeichnis, worin sich wiederum alle wichtigen Dateien befinden (SSL-Zertifikat, Private-Key usw.).
- Beantragen Sie das SSL-Zertifikat mit folgendem Befehl:
- Da die SSL-Zertifikate von Let's Encrypt nur eine Gültigkeit von 90 Tagen besitzen, müssen Sie sie regelmäßig erneuern. Dies passiert automatisch, wenn Sie den Befehl
certbot renew
ausführen. Es ist jedoch empfohlen, hierfür einen Cronjob anzulegen, sodass die Zertifikate automatisch erneuert werden. Der Befehl des Cronjobs (z.B. täglich oder wöchentlich um 0 Uhr) würde in diesem Fall/usr/bin/certbot renew -q
lauten.