Zum Inhalt

CertBot

Einleitung

Zu den Voraussetzungen für dieses HowTo siehe bitte: Voraussetzungen

Unser WebHosting System wird folgende Dienste umfassen.

  • CertBot 1.27.0 (LetsEncrypt ACME API 2.0)

Installation

Wir installieren security/py-certbot und dessen Abhängigkeiten.

Bash
mkdir -p /var/db/ports/security_py-certbot
cat > /var/db/ports/security_py-certbot/options << "EOF"
_OPTIONS_READ=py37-certbot-1.27.0
_FILE_COMPLETE_OPTIONS_LIST=MANPAGES
OPTIONS_FILE_SET+=MANPAGES
"EOF"


cd /usr/ports/security/py-certbot
make all install clean-depends clean


cat >> /etc/periodic.conf << "EOF"
weekly_certbot_enable="YES"
"EOF"

Konfiguration

Es müssen zuerst noch zwei DNS-Records angelegt werden, sofern sie noch nicht existieren, oder entsprechend geändert werden, sofern sie bereits existieren.

Text Only
example.com.            IN  CAA     ( 0 issue "letsencrypt.org" )
example.com.            IN  CAA     ( 0 issuewild "letsencrypt.org" )

Wir beziehen nun erstmal die für dieses HowTo benötigten Zertifikate:

Bash
certbot register --standalone --agree-tos --no-eff-email -m admin@example.com

certbot certonly --standalone --key-type=ecdsa --elliptic-curve=secp384r1 -d devnull.example.com -d example.com
certbot certonly --standalone --key-type=ecdsa --elliptic-curve=secp384r1 -d mail.example.com
certbot certonly --standalone --key-type=ecdsa --elliptic-curve=secp384r1 -d www.example.com

Wir konfigurieren CertBot für den Bezug weiterer Zertifikate:

Bash
mkdir -p /usr/local/etc/letsencrypt
cat > /usr/local/etc/letsencrypt/cli.ini << "EOF"
key-type = ecdsa
elliptic-curve = secp384r1
rsa-key-size = 4096
email = admin@example.com
authenticator = webroot
webroot-path = /data/www/acme
server = https://acme-v02.api.letsencrypt.org/directory
text = true
agree-tos = true
preferred-challenges = http
"EOF"

Abschluss

Weitere Zertifikate für einzelne Domains können, sobald der Webserver Apache installiert und gestartet ist, dann künftig so erstellt werden:

Bash
certbot certonly -d subdomain.example.com

Author: Markus Kohlmeyer

Published:

Last updated:

License: CC BY-NC-SA 4.0