Jak používat Let’s Encrypt with Apache na serveru Ubuntu

Nastavení SSL certifikátů v prostředí Linux může být pro mnohé uživatele zdrojem zmatku, což často vede k vyhýbání se implementaci HTTPS na webových stránkách. Naštěstí se služba Let’s Encrypt snaží tento problém vyřešit, zjednodušujíc proces nastavení SSL certifikátů v Linuxu tak, aby byl srozumitelný téměř pro každého. Pro snadné zřízení SSL certifikátů můžete využít Let’s Encrypt ve spojení s Apache na serveru Ubuntu.

Let’s Encrypt nabízí své služby pro Linux zcela bezplatně. Za jeho používání tedy neplatíte žádné poplatky. Jediným aspektem, který je třeba mít na paměti, je omezená platnost certifikátů. Certifikáty je nutné obnovovat každých 90 dní.

Software Let’s Encrypt podporuje oba nejrozšířenější webové servery v Linuxu – Apache a Nginx. V tomto návodu se zaměříme na získání a konfiguraci SSL certifikátu od Let’s Encrypt pro použití s Apache na serveru Ubuntu.

Poznámka: Let’s Encrypt je kompatibilní se všemi operačními systémy Linux. Pokud nepoužíváte server Ubuntu, klikněte zde pro informace o nastavení na jiných serverových operačních systémech.

Získání nástroje Certbot

Proces získání a instalace certifikátů je díky nástroji Certbot v Linuxu z velké části automatizovaný. Certbot vám umožní rychle získat SSL certifikát na vašem serveru Ubuntu.

Certbot není standardní součástí serveru Ubuntu. Pro jeho použití je nutné aktivovat úložiště softwaru třetích stran (PPA) a nainstalovat jej. Než však přidáte nové PPA, je důležité si uvědomit, že ne každá verze Ubuntu má podporu PPA ihned po instalaci. Pro přístup k PPA na Ubuntu je potřeba nainstalovat balíček software-properties-common.

sudo apt install software-properties-common

Po instalaci balíčku software-properties-common aktivujte úložiště Certbot spuštěním následujícího příkazu:

sudo add-apt-repository ppa:certbot/certbot

Po provedení příkazu add-apt-repository by mělo PPA fungovat. Dále aktualizujte seznam dostupných softwarových balíčků pomocí příkazu update, aby byl Certbot PPA dostupný.

sudo apt update

Nyní, když máte aktualizované zdroje softwaru, nainstalujte balíček Certbot pomocí nástroje Apt.

sudo apt install python-certbot-apache

Povolení HTTPS provozu

Let’s Encrypt usnadňuje rychlé nastavení SSL certifikátů na Linuxu, čímž uživatele osvobozuje od nutnosti provádět celý proces ručně. Jedním z kroků, které je nutné pro použití této služby udělat, je povolení HTTPS provozu pro Apache 2 na serveru.

Pro povolení HTTPS provozu na webovém serveru Apache se ujistěte, že je aktivní brána firewall Ubuntu. Poté pomocí níže uvedených příkazů UFW povolte HTTPS provoz.

Poznámka: Pokud firewall neběží, aktivujte jej pomocí sudo ufw enable a poté jej restartujte.

sudo ufw allow 'Apache Full'

Po úspěšném provedení příkazu UFW by měl být HTTPS provoz povolen. Stav brány firewall můžete ověřit pomocí příkazu sudo ufw status.

sudo ufw status

Generování SSL certifikátu

Váš server Ubuntu je nyní připraven pro použití SSL a Certbot je nainstalován. Nyní můžeme pomocí Certbotu vygenerovat nový SSL certifikát pro webový server Apache.

Pro vygenerování nového certifikátu spusťte Certbot s parametrem pro Apache. Je důležité mít na paměti, že tento certifikát bude fungovat pouze tehdy, pokud doména uvedená v příkazu odpovídá konfiguraci vašeho webu v souboru /etc/apache2/sites-available/.

Poznámka: Nezapomeňte nahradit adresy mywebsite.com a www.mywebsite.com názvem vaší vlastní domény.

sudo certbot --apache -d mywebsite.com -d www.mywebsite.com

Po úspěšném provedení příkazu Certbot se zobrazí textové rozhraní s dotazem na nastavení Apache. Přečtěte si výzvu a vyberte možnost, která nejlépe odpovídá vašim potřebám. Po dokončení tohoto kroku bude váš SSL certifikát připraven k použití!

Obnovení SSL certifikátu

SSL certifikáty Let’s Encrypt mají platnost 90 dní, proto je nutné je pravidelně obnovovat. Naštěstí Certbot automaticky vytváří úlohu Cron, která se o to postará za vás.

Skript Cron pro automatické obnovování se nachází ve složce /etc/cron.d/ vašeho serveru.

Ruční obnova

Díky automatickému skriptu by měl mít váš server Apache vždy aktivní SSL certifikát. Někdy však mohou nastat problémy, proto je užitečné vědět, jak obnovit SSL certifikát ručně.

Pro ruční obnovení SSL certifikátu otevřete terminál, připojte se pomocí SSH a postupujte podle následujících kroků:

Krok 1: Spusťte příkaz certbot renew s parametrem --dry-run. To vám umožní provést testovací obnovu, díky které můžete odhalit případné problémy a ujistit se, že proces proběhne správně.

sudo certbot renew --dry-run

Krok 2: Pokud testovací běh proběhl bez problémů, můžete spustit příkaz pro skutečnou obnovu certifikátu. Spusťte příkaz certbot renew bez parametru --dry-run.

sudo certbot renew

Pokud proběhne obnova úspěšně, váš SSL certifikát bude opět aktivní.