HTTPS Zertifikate von Let’s Encrypt erstellen

Diese Anleitung richtet sich an Nutzer mit Root-Zugriff auf ihre Server.
Um Zertifikate von Let’s Encrypt auf einem Webhosting Paket zu installieren, ist man leider auf die Unterstützung des Hosters angewiesen.

Vorbereitungen

Für das Erstellen von Zertifikaten muss ein Tool auf dem Server installiert werden, dafür lässt sich am besten Certbot verwenden.

Auf der Webseite von Certbot findet sich eine Anleitung für jeden Webserver und jedes Betriebssystem.
Im Fall von Apache unter Ubuntu 16.04 würde die Installation von Certbot wie folgt aussehen:

apt-get install software-properties-common
add-apt-repository ppa:certbot/certbot
apt-get update
apt-get install python-certbot-apache

HTTPS Zertifikate von Let’s Encrypt erstellen

Mit Certbot können Zertifikate nicht nur generiert, sondern auch gleich in die Server-Konfiguration mit aufgenommen werden. Dies wird jedoch nicht von allen Webservern unterstützt.

Bei Verwendung von Apache kann einfach folgendes Kommando ausgeführt werden, und Certbot leitet dich durch den kompletten Installations-Prozess:

certbot --apache

Kann das Zertifikat nicht automatisiert eingebunden werden, kann dieses auch nur erstellt werden, hierzu wird der Befehl certonly verwendet:

certbot certonly --webroot -w /var/www --cert-name https-guide.de -d www.https-guide.de

Der Haupt-Domainname wird mit dem Parameter –cert-name angegeben, weitere über die Option -d.
Die Option –webroot -w wird verwendet um das Webroot-Verzeichnis für die Authentifizierung anzugeben.

HTTPS Zertifikate erneuern

Zertifikate von Let’s Encrypt sind nur 90 Tage lang gültig, weshalb sie in regelmäßigen Abständen erneuert werden müssen.

Aber auch hier gibt es einen verhältnismäßig einfachen Weg, den renew Befehl:

certbot renew

Nun möchten wir aber nicht alle paar Tage die Zertifikate erneuern, weshalb wir einen Cronjob nutzen.

Ein Eintrag in die Crontab mit einem täglichem Zertifikats-Check, könnte wie folgt aussehen:

0 2 * * * /usr/bin/certbot renew -q --post-hook "/usr/sbin/service apache2 reload"

Fazit

Certbot erlaubt uns eine einfache Einrichtung der Zertifikate, wenn das nötige Grundwissen vorhanden ist.
Das Erneuern von Zertifikaten wurde ebenfalls vereinfacht, weshalb dieser Prozess sogar automatisiert werden kann.

Es sollte nun keine Entschuldigung mehr geben, Webseiten ohne HTTPS zu betreiben.