Bei Lets-Encrypt kann man kostenlos SSL-Zertifikate erwerben.
Aktuell kann man einen Lets-Encrypt Client von Github downloaden.
cd /opt git clone https://github.com/letsencrypt/letsencrypt
Nun kann man mit dem Script letsencrypt-auto
ein Zertifikat für eine oder mehrere Domains erstellen.
Da das Letsencrypt Script einen Webserver startet und dieser auch auf Port 80 läuft, muss vorher jeder Webserver-Dienst gestoppt werden.
service nginx stop [service apache2 stop] cd /opt/letsencrypt ./letsencrypt-auto certonly --standalone --email <POSTFACH>@<DOMAIN>.<TLD> -d <DOMAIN> [-d <DOMAIN>] [-d <DOMAIN>]
Es wird nun das Verzeichnis /etc/letsencrypt
erstellt.
Hier werden alle Zertifikate und sonstige Einstellungen abgelegt.
Möchte man ein Zertifikat und den dazugehörigen Key in einem Programm verwenden, dann nutzt man einfach folgende Pfade:
etc/letsencrypt/live/<DOMAIN>/fullchain.pem
/etc/letsencrypt/live/<DOMAIN>/privkey.pem
Möchte man eine Subdomain später hinzufügen, erweitert man einfach den o.g. Befehl zum Erstellen der Zertifikate um die Subdomain.
Man wird dann gefragt ob man die bestehenden Zertifikate erweitern möchte.
Die Zertifikate sind nur 3 Monate gültig.
Um diese kontinuierlich zu erweitern, legt man sich eine Zeile in der Crontab
an.
Dieser Befehl wird dann z.B. jede Woche ausgeführt.
00 1 * * 7 root /usr/sbin/service nginx stop && /opt/letsencrypt/letsencrypt-auto certonly --keep-until-expiring --standalone --email <POSTFACH>@<DOMAIN>.<TLD> -d <DOMAIN> [-d <DOMAIN>] [-d <DOMAIN>] && /usr/sbin/service nginx start