Kurz howto Apache Let’s Encrypt manual certonly

Let’s Encrypt Stand 11.2015, befindet sich noch im Closed Beta Stadium. Der Aufruf des Client vereinfacht sich mit der Öffnung des Programms in die Public Beta Phase, dies soll am 03.12.2015 erfolgen. Die Idee ist, den Let’s Encrypt Client, unabhängig von produktiv Servern, in einer Debian VirtualBox laufen zu lassen.

Voraussetzung in der Apache Konfiguration des produktiven Servers.

<IfModule mod_headers.c>
 <Location "/.well-known/acme-challenge/*">
  ForceType 'text/plain'
  AddDefaultCharset Off
 </Location>
</IfModule>

Aufruf des Let’s Encrypt Client nach Download und automatischer Installation der Zusatzpakete.

:~# ./letsencrypt-auto --agree-dev-preview --server https://acme-v01.api.letsencrypt.org/directory --rsa-key-size 4096 -d localhorst.org -d www.localhorst.org -a manual certonly

Antwort des Client.

Make sure your web server displays the following content at
http://www.localhorst.org/.well-known/acme-challenge/UNlz-LF37xdavu0mmNz9B2BcWHgh4LTPme6JHYUiRtc before continuing:

UNlz-LF37xdavu0mmNz9B2BcWHgh4LTPme6JHYUiRtc.t4AlErS_BLsNGfouG9tLYvI2pukxJdqAjI0zd9_BYAM

Bedeutet: Domain Validated SSL. Im Documentroot des entsprechenden Webservers die Überprüfungsseite einrichten.

:~$ echo -n "UNlz-LF37xdavu0mmNz9B2BcWHgh4LTPme6JHYUiRtc.t4AlErS_BLsNGfouG9tLYvI2pukxJdqAjI0zd9_BYAM" > .well-known/acme-challenge/UNlz-LF37xdavu0mmNz9B2BcWHgh4LTPme6JHYUiRtc

Überprüfung der Erreichbarkeit mittels curl.

:~$ curl -i http://localhorst.org/.well-known/acme-challenge/UNlz-LF37xdavu0mmNz9B2BcWHgh4LTPme6JHYUiRtc
HTTP/1.1 200 OK
Date: Tue, 17 Nov 2015 10:14:50 GMT
Server: Apache
Last-Modified: Tue, 17 Nov 2015 10:12:31 GMT
ETag: "57-524b9c382c66b"
Accept-Ranges: bytes
Content-Length: 87
Vary: Accept-Encoding
Content-Type: text/plain

UNlz-LF37xdavu0mmNz9B2BcWHgh4LTPme6JHYUiRtc.t4AlErS_BLsNGfouG9tLYvI2pukxJdqAjI0zd9_BYAMhp@debtest:~/test/letsencrypt$

Der echo -n Vorgang muss für jede Domain die mittels -d hinzugefügt wurde wiederholt werden. Nach erfolgreicher Beantragung und Rückmeldung des Clients, liegen die Zertifikats- und Schlüsseldateien im Verzeichniss.

:~# cd /etc/letsencrypt/archive/<domainname>
-rw-r--r-- 1 root root 2232 Nov 17 11:20 cert1.pem
-rw-r--r-- 1 root root 1675 Nov 17 11:20 chain1.pem
-rw-r--r-- 1 root root 3907 Nov 17 11:20 fullchain1.pem
-rw-r--r-- 1 root root 3272 Nov 17 11:20 privkey1.pem

Diese Dateien müssen auf den produktiven Server kopiert und der Apache Konfiguration bekannt gemacht werden. Es werden nur diese beiden benötigt.

SSLEngine On
SSLCertificateFile /etc/ssl/fullchain1.pem
SSLCertificateKeyFile /etc/ssl/privkey1.pem