Ich habe hier im Blog bereits mal über eine Möglichkeit geschrieben sich kostenlose Zertifikate mittels Let´s Encrypt erstellen zu lassen. Vor Kurzem bin ich auf das Tool certbot gestoßen, das diesen Vorgang noch vereinfacht. Daher möchte ich das Tool jetzt hier kurz vorstellen.
Um das Tool zu installieren müsst ihr zuerst die Debian 8 Jessie Backports als Paketquellen hinzufügen.
echo 'deb http://ftp.debian.org/debian jessie-backports main' >> /etc/apt/sources.list
Nach einem erneuten updaten eurer Paketquellen könnt ihr certbot einfach installieren.
apt-get update apt-get install certbot -t jessie-backports
Nun erstellen wir die benötigten “Freigaben”, damit certbot unsere Identität überprüfen kann. Dazu gebt ihr folgendes in die Konsole ein:
echo "location ^~ /.well-known/acme-challenge/ { default_type "text/plain"; root /var/www/letsencrypt; }" >> /etc/nginx/snippets/letsencrypt.conf
Als nächstes erstellen wir das Verzeichnis, in dem alle Zertifikats-Anfragen bearbeitet werden sollen.
mkdir -p /var/www/letsencrypt/.well-known/acme-challenge
Damit euer nginx Server nun die Anfragen von certbot beantworten könnt, müsst ihr folgende Zeile in eurer nginx Konfiguration hinzufügen:
include /etc/nginx/snippets/letsencrypt.conf;
Dies wäre also zum Beispiel in der “Default” Konfiguration:
nano /etc/nginx/sites-available/default
server { listen 80 default_server; listen [::]:80 default_server; include /etc/nginx/snippets/letsencrypt.conf; . . } }
Diese Zeile müsst ihr in ALLE Konfigurationen hinzufügen, die ein Zertifikat bekommen sollen.
Nun müsst ihr festlegen, für welche Domains euer Zertifikat gültig sein soll.
certbot certonly --rsa-key-size 4096 --webroot -w /var/www/letsencrypt -d eureDomain.de -d www.eureDomain.de
Erklärung:
rsa-key-size: Gibt die Schlüssellänge an. 4096Bit zählt derzeit als sicher. webroot: Gibt das Verzeichnis für die Anfragen an. Dies ist unser neu erstellter Ordner -d eureDomain.de: Hier könnt ihr nun alle Domains hinschreiben, die ihr im Zertifikat haben wollt. Optional: --dry-run -> dient zum Testen, ob alles funktioniert
Nun werdet ihr gebeten eine Email Adresse als Kontakt zu hinterlegen.
Wenn ihr fertig seid und alles funktioniert hat, dann sollte es bei euch auch so aussehen.
Einbinden in nginx
ssl on; ssl_certificate /etc/letsencrypt/live/technikrebell.de/fullchain.pem; ssl_certificate_key /etc/letsencrypt/live/technikrebell.de/privkey.pem;
Einbinden in Apache2
SSLEngine on SSLCertificateFile /etc/letsencrypt/live/technikrebell.de/fullchain.pem SSLCertificateKeyFile /etc/letsencrypt/live/technikrebell.de/privkey.pem
W: The repository ‘http://ftp.debian.org/debian jessie-backports Release’ does not have a Release file.
N: Data from such a repository can’t be authenticated and is therefore potentially dangerous to use.
N: See apt-secure(8) manpage for repository creation and user configuration details.
E: Failed to fetch http://ftp.debian.org/debian/dists/jessie-backports/main/binary-i386/Packages 404 Not Found [IP: 2a04:4e42:62::644 80]
E: Some index files failed to download. They have been ignored, or old ones used instead.
hey das funzt alles nicht mehr