Jak jsem nasadil Let’s Encrypt 2

Možná si ještě vzpomínáte na můj první článek o tom, Jak jsem nasadil Let’s Encrypt. Jo, nebyl příliš jednoduchý ale zase jste věděli co se vám na serveru děje. Dneska ukáži jednodušší způsob: Cerbot.

Instalace

Automatická instalace certifikátů a nastavení Apache:

Pokud jste konzervativní a nechcete aby vám Cerbot zasahoval do konfigurace Apache, přidejte k příkazu certonly:

Po spuštění se zobrazí průvodce, který požaduje váš e-mail a nalezne všechny virtualhosty na serveru a nabídne pro ně vygenerování certifikátů. Vyberete ty, které chcete použít.

Certifikáty jsou poté vygenerovány do: /etc/letsencrypt/live/www.jmeno-domeny.cz/fullchain.pem

Obnovení platnosti certifikátu

Let’s Encrypt vydává certifikáty s platností 90 dní. Obnova certifikátů se provádí příkazem:

If that appears to be working correctly, you can arrange for automatic renewal by adding a cronor systemd job which runs the following:

Vygenerování nového certifikátu

 

Jak jsem nasadil Let’s Encrypt

Dnes si prakticky ukážeme jak zprovoznit Let’s Encrypt na vlastním serveru s Debianem a Apache. Let’s Encrypt je továrna na certifikáty zdarma.

Instalace Let’s Encrypt

Zastavíme Apache

Přesvědčíme se že na portu 80 nic neposlouchá:

Vygenerování certifikátu

  1. zadáme email
  2. souhlasíme s podmínkami
  3. zadáme doménová jména pro která chceme certifikát (example.com, www.example.com, app.example.com)

Opět spustíme Apache

Certifikáty byly vytvořeny do složky:

Do Apache pak stačí pouze přidat (základní nejjdnodužší nastavení):

vim meducina.cz-ssl.conf:

Přidáme tuto konfiguraci:

Restartovat Apache a je to 🙂

Ovšem doporučuji Apache nastavit pořádně. K tomu pomůže Generator Mozilla Security (musel jsem povolit a2enmod headers). Takto mi to funguje

Přesměrování na https

Veškerý traffic přesměrujeme na http

 

Obnova certifikátů

Doporučuji si udělat symlink aby příkaz letsencrypt-auto fungoval kdekoliv z příkazové řádky:

Certifikáty jsou vystavené pouze s platností 90 dnů! Zároveň je doporučováno je každých 60 dnů obnovit. Aktualizace certifikátů zatím stále není k dispozici, ale certifikát obnovíme opětovným spuštěním příkazů uvedených výše.

 

Pravidelná aktualizace certifikátů

Abychom nemuseli myslet na pravidelnou aktualizaci certifikátů, přidáme záznam do cornu, který nám je bude automaticky aktualizovat:

Obnovu certifikátů budeme spouštět každý první den v sudém měsíci ve 4:00 ráno:

To je vše. Není nutné restartovat Apache

Ovšem lepší je dát do cronu pouze 1 script, který bude automaticky obnovovat certifikáty:

vim /root/letsencrypt-renew

Nastavit oprávnění pro spouštění: