Mit Letsencrypt kann man sehr einfach SSL-Zertifikatte erstellen und kostenlos signieren lassen. In einem älteren Beitrag habe ich beschrieben, wie ich Zertifikate hole und automatisch aktualisiere. Das war noch etwas „hemdsärmlig“ durch clonen eines entsprechenden git-Repos. Inzwischen macht „man“ das offenbar mit dem Certbot. Und so benutze ich diesen:
„Certbot“ via Ansible installieren – inkl. Auto-Renew der Letsencrypt-Zertifikate
Mit folgendem Playbook installiere ich certbot auf den betroffenen Hosts und richte eine automatische Aktualisierung aller (auch späteren) Zertifikite ein:
- name: Install certbot
hosts: certbot
# see https://galaxy.ansible.com/geerlingguy/certbot/
roles:
- role: geerlingguy.certbot
tags: certbot
certbot_install_from_source: "{{ (ansible_distribution == 'Ubuntu' and ansible_distribution_version == '16.04') }}"
certbot_auto_renew: true
certbot_auto_renew_hour: 5
certbot_auto_renew_minute: 30
certbot_create_if_missing: no
certbot_admin_email: dirk@sdfsdfsdf.de
certbot_create_standalone_stop_services:
- apache2
Bemerkenswert ist die certbot_install_from_source
-Zeile: Der mit Ubuntu 16.04 standardmäßig in dessen Repo verteilte certbot ist zu alt. Daher gebe ich hier an, dass dann certbot nicht von Ubuntu sondern den Quellen installiert werden soll.
Dabei wird folgender Crontab-Eintrag erzeugt:
#Ansible: Certbot automatic renewal.
30 5 * * * /opt/certbot/certbot-auto renew --quiet --no-self-upgrade
--no-self-upgrade
weil certbot via Ansible aktualisiert wird.
Zertifikate erstellen
Neue Web-Server mit Zertifikat erstelle ich folgendermaßen:
- Simple Apache-Konfig für http erstellen und aktivieren:
<VirtualHost *:80> ServerName diddeldaddeldum.de DocumentRoot /export/www/diddeldaddeldum.de/ ServerAdmin webmaster@diddeldaddeldum.de #LogLevel warn ServerSignature Off ErrorLog ${APACHE_LOG_DIR}/diddeldaddeldum.de_error.log CustomLog ${APACHE_LOG_DIR}/diddeldaddeldum.de_access_log combined Include /etc/apache2/dstk-all-sites-incl.conf </VirtualHost>
und
a2ensite diddeldaddeldum.de
- Mit certbot alles erledigen, was Zertifikat und SSL betrifft:
/opt/certbot/certbot-auto
…und den Anweisungen folgen.
Dadurch wird
- ein Zertifikat und
/etc/letsencrypt/...
erstellt und via letsencrypt verifiziert und signiert. - ein SSL-Web-Server erstellt und konfiguriert.
- ein 1:1 Redirect vom HTTP zum HTTPS-Server eingerichtet (sofern gewünscht).
- ein Zertifikat und
-
Nun noch in der SSL-Webserver-Konfig ggf. für diesen Server notwendige Einstellungen vornehmen. Fertig.
One thought on “Letsencrypt mit Certbot automatisch erstellen und aktualisieren”