.
Installation
#tab1|CentOS 7 #tab2|Ubuntu 18.04
Börja med att installera EPEL repot.
Installera sedan Certbot
yum -y install epel-release yum-utils
yum install certbot python2-certbot-nginx
Börja med lägga till nya repon.
Installera sedan certbot.
Konfiguration
-------------
Certbot körs första gången som en oneliner. Efter det skapas en config
fil under **/etc/certbot/renewal/** med alla inställningar du valde.
Certifikat sparas under **/etc/letsencrypt/live/**
Signera certifikat
------------------
### Renew
Om du en gång skapat ett certifikat och vill signa om det för att det är
på väg att gå ut kan du köra:
Om du vill göra en dry run gör du det med:
Certifikat kommer inte renewas om det är mer än 30 dagar kvar tills dom
går ut by default .
### Webroot
Webroot signering fungerar genom att certbot lägger en fil i en viss
mapp som sedan Let's Encrypts ACME server kommer försöka hämta för att
validera att domänen du vill signa för pekar mot dig och att det är du.
Följande kommando kommer att signera ett cert för hackernet.se och
www.hackernet.se.
### DNS-01
Man kan använda sig av DNS record för att verifera sitt cert. Med DNS
challenge kan man också signa wildcard certifikat.
Börja med att skapa filen **/etc/letsencrypt/dns-01.ini** med följande
innehåll:
`dns_rfc2136_server = `
`dns_rfc2136_name = ``.`
`dns_rfc2136_secret = `
Kör sedan följande kommando:
Automatisera certifikat
-----------------------
### Renew
Med hjälp av systemd timers kan man köra **certbot renew** med mellanrum
för att se till att alla ens certifikat är giltiga.
Börja med att skapa följande service fil:
Skapa sedan timer filen som kommer trigga servicen.
Tjänsten kommer köras en gång i veckan och 300 sekunder efter boot.
Eftersom certbot by default inte signerar nya cert om dom det är mer än
30 dagar kvar så räcker det med 1 gång i veckan.
Starta sedan timern:
Enable timern så att den startas vid boot:
För att visa alla aktiva timers körs:
### Hooks
Certbot kan kalla på olika script före, under och efter en körning.
| Path | Help |
|---------------------------------------|---------------------------------------------------|
| /etc/letsencrypt/renewal-hooks/deploy | Körs enbart efter ett lyckat renewal av ett cert. |
| /etc/letsencrypt/renewal-hooks/pre | Körs alltid före en renew. |
| /etc/letsencrypt/renewal-hooks/post | Körs alltid efter en renew. |
Ett exempel på en fil under deploy för att starta om nginx:
apt-get update
apt-get install software-properties-common
add-apt-repository universe
add-apt-repository ppa:certbot/certbot
apt-get update
apt-get install certbot python-certbot-nginx
certbot renew
certbot renew --dry-run
certbot certonly --webroot --agree-tos --no-eff-email --email dinmail@hackernet.nu -w /path/to/webfolder -d hackernet.se, www.hackernet.se
# Target DNS server
# Target DNS port
dns_rfc2136_port = 53
# TSIG key name
# TSIG key secret
# TSIG key algorithm
dns_rfc2136_algorithm = HMAC-SHA512
certbot certonly --agree-tos --no-eff-email --email dinmail@hackernet.nu --dns-rfc2136 --dns-rfc2136-credentials /etc/letsencrypt/dns-01.ini -d *.subdomain1.hackernet.se,*.subdomain2.hackernet.se,*.subdomain3.hackernet.se
/etc/systemd/system/certbot-renewal.service |
|---|
[Unit] Description=Certbot Renewal [Service] |
/etc/systemd/system/certbot-renewal.timer |
|---|
[Unit] Description=Timer for Certbot Renewal [Timer] [Install] |
systemctl start certbot-renewal.timer
systemctl enable certbot-renewal.timer
systemctl list-timers
#!/bin/bash
systemctl reload nginx.service