Ha saját VPS-en vagy dedikált szerveren futtatja a weboldalát, az ingyenes Let’s Encrypt tanúsítványt a Certbot programmal igényelheti. A Certbot elvégzi a domain-validációt, beállítja a tanúsítványt a webszerverben, és gondoskodik az automatikus megújításról. A cPanel tárhelyeken erre nincs szükség, ott az AutoSSL végzi ugyanezt.
Előfeltételek
- A domain (és a
wwwaldomain) A rekordja a szerver IP-címére mutat. - A szerver tűzfalán nyitva van a 80-as és a 443-as port. A Let’s Encrypt a 80-as porton ellenőrzi a domaint, lásd: Hogyan állítsak be tűzfalat a VPS-emen?
- A webszerveren (Apache vagy Nginx) már be van állítva a domain, és HTTP-n elérhető.
rootvagysudojogosultság.
A Certbot telepítése
AlmaLinux, Rocky Linux, CloudLinux (8, 9, 10):
dnf install epel-release
dnf install certbot python3-certbot-apache # Apache esetén
dnf install certbot python3-certbot-nginx # Nginx esetén
Debian, Ubuntu:
apt update
apt install certbot python3-certbot-apache # Apache esetén
apt install certbot python3-certbot-nginx # Nginx esetén
A tanúsítvány igénylése
Nginx:
certbot --nginx -d pelda.hu -d www.pelda.hu
Apache:
certbot --apache -d pelda.hu -d www.pelda.hu
Az első futtatáskor a Certbot kéri az e-mail-címét (erre küld értesítést, ha a fiókkal kapcsolatban teendő van), és a felhasználási feltételek elfogadását. Ezután elvégzi a validációt, kiállíttatja a tanúsítványt, és beírja a webszerver beállításaiba. Végül felajánlja a HTTP-kérések HTTPS-re irányítását is.
Ha a webszerver beállításához nem szeretné, hogy hozzányúljon
A certonly paranccsal a Certbot csak igényli a tanúsítványt, a webszerver beállítását Önre bízza. A --webroot módban a validációs fájlt a weboldal gyökérkönyvtárába teszi:
certbot certonly --webroot -w /var/www/pelda.hu -d pelda.hu -d www.pelda.hu
A tanúsítvány fájljai a /etc/letsencrypt/live/pelda.hu/ könyvtárba kerülnek:
| Fájl | Tartalma | Hová kell? |
|---|---|---|
fullchain.pem |
a tanúsítvány és a köztes tanúsítvány | Nginx: ssl_certificate, Apache: SSLCertificateFile |
privkey.pem |
a privát kulcs | Nginx: ssl_certificate_key, Apache: SSLCertificateKeyFile |
cert.pem |
csak a tanúsítvány | önmagában ne használja, mert hiányzik belőle a köztes tanúsítvány |
Hogy miért a fullchain.pem a helyes választás, azt a köztes tanúsítványról szóló cikk magyarázza el.
Automatikus megújítás
A csomagból telepített Certbot egy időzítőt (systemd timer) is hoz, amely naponta kétszer ellenőrzi, kell-e megújítani valamelyik tanúsítványt. Debianon és Ubuntun ez magától elindul, AlmaLinuxon, Rocky Linuxon és CloudLinuxon viszont be kell kapcsolni:
systemctl enable --now certbot-renew.timer
Ellenőrizze, hogy az időzítő fut:
systemctl list-timers | grep certbot
A megújítást próbaképpen, éles tanúsítvány kiadása nélkül így tesztelheti:
certbot renew --dry-run
Ha a megújítás után a webszervert újra kell tölteni (certonly módban), adja meg a parancsot a megújításnál:
certbot renew --deploy-hook "systemctl reload nginx"
A Let’s Encrypt tanúsítványai jelenleg 90 napig érvényesek, 2027 februárjától 64, 2028 februárjától 45 napig (lásd: Miért nem érvényesek már egy évig az SSL tanúsítványok?). A Certbot alapértelmezett megújítási logikája ehhez igazodik. Ha azonban saját szkriptben fix időközönként (például 60 naponta) újít meg, állítsa át: a rövidebb tanúsítványok addigra már lejárnának. A Certbotot tartsa naprakészen.
A megújítás kézi lépéseiről és hibakereséséről a Let’s Encrypt tanúsítvány kézi megújítása parancssorból cikk szól.
Hasznos parancsok
# A szerveren lévő tanúsítványok és lejáratuk
certbot certificates
# Egy domain hozzáadása egy meglévő tanúsítványhoz
certbot --nginx --cert-name pelda.hu -d pelda.hu -d www.pelda.hu -d bolt.pelda.hu
# Egy tanúsítvány törlése
certbot delete --cert-name pelda.hu
Fizetős tanúsítvány ACME-vel
A Certbot nemcsak a Let’s Encrypttel működik. Ha az Ügyfélportálon ACME-előfizetésű fizetős tanúsítványt vásárolt, a szolgáltatás oldalán megtalálja a Server URL, az EAB MAC ID és az EAB MAC key értékét. Ezekkel a Certbot ugyanúgy automatikusan igényli és megújítja a fizetős tanúsítványt:
certbot --nginx --server <Server URL> \
--eab-kid <EAB MAC ID> --eab-hmac-key <EAB MAC key> \
-d pelda.hu -d www.pelda.hu
A wildcard tanúsítványok igényléséről külön cikkünk szól.