GNU/Linux >> Znalost Linux >  >> Panels >> Panels

Jak nainstalovat Let’s Encrypt na Ubuntu 20.04 s Apache

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.


Panels
  1. Jak nainstalovat Elgg s Nginx na Ubuntu 14.04

  2. Jak nainstalovat Let's Encrypt SSL na Ubuntu 18.04 s Nginx

  3. Jak nainstalovat Joomla s Nginx na Ubuntu 18.04

  1. Jak nainstalovat Apache na Ubuntu 18.04

  2. Jak nainstalovat Apache na Ubuntu 20.04

  3. Jak nainstalovat Joomla s Apache na Ubuntu 18.04

  1. Jak nainstalovat PrestaShop na Ubuntu 20.04 s Apache

  2. Jak nainstalovat SonarQube s Lets Encrypt na Ubuntu 20.04

  3. Jak nainstalovat NextCloud na Ubuntu 20.04 s Apache