V tomto článku vám ukážeme, jak nainstalovat klienta Let’s Encrypt na váš Ubuntu 20.04 VPS, vydat certifikát SSL pro vaši doménu a nakonfigurovat ji pomocí webového serveru Apache.
Let’s Encrypt je organizace certifikační autority (CA), která umožňuje komukoli získat bezplatný certifikát SSL pomocí jednoduchých a automatizovaných příkazů. V tomto tutoriálu použijeme nástroj nazvaný certbot
, což je oficiální součást snahy EFF zašifrovat celý internet. Díky tomuto pohodlnému nástroji nebylo nastavení SSL certifikátu pro ochranu návštěvníků vašeho webu a zlepšení zabezpečení vašeho webu nikdy jednodušší. Všechny SSL certifikáty poskytované Let’s Encrypt lze použít pro produkční/komerční účely bez jakýchkoli nákladů a poplatků. Začněme instalací a nastavením.
Začněme instalací – je to jednoduchá instalace a nebude trvat dlouho.
Předpoklady
- Pro účely tohoto tutoriálu použijeme Ubuntu 20.04 VPS.
- Je vyžadován uživatel s právy sudo nebo úplným rootovským přístupem SSH. Všechny naše VPS přicházejí s přístupem root.
- Platný název domény odkazující na IP adresu vašeho serveru. V tomto tutoriálu budeme používat
domain.com
jako příklad.
1. Připojte se k vašemu serveru
Než začneme, musíte se připojit k serveru přes SSH jako uživatel root. Chcete-li to provést, použijte následující příkaz:
ssh root@IP_ADDRESS -p PORT_NUMBER
samozřejmě budete muset nahradit IP_ADDRESS
a PORT_NUMBER
s vaší skutečnou IP adresou serveru a číslem portu SSH.
Po přihlášení se pomocí následujících příkazů ujistěte, že je váš server aktuální:
sudo apt update sudo apt upgrade
2. Nainstalujte webový server Apache2
V našem článku jsme se rozhodli použít jeden z nejpopulárnějších webových serverů. Budeme instalovat Apache2, protože potřebujeme webový server, na který nainstalujeme bezplatný certifikát Let’s Encrypt SSL. Nemá smysl mít SSL certifikát bez jakýchkoli webových stránek. Zjistěte o některých z nejlepších bezplatných alternativ Let’s Encrypt.
Chcete-li nainstalovat Apache2, spusťte následující příkaz:
sudo apt install apache2
Jakmile je Apache2 nainstalován na vašem serveru, budete moci službu spustit, zastavit a povolit pomocí níže uvedených příkazů. Doporučujeme jej povolit, aby se Apache mohl automaticky spouštět při každém restartu serveru.
sudo systemctl stop apache2.service sudo systemctl start apache2.service sudo systemctl enable apache2.service
Pro potvrzení, že jste správně nainstalovali Apache2, můžete otevřít svůj preferovaný webový prohlížeč a zadat IP adresu svého serveru nebo svou doménu (předpokládáme, že je nasměrována na váš server) a měli byste být schopni zobrazit výchozí stránku Apache2 Ubuntu.
3. Nakonfigurujte virtuálního hostitele Apache
Protože nyní máte na svém serveru nainstalovaný Apache, můžeme pokračovat a ukázat vám, jak vytvořit virtuálního hostitele pro doménu, kterou chcete používat. Jako náš editor použijeme nano, ale pokud nano nepreferujete, můžete použít libovolný editor podle svého výběru a vytvořit nový konfigurační soubor s názvem domain.com.conf
.
sudo nano /etc/apache2/sites-available/domain.com.conf
Poté vložte konfiguraci zespodu do souboru a nahraďte všechny výskyty domain.com
s vaším skutečným názvem domény.
<VirtualHost *:80> DocumentRoot /var/www/html/domain.com ServerName domain.com ServerAlias www.domain.com <Directory /var/www/html/domain.com/> Options FollowSymlinks AllowOverride All Require all granted </Directory> ErrorLog ${APACHE_LOG_DIR}/error.log CustomLog ${APACHE_LOG_DIR}/access.log combined </VirtualHost>
Po dokončení úprav soubor uložte a zavřete.
Jakmile nakonfigurujete virtuálního hostitele, můžete jej povolit provedením následujících příkazů.
Zakažte výchozího předinstalovaného virtuálního hostitele pomocí:
sudo a2dissite 000-default
poté povolte domain.com
virtuální hostitel:
sudo a2ensite domain.com.conf
také se musíte ujistit, že mod rewrite
je povoleno:
sudo a2enmod rewrite
Restartujte Apache, aby se změny projevily.
sudo systemctl restart apache2.service
4. Nainstalujte Certbot
Jak již bylo zmíněno, budeme používat Certbot, abychom mohli získat bezplatný certifikát SSL od Let’s Encrypt. Chcete-li nainstalovat tento užitečný nástroj, musíme povolit universe
úložiště:
sudo apt install software-properties-common sudo add-apt-repository universe sudo apt update
Spusťte tento příkaz na příkazovém řádku na počítači a nainstalujte Certbot.
sudo apt install certbot python3-certbot-apache
5. Vygenerujte si bezplatný certifikát Let’s Encrypt SSL
Existuje mnoho způsobů, jak získat certifikát SSL pomocí Certbot. Použijeme plugin Apache, který se postará o překonfigurování Apache’s Virtual Host a novou konfiguraci za nás znovu načte. Pro použití pluginu můžete spustit následující příkaz:
sudo certbot --apache
Pomocí tohoto skriptu musíte odpovědět na řadu otázek a zadat e-mailovou adresu. V prvním kroku musíte zadat platnou e-mailovou adresu. E-mailová adresa je vyžadována pro oznámení a bezpečnostní upozornění týkající se certifikátu vašeho webu:
Output: Saving debug log to /var/log/letsencrypt/letsencrypt.log Plugins selected: Authenticator apache, Installer apache Enter email address (used for urgent renewal and security notices) (Enter 'c' to cancel): [email protected]
Dalším krokem je potvrzení, že souhlasíte se smluvními podmínkami Let’s Encrypt. Pokud chcete potvrdit, stačí napsat A a poté stisknout [ENTER]:
Output: - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Please read the Terms of Service at https://letsencrypt.org/documents/LE-SA-v1.2-November-15-2017.pdf. You must agree in order to register with the ACME server at https://acme-v02.api.letsencrypt.org/directory - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - (A)gree/(C)ancel: A
Pokud chcete poskytnutou e-mailovou adresu sdílet s EFF (Electronic Frontier Foundation), abyste mohli dostávat novinky a další informace, můžete zadat Y. Pokud si nepřejete dostávat tento typ e-mailu, můžete zadat N a odeslat odpověď do zadáním [ENTER].
Output: - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Would you be willing to share your email address with the Electronic Frontier Foundation, a founding partner of the Let's Encrypt project and the non-profit organization that develops Certbot? We'd like to send you email about our work encrypting the web, EFF news, campaigns, and ways to support digital freedom. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - (Y)es/(N)o: N
Nyní musíte vybrat doménu, pro kterou chcete aktivovat HTTPS. Domény a subdomény uvedené na příkazovém řádku se automaticky získají z konfigurace virtuálního hostitele Apache. Zadejte čísla oddělená čárkami a/nebo mezerami, nebo pokud chcete povolit HTTPS pro všechny domény nebo subdomény, můžete nechat výzvu prázdnou. V obou případech pak stiskněte [ENTER] a přejděte k dalšímu kroku.
Output: Which names would you like to activate HTTPS for? - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 1: domain.com 2: www.domain.com - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Select the appropriate numbers separated by commas and/or spaces, or leave input blank to select all options shown (Enter 'c' to cancel):
Výstup bude podobný tomuto:
Output: Obtaining a new certificate Performing the following challenges: http-01 challenge for domain.com http-01 challenge for www.domain.com Waiting for verification... Cleaning up challenges Created an SSL vhost at /etc/apache2/sites-available/domain.com-le-ssl.conf Deploying Certificate to VirtualHost /etc/apache2/sites-available/domain.com-le-ssl.conf Enabling available site: /etc/apache2/sites-available/domain.com-le-ssl.conf
Certbot poskytuje přesměrování HTTPS jako možnost, kterou můžete povolit. V tomto kroku vás skript vyzve, abyste vybrali, zda chcete celý HTTP provoz přesměrovat na HTTPS nebo zachovat aktuální konfiguraci. Vyberte 1, pokud nechcete přesměrování, nebo 2 pro povolení přesměrování, poté stiskněte [ENTER].
Output: Please choose whether or not to redirect HTTP traffic to HTTPS, removing HTTP access. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 1: No redirect - Make no further changes to the webserver configuration. 2: Redirect - Make all requests redirect to secure HTTPS access. Choose this for new sites, or if you're confident your site works on HTTPS. You can undo this change by editing your web server's configuration. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Select the appropriate number [1-2] then [enter] (press 'c' to cancel): 2
Dobrá práce. Váš certifikát SSL je nyní nainstalován a načten v konfiguraci Apache. Uvidíte výstup podobný následujícímu:
Output: Redirecting vhost in /etc/apache2/sites-enabled/domain.com.conf to ssl vhost in /etc/apache2/sites-available/domain.com-le-ssl.conf - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Congratulations! You have successfully enabled https://domain.com You should test your configuration at: https://www.ssllabs.com/ssltest/analyze.html?d=domain.com - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - IMPORTANT NOTES: - Congratulations! Your certificate and chain have been saved at: /etc/letsencrypt/live/domain.com/fullchain.pem Your key file has been saved at: /etc/letsencrypt/live/domain.com/privkey.pem Your cert will expire on 2021-09-09. To obtain a new or tweaked version of this certificate in the future, simply run certbot again with the "certonly" option. To non-interactively renew *all* of your certificates, run "certbot renew" - Your account credentials have been saved in your Certbot configuration directory at /etc/letsencrypt. You should make a secure backup of this folder now. This configuration directory will also contain certificates and private keys obtained by Certbot so making regular backups of this folder is ideal. - If you like Certbot, please consider supporting our work by: Donating to ISRG / Let's Encrypt: https://letsencrypt.org/donate Donating to EFF: https://eff.org/donate-le
Chcete-li ověřit, zda je váš nový certifikát SSL správně nastaven, navštivte https://domain.com/
ve webovém prohlížeči a zkontrolujte, zda se v řádku URL zobrazuje zelená ikona zámku. Můžete také použít externí web nebo nástroje a zkontrolovat, zda je váš certifikát SSL správně nainstalován.
6. Ověření automatického obnovení Certbot
SSL certifikáty poskytované Let’s Encrypt jsou platné pouze 90 dní. Certbot, kterého jsme nainstalovali, nastaví cronjob, který se postará o obnovení jakéhokoli SSL certifikátu, který je do třiceti dnů po expiraci. Chcete-li zkontrolovat stav této služby, můžete provést příkaz:
sudo systemctl status certbot.timer
Output: ● certbot.timer - Run certbot twice daily Loaded: loaded (/lib/systemd/system/certbot.timer; enabled; vendor preset: enabled) Active: active (waiting) since Thu 2021-06-11 11:33:00 UTC; 1h 37min ago Trigger: Thu 2021-06-11 15:52:01 UTC; 2h 41min left Triggers: ● certbot.service
nebo můžete vypsat všechny časovače pomocí:
sudo systemctl list-timers
Automatické obnovení certifikátů můžete otestovat provedením tohoto příkazu:
sudo certbot renew --dry-run
a příkaz k obnovení certifikátu SSL lze nalézt v jednom z následujících umístění:
/etc/crontab/ /etc/cron.*/*
Gratulujeme! Úspěšně jste nainstalovali bezplatný certifikát Let’s Encrypt SSL pro vaši doménu.
V tomto článku jsme vám ukázali, jak nainstalovat webový server Apache2 a Certbot, a také jak vytvořit virtuálního hostitele Apache a samozřejmě nainstalovat certifikát SSL pro vaši doménu. Vaše webové stránky by nyní měly být zabezpečené a automaticky se obnovovat, aby tak zůstaly.
Samozřejmě, pokud jste jedním z našich zákazníků Managed Ubuntu Hosting, nemusíte si Let’s Encrypt SSL certifikát pro svou doménu instalovat sami – jednoduše se zeptejte našich administrátorů, posaďte se a relaxujte. Naši administrátoři vám okamžitě nainstalují certifikát Let’s Encrypt SSL na váš Ubuntu 20.04 VPS spolu s mnoha užitečnými optimalizacemi, které pro vás můžeme udělat.
Pokud se vám tento příspěvek o tom, jak nainstalovat Let’s Encrypt na Ubuntu 20.04 s Apache, líbil, sdílejte jej se svými přáteli na sociálních sítích pomocí níže uvedených tlačítek pro sdílení nebo jednoduše zanechte komentář v sekci komentářů. Děkuji.