Inhaltsverzeichnis

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