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í.