V tomto tutoriálu vám ukážeme, jak nainstalovat klienta Let’s Encrypt na váš CentOS 7 VPS a vydat certifikát SSL pro vaši doménu.
Zlepšení zabezpečení webu pomocí šifrování SSL může zvýšit důvěru návštěvníků ve váš web. V minulosti bylo nastavení šifrování SSL na webu komplikovaným úkolem. Let’s Encrypt je však bezplatná a open source certifikační autorita (CA), která umožňuje získávat a instalovat certifikáty pomocí jednoduchých automatických příkazů. Díky nim je nastavení šifrování a zvýšení bezpečnosti vašeho webu mnohem jednodušší. Let’s Encrypt poskytuje platný certifikát SSL pro vaši doménu bez jakýchkoli nákladů a lze jej použít i pro produkční/komerční použití.
Začněme instalací – je to jednoduchá instalace a nebude to trvat vůbec dlouho.
Předpoklady
- Pro účely tohoto tutoriálu použijeme CentOS 7 VPS.
- Je také vyžadován úplný root přístup SSH nebo uživatel s právy sudo.
- Platný název domény odkazující na IP adresu vašeho serveru. V tomto tutoriálu budeme používat
domain.com
.
Krok 1:Připojte se přes SSH a aktualizujte operační systém
Připojte se k serveru přes SSH jako uživatel root pomocí následujícího příkazu:
ssh root@IP_ADDRESS -p PORT_NUMBER
Nezapomeňte nahradit „IP_ADDRESS“ a „PORT_NUMBER“ příslušnou IP adresou vašeho serveru a číslem portu SSH.
Než začnete s instalací, budete muset aktualizovat balíčky operačního systému na nejnovější verze. Je to snadné a nezabere to více než pár minut.
Můžete to provést spuštěním následujícího příkazu:
yum update
Po dokončení aktualizací můžeme přejít k dalšímu kroku.
Krok 2:Instalace LAMP Stack
Potřebujeme nainstalovat zásobník LAMP na server. Skládá se z Linuxu (který již máme), Apache, MySQL a PHP. Můžeme jej nainstalovat spuštěním následujícího příkazu:
yum install httpd mariadb-server php php-cli php-common
Jakmile jsou všechny balíčky nainstalovány, spusťte služby Apache a MariaDB:
systemctl start httpd systemctl start mariadb
Povolte jim spuštění při spuštění serveru pomocí následujícího příkazu:
systemctl enable httpd systemctl enable mariadb
Krok 3:Konfigurace Apache
Potřebujeme vytvořit nový konfigurační soubor Apache. Můžeme jej vytvořit pomocí následujícího příkazu:
nano /etc/httpd/conf.d/domain.com.conf
Přidejte následující řádky:
<VirtualHost *:80> ServerAdmin [email protected] DocumentRoot "/var/www/html" DirectoryIndex index.html ServerName domain.com ErrorLog "/var/log/httpd/domain.com.error_log" CustomLog "/var/log/httpd/domain.com.access_log" common </VirtualHost>
Uložte a zavřete soubor.
Poté vytvořte index.html
soubor pro testovací účely pomocí následujícího příkazu:
nano /var/www/html/index.html
Přidejte následující řádky:
<html> Test - Welcome to The Apache Web Server. </html>
Uložte soubor a změňte vlastníka souboru „/var/www/html/index.html“ na uživatele Apache, aby Apache mohl soubor číst:
chown -R apache:apache /var/www/html/index.html
Nezapomeňte změnit domain.com
s vaším skutečným názvem domény.
Nyní, když máme nainstalovaný Apache, můžeme pokračovat a nainstalovat certbot
.
Krok 4:Instalace Certbota
Musíme nainstalovat Certbot a povolit mod_ssl
Modul Apache na serveru. Certbot je jednoduchý a snadno použitelný nástroj, který zjednodušuje správu serveru automatizací získávání certifikátů a konfigurací webových služeb pro jejich použití.
Ve výchozím nastavení není balíček Certbot dostupný ve výchozím úložišti operačního systému CentOS 7. Musíme povolit úložiště EPEL a poté nainstalovat Certbot.
Chcete-li přidat úložiště EPEL, spusťte následující příkaz:
yum install epel-release
Po povolení nainstalujte všechny požadované balíčky pomocí následujícího příkazu:
yum install certbot python2-certbot-apache mod_ssl
Po instalaci můžeme přejít k dalšímu kroku.
Krok 5:Získání a instalace SSL pro vaši doménu
Nyní, když je Certbot nainstalován, můžete jej použít k získání a instalaci certifikátu SSL pro vaši doménu.
Jednoduše spusťte následující příkaz pro získání a instalaci certifikátu SSL pro vaši doménu:
certbot --apache -d domain.com
Můžeme také nainstalovat jeden certifikát pro více domén a subdomén hostovaných na serveru s příznakem ‚-d‘, např.:
certbot --apache -d domain.com -d www.domain.com -d domain2.com -d test.domain2.com
Budeme požádáni o poskytnutí e-mailové adresy a souhlas s podmínkami služby.
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] Starting new HTTPS connection (1): acme-v02.api.letsencrypt.org - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 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 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 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 Starting new HTTPS connection (1): supporters.eff.org Obtaining a new certificate Performing the following challenges: http-01 challenge for domain.com Waiting for verification... Cleaning up challenges Created an SSL vhost at /etc/httpd/conf.d/domain.com-le-ssl.conf Deploying Certificate to VirtualHost /etc/httpd/conf.d/domain.com-le-ssl.conf
Napište Y a stiskněte [Enter] a měli byste vidět následující výstup:
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
Zde musíte pro pokračování vybrat libovolnou možnost. Pokud zvolíte možnost 1, stáhne se pouze certifikát SSL a pro použití certifikátu SSL budete muset nakonfigurovat Apache ručně. Pokud zvolíte možnost 2, automaticky se stáhne a nakonfiguruje Apache tak, aby používal SSL certifikát. V tomto případě zvolte možnost 2 a stiskněte [Enter]. Po úspěšném dokončení instalace se zobrazí zpráva podobná této:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Congratulations! You have successfully enabled https://domain.com
IMPORTANT NOTES: - Congratulations! Your certificate and chain have been saved at: /etc/letsencrypt/live/domain.com-0001/fullchain.pem Your key file has been saved at: /etc/letsencrypt/live/domain.com-0001/privkey.pem Your cert will expire on 2019-10-22. 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" - 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
Vygenerované soubory certifikátů jsou k dispozici na /etc/letsencrypt/live/domain.com
adresář. Nově vytvořený certifikát SSL můžete zkontrolovat pomocí následujícího příkazu:
ls /etc/letsencrypt/live/domain.com/
Měli byste vidět následující výstup:
cert.pem chain.pem fullchain.pem privkey.pem
Krok 6:Zkontrolujte svůj certifikát SSL
Otevřete webový prohlížeč a zadejte adresu URL https://domain.com
. Chcete-li zkontrolovat certifikát SSL v Chrome, klikněte na ikonu visacího zámku v adresním řádku pro https://domain.com a ve vyskakovacím okně klikněte na ‚Platný‘ pod výzvou ‚Certifikát‘.
Krok 7:Nastavení automatického obnovení
Ve výchozím nastavení jsou certifikáty Let’s Encrypt platné 90 dní, proto se doporučuje certifikát před vypršením platnosti obnovit. V ideálním případě by bylo nejlepší zautomatizovat proces obnovy a pravidelně kontrolovat a obnovovat certifikát.
Proces obnovy můžeme otestovat ručně pomocí následujícího příkazu.
certbot renew --dry-run
Výše uvedený příkaz automaticky zkontroluje aktuálně nainstalované certifikáty a pokusí se je obnovit, pokud jsou méně než 30 dní od data vypršení platnosti.
Můžeme také přidat cronjob, který automaticky spustí výše uvedený příkaz dvakrát denně.
Chcete-li tak učinit, upravte crontab pomocí následujícího příkazu:
crontab -e
Přidejte následující řádek:
* */12 * * * root /usr/bin/certbot renew >/dev/null 2>&1
Uložte a zavřete soubor.
Gratulujeme! Úspěšně jsme nainstalovali a nakonfigurovali Let’s Encrypt with Apache na CentOS 7 VPS.
Samozřejmě nemusíte instalovat Let’s Encrypt na CentOS 7, pokud používáte jeden z našich spravovaných hostingových plánů VPS, v takovém případě můžete jednoduše požádat naše zkušené administrátory Linuxu, aby vám Let’s Encrypt na váš CentOS 7 VPS nainstalovali. Jsou k dispozici 24×7 a okamžitě se postarají o váš požadavek.
PS . Pokud se vám líbil tento příspěvek o tom, jak nainstalovat Let’s Encrypt na CentOS 7 , nebo pokud to považujete za užitečné, sdílejte to se svými přáteli na sociálních sítích pomocí tlačítek pro sdílení nebo jednoduše zanechte odpověď níže. Děkuji.