Stellen Sie nun sicher, dass Ihr Server sowohl über Port 80/TCP als auch über Port 443/TCP von außen erreichbar ist. Das Erstellen und Aktualisieren von Let’s Encryptzertifikaten erfolgt zwingend über http und Port 80! Für das Zertifikatshandling erstellen wir nun einen dedizierten Benutzer und fügen diesen der www-data Gruppe hinzu:
adduser --disabled-login acmeuser
usermod -a -G www-data acmeuser usermod -a -G nginx acmeuser
Diesem technischen Benutzer erteilen wir noch die notwendigen Berechtigungen, um bei einer Zertifikatserneuerung den notwendigen Webserverstart initiieren zu können.
visudo
In der Mitte der Datei, unterhalb von
[..] User privilege specification root ALL=(ALL:ALL) ALL [...]
tragen Sie die folgende Zeile ein:
acmeuser ALL=NOPASSWD: /bin/systemctl reload nginx.service
Mit STRG+X gefolgt von einem y speichern und verlassen Sie diese Datei.
Wechseln Sie in die Shell des neuen Benutzers (acmeuser) um die Zertifikatssoftware zu installieren und verlassen diese Shell danach wieder:
su - acmeuser
curl https://get.acme.sh | sh
exit
Passen Sie die entsprechenden Berechtigungen an, um die neuen Zertifikate darin speichern zu können:
chmod -R 775 /home/www/letsencrypt && chmod -R 770 /etc/letsencrypt && chown -R www-data:www-data /home/www/ /etc/letsencrypt chmod -R 775 /home/www/letsencrypt && chmod -R 770 /etc/letsencrypt && chown -R nginx:nginx /home/www/ /etc/letsencrypt
Setzen Sie Let’s Encrypt als Standard CA für Ihren Server
su - acmeuser -c ".acme.sh/acme.sh --set-default-ca --server letsencrypt"
und wechseln dann erneut in die Shell des neuen Benutzers
su - acmeuser
Beantragen Sie nun die SSL-Zertifikate von Let’s Encrypt und ersetzen dabei ihre.domain.de mit Ihrer eigenen Domain :
acme.sh --issue -d ycis.co.kr -d www.ycis.co.kr --server letsencrypt --keylength 4096 -w /home/www/letsencrypt --key-file /etc/letsencrypt/rsa-certs/privkey.pem --ca-file /etc/letsencrypt/rsa-certs/chain.pem --cert-file /etc/letsencrypt/rsa-certs/cert.pem --fullchain-file /etc/letsencrypt/rsa-certs/fullchain.pem --reloadcmd "sudo /bin/systemctl reload nginx.service"
acme.sh --issue -d ycis.co.kr -d www.ycis.co.kr --server letsencrypt --keylength ec-384 -w /home/www/letsencrypt --key-file /etc/letsencrypt/ecc-certs/privkey.pem --ca-file /etc/letsencrypt/ecc-certs/chain.pem --cert-file /etc/letsencrypt/ecc-certs/cert.pem --fullchain-file /etc/letsencrypt/ecc-certs/fullchain.pem --reloadcmd "sudo /bin/systemctl reload nginx.service"
Verlassen Sie die Shell des neuen Benutzers
exit