====== Generierung der TLS-Zertifikate für Nextcloud ======
===== Verzeichnisse für die Zertifikate anlegen =====
Bei der Anlage bitte Ihre echte Domain angeben, da diese Teil der Verzeichnisstruktur ist.
mkdir -p /etc/letsencrypt/nextcloud.hoeglinger.name/rsa
mkdir -p /etc/letsencrypt/nextcloud.hoeglinger.name/ecdsa
chown -R www-data:www-data /etc/letsencrypt
chmod -R 775 /etc/letsencrypt
===== Den ersten virtuellen Host für nginx erstellen =====
Erstellen des Verzeichnisses für die Let’s Encrypt Challenge:
mkdir -p /var/www/letsencrypt/.well-known/acme-challenge
chown -R www-data:www-data /var/www/letsencrypt
chmod -R 775 /var/www/letsencrypt
Anlegen des virtuellen Hosts:
nano /etc/nginx/conf.d/HttpGateway.conf
Inhalt des “HTTP-Gateways”:
server {
listen 80 default_server;
listen [::]:80 default_server;
server_name nextcloud.hoeglinger.name;
root /var/www;
location ^~ /.well-known/acme-challenge {
default_type text/plain;
root /var/www/letsencrypt;
}
location / {
return 301 https://$host$request_uri;
}
}
nginx Selbsttest und Service neu starten:
nginx -t
service nginx restart
===== Funktion des Webservers zur Zertifikats-Generierung überprüfen =====
Anlegen einer Text-Datei mit beliebigem Inhalt:
echo "Test" >> /var/www/letsencrypt/.well-known/acme-challenge/test.txt
Test-Datei im Browser abrufen: http://nextcloud.hoeglinger.name/.well-known/acme-challenge/test.txt
Test-Datei nach erfolgreichem Test löschen:
rm -f /var/www/letsencrypt/.well-known/acme-challenge/test.txt
===== TLS-Zertifikate für Nextcloud generieren =====
In den Kontext des Users ’letsencrypt’´wechseln:
su - letsencrypt
Ausstellen des RSA-Zertifikats:
acme.sh --issue -d nextcloud.hoeglinger.name --keylength 4096 -w /var/www/letsencrypt --key-file /etc/letsencrypt/nextcloud.hoeglinger.name/rsa/key.pem --ca-file /etc/letsencrypt/nextcloud.hoeglinger.name/rsa/ca.pem --cert-file /etc/letsencrypt/nextcloud.hoeglinger.name/rsa/cert.pem --fullchain-file /etc/letsencrypt/nextcloud.hoeglinger.name/rsa/fullchain.pem --reloadcmd "sudo /bin/systemctl reload nginx.service"
Ausstellen des ECDSA-Zertifikats:
acme.sh --issue -d nextcloud.hoeglinger.name --keylength ec-384 -w /var/www/letsencrypt --key-file /etc/letsencrypt/nextcloud.hoeglinger.name/ecdsa/key.pem --ca-file /etc/letsencrypt/nextcloud.hoeglinger.name/ecdsa/ca.pem --cert-file /etc/letsencrypt/nextcloud.hoeglinger.name/ecdsa/cert.pem --fullchain-file /etc/letsencrypt/nextcloud.hoeglinger.name/ecdsa/fullchain.pem --reloadcmd "sudo /bin/systemctl reload nginx.service"
Abmelden des Benutzers ’letsencrypt'
exit
===== Diffie-Hellman-Parameter generieren =====
Das kann schon mal einige Zeit dauern. Nur Geduld.
mkdir -p /etc/nginx/dhparams
openssl dhparam -out /etc/nginx/dhparams/dhparams.pem 4096