Noch geht es nicht, bei Hostsharing automatisiert Let’s Encrypt Zertifikate anzulegen. Aber es kommt bald…
Jedoch kann ich heute schon mit Hilfe des 200 Zeilen Python Skriptes ACME-tiny in der Hostsharing Umgebung ein SSL Zertifikat erzeugen und mit LetsEncrypt erzeugen lassen.
Achtung: Bitte nur durchführen, wenn Du das ACME-tiny Skript verstehst! Es greift auf deinen privaten Schlüssel zu.
Hier die Schritte innerhalb eines Hostsharing Paketes:
Einmalig auszuführen:
mkdir ~/letsencrypt cd ~/letsencrypt openssl genrsa 4096 > account.key # read and understand https://github.com/diafygi/acme-tiny wget https://raw.githubusercontent.com/diafygi/acme-tiny/master/acme_tiny.py |
Zum Erzeugen und Signieren der Zertifikate für eine Domain meinedomain.de, und gegebenenfalls von weiteren Subdomains, z.b. www:
Zuerst muss eine Konfigurationsdatei erstellt werden, mit dem Namen ~/letsencrypt/ssl.cnf
. Sie kann so aussehen:
[req] req_extensions = v3_req distinguished_name = req_distinguished_name prompt = no [req_distinguished_name] CN = www.meinedomain.de [ v3_req ] # Extensions to add to a certificate request keyUsage = keyEncipherment, dataEncipherment subjectAltName = @alt_names [alt_names] DNS.1 = meinedomain.de DNS.2 = www.meinedomain.de |
Dann sind folgende Befehle auszuführen:
domain=meinedomain.de cd ~/letsencrypt openssl genrsa 4096 > $domain.key openssl req -new -sha256 -key $domain.key -config ssl.cnf > $domain.csr domaindir=~/doms/$domain challengedir=$domaindir/htdocs/.well-known/acme-challenge/ mkdir -p $challengedir for subdomain in www do cd $domaindir/subs/$subdomain && ln -s ../../htdocs/.well-known && cd - if [ -f $domaindir/subs/$subdomain/.htaccess ] then sed -i "s/^Redirect/#letsencrypt Redirect/g" $domaindir/subs/$subdomain/.htaccess fi done if [ -f $domaindir/htdocs/.htaccess ] then sed -i "s/^Redirect/#letsencrypt Redirect/g" $domaindir/htdocs/.htaccess fi python acme_tiny.py --account-key ./account.key --csr ./$domain.csr --acme-dir $challengedir > ./$domain.crt for subdomain in www do rm -f $domaindir/subs/$subdomain/.well-known if [ -f $domaindir/subs/$subdomain/.htaccess ] then sed -i "s/^#letsencrypt Redirect/Redirect/g" $domaindir/subs/$subdomain/.htaccess fi done if [ -f $domaindir/htdocs/.htaccess ] then sed -i "s/^#letsencrypt Redirect/Redirect/g" $domaindir/htdocs/.htaccess fi rm -Rf $challengedir wget -O - https://letsencrypt.org/certs/lets-encrypt-x3-cross-signed.pem > ~/doms/$domain/etc/$domain.chain cp $domain.key ~/doms/$domain/etc/$domain.key cp $domain.crt ~/doms/$domain/etc/$domain.crt ls -1 ~/doms/$domain/etc/* |
Danach eine E-Mail an das Service Team von Hostsharing schicken, und um eine Einrichtung des Zertifikates bitten, mit Angabe wo die Zertifikats-Dateien gespeichert sind, und für welche Domain das Zertifikat bestimmt ist.
Und eine Erinnerung im Kalender setzen, dass das Zertifikat in 3 Monaten erneuert werden muss! 🙂