====== 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