System Update
Für eine korrekte Funktion benötigt CertBot viele Pakete. Daher führen wir zunächst ein Update aller Pakete aus:
yum -y update
Dann wird das EPEL (Extra Packages for Enterprise Linux) Repositrory installiert, um die aktuellsten Python Pakete für CertBot zu erhalten:
# yum -y install epel-release
Achtung: Wenn der Server individuell konfiguriert wurde, kann eine Update die Webseite beeinflussen. Wenn dies geschieht, sollte ein Serverexperte konsultiert werden.
CertBot von EFF holen
CertBot ist im CentOS 7 EPEL Repository verfügbar, unter CentOS 7 wird CertBot also installiert durch Eingabe von:
yum -y install python-certbot-apache
Unter CentOS 6 wird das Programm wie folgt heruntergeladen und ausführbar gemacht:
# wget https://dl.eff.org/certbot-auto # chmod 755 certbot-auto
Apache mit CertBot konfigurieren
Unter CentOS 6 und 7 ist Apache der übliche Webserver. Wir beschreiben daher hier die Konfiguration mit diesem.
CertBot bietet ein Plugin um Apache zu konfigurieren. Zum Starten folgenden Befehl eingeben:
certbot --apache
CertBot listet dann alle Domains auf, die auf dem Webserver eingerichtet sind und fragt danach, für welche Domains SSL konfiguriert werden soll.
Die nächsten beiden Schritte fragen nach der Administrator Email-Adresse und nach Bestätigung der Lizenzbestimmungen. Danach wird gefragt, ob alle Zugriffe über HTTPS erfolgen sollen.
Eine komplette Verschlüsselung der ganzen Webseite ist immer vorzuziehen, da dies vor Fälschen der Inhalte und vielen webbasierten Attacken schützt. Wenn die Webseite allerdings hart kodierte Links enthält, also http://homepage.eu, resultiert daraus ein Zertifikat-Fehler - also alle Links auf https ändern.
Automatische Verlängerung konfigurieren
Let's Encrypt Zertifikate laufen nach 90 Tagen ab. Also sollte ein Cron Job eingerichtet werden, der diese alle 85 Tage verlängert. Davor sollte ein Testlauf (Dry Run) durchgeführt werden, um sicher zu gehen, dass alles funktioniert:
# certbot renew --dry-run
Wenn alles in Ordnung ist, folgenden Befehl in die Crontab (täglich) aufnehmen:
certbot renew --quiet
Mögliche Probleme
CertBot macht einiges einfacher, aber es kann zu Problemen bei der Einrichtung kommen, wie z.B.
- Apache Konfiguration blockiert Zugriff auf versteckte Verzeichnisse
Der Let's Encrypt Client schreibt in ein Verzeichnis names '.well-known' um die Identität des Client zu verifizieren. Also sicherstellen, dass die Apache Konfiguration den Zugriff auf versteckte Verzeichnisse erlaubt. - Domain weisst nicht auf den Server
Sicherstellen, dass die Domains (und Subdomains) auf den Server verweisen. - Webseite mit Passwort-Schutz
Den Passwortschutz aufheben, falls einer besteht. - Paket-Konflikte bei unterschiedlichen Repositories
Beim Update des Servers oder der Nutzung verschiedener Pakete können Versions-Konflikte auftreten. Sorgfälltig kontrollieren, dass keine Anwendungen beeinträchtigt werden - insbesondere wenn Python Web Applikationen eingesetzt werden.