V tomto tutoriálu vysvětlíme, jak nainstalovat bezplatný certifikát Let’s Encrypt SSL na CentOS 8 VPS s Nginx jako webovým serverem.
Let’s Encrypt je bezplatná, open-source a nezisková certifikační autorita, která poskytuje bezplatné certifikáty SSL pro webové stránky, aby umožnila šifrování TLS. Byl vyvinut společností Internet Security Research Group (ISRG) a důvěřují mu všechny hlavní prohlížeče. Používá se k automatizaci procesu vytváření, ověřování, podepisování, implementace a obnovování certifikátů pro zabezpečené webové stránky.
Hlavním cílem Let’s Encrypt je propagovat používání SSL na webu a vytvářet šifrovaná připojení po celém internetu, aby byli všichni v tomto procesu bezpečnější. Certifikát je platný pouze 90 dní, takže jej budete muset obnovit ručně nebo nastavit systém automatického obnovení, který by měl být ve výchozím nastavení povolen.
V současné době Let’s encrypt podporuje automatické vydávání certifikací pro Apache, Nginx, Plex a HAproxy, což by mělo pokrýt případ použití téměř každého. Začněme naším instalačním průvodcem.
Předpoklady
- Pro účely tohoto tutoriálu použijeme CentOS 8 VPS.
- Je také vyžadován úplný SSH root přístup nebo uživatel s právy sudo. Všechny naše VPS jsou standardně dodávány s přístupem root bez dalších nákladů.
- Platný název domény ukazuje na vaši IP adresu VPS.
Krok 1:Přihlaste se a aktualizujte balíčky
Nejprve se budeme muset přihlásit na náš server pomocí SSH. Můžete to udělat zadáním tohoto příkazu:
ssh root@IP_Address -p Port_Number
Pokud nepoužíváte uživatele root, nezapomeňte nahradit „root“ svým uživatelským jménem. Změňte „IP_Address“ a „Port_Number“ podle IP adresy vašeho serveru a čísla portu SSH. Výchozí číslo portu SSH je 22.
Jakmile se přihlásíte, měli byste aktualizovat všechny své balíčky na nejnovější dostupné verze.
aktualizace dnf -y
Po dokončení aktualizací restartujte systém, aby se změny projevily.
Krok 2:Instalace Nginx a PHP
Nejprve nainstalujte webový server Nginx a PHP spuštěním následujícího příkazu:
dnf install nginx php php-fpm php-cli -y
Jakmile jsou všechny balíčky nainstalovány, spusťte služby Nginx a PHP-FPM a povolte jim spuštění při startu pomocí následujícího příkazu:
systemctl spustit nginxsystemctl povolit nginxsystemctl spustit php-fpmsystemctl povolit php-fpm
Krok 3:Konfigurace PHP-FPM
Ve výchozím nastavení je PHP-FPM nakonfigurováno tak, aby běželo jako uživatel a skupina Apache. V tomto tutoriálu použijeme webový server Nginx. To znamená, že budete muset nakonfigurovat PHP-FPM, aby běžel jako uživatel a skupina Nginx.
Chcete-li tak učinit, upravte konfigurační soubor PHP-FPM:
nano /etc/php-fpm.d/www.conf
Změňte hodnotu uživatele a skupiny z apache
na nginx
, jak je uvedeno níže:
user =nginxgroup =nginx
Po dokončení uložte a zavřete soubor. Poté restartujte službu PHP-FPM, aby se změny projevily:
systemctl restart php-fpm
Krok 4:Vytvoření virtuálního hostitele Nginx
Než začnete, vytvořte ukázkový web pro Nginx.
mkdir /var/www/html/yourdomain.com
Dále vytvořte ukázkový soubor PHP v adresáři webových stránek a otevřete jej pomocí preferovaného textového editoru:
nano /var/www/html/yourdomain.com/index.php
Přidejte do souboru následující řádky:
Uložte a zavřete soubor a poté nastavte vlastnictví svého webu na nginx
pomocí následujícího příkazu:
chown -R nginx:nginx /var/www/html/yourdomain.com/
Dále vytvořte nový konfigurační soubor virtuálního hostitele Nginx, který bude sloužit vašemu webu:
nano /etc/nginx/conf.d/yourdomain.com.conf
Přidejte následující řádky:
server {název_serveru yourdomain.com;root /var/www/html/yourdomain.com;location / {index index.php;}access_log /var/log/nginx/yourdomain.access.log;error_log /var/log /nginx/yourdomain.error.log;location ~ \.php$ {fastcgi_pass unix:/run/php-fpm/www.sock;fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;include /etc/nginx/fastcgi_preparams;}}>Ujistěte se, že jste nahradili všechny instance
yourdomain
s vaším registrovaným názvem domény.Uložte a zavřete soubor a poté pomocí následujícího příkazu zkontrolujte konfigurační soubor Nginx, zda neobsahuje chyby syntaxe:
nginx -tMěli byste vidět následující výstup:
nginx:syntaxe konfiguračního souboru /etc/nginx/nginx.conf je oknginx:konfigurační soubor /etc/nginx/nginx.conf test byl úspěšnýPoté restartujte službu Nginx, abyste použili změny konfigurace:
systemctl restart nginxVáš webový server by nyní měl být v provozu.
Krok 5:Instalace klienta Certbot
Chcete-li pro svůj web vygenerovat certifikát Let’s Encrypt, budete si muset do systému nainstalovat klienta Certbot.
Certbot je nástroj příkazového řádku, který se používá ke zjednodušení procesu získávání a obnovování certifikátů Let’s Encrypt SSL pro váš web.
Ve výchozím nastavení není balíček Certbot dostupný ve standardním úložišti CentOS. Budete si jej tedy muset stáhnout z webu dodavatele.
Můžete si jej stáhnout a nainstalovat pomocí následujícího příkazu:
wget https://dl.eff.org/certbot-automv certbot-auto /usr/local/bin/certbot-autochmod 0755 /usr/local/bin/certbot-autoPo instalaci Certbota spusťte následující příkaz pro získání a instalaci certifikátu SSL pro váš web:
certbot-auto --nginx -d vasedomena.comVýše uvedený příkaz nejprve nainstaluje všechny požadované závislosti na váš server. Po instalaci budete požádáni o zadání e-mailové adresy a přijetí podmínek služby, jak je uvedeno níže:
Ukládání protokolu ladění do /var/log/letsencrypt/letsencrypt.log Vybrané pluginy:Authenticator nginx, Installer nginxZadejte e-mailovou adresu (používá se pro naléhavé obnovení a bezpečnostní upozornění) (zadejte „c“ pro zrušení):[email protected] - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Přečtěte si prosím Podmínky služby na https://letsencrypt .org/documents/LE-SA-v1.2-November-15-2017.pdf. Chcete-li se zaregistrovat na serveru ACME na adrese https://acme-v02.api.letsencrypt.org/directory- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -(A)gree/(C)ancel:A- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -Byli byste ochotni sdílet svou e-mailovou adresu s Electronic FrontierFoundation, zakládajícím partnerem projektu Let's Encrypt a neziskovou organizací, která vyvíjí Certbot? Rádi bychom vám zaslali e-mail o naší práci na šifrování webu, novinkách EFF, kampaních a způsobech podpory digitální svobody.- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -(Y)es/(N)ne:NPokud nechcete sdílet svůj e-mail s EFF, zadejte N a pokračujte stisknutím klávesy Enter. Po instalaci certifikátu byste měli vidět následující výstup:
Získání nového certifikátuProvedení následujících výzev:Výzva http-01 pro vaši doménu.comČekání na ověření...Vyčištění výzev Nasazení certifikátu na VirtualHost /etc/nginx/conf.d/yourdomain.com.confPřesměrování veškerého provozu na portu 80 na ssl v /etc/nginx/conf.d/yourdomain.com.conf- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -Gratulujeme! Úspěšně jste povolili https://yourdomain.com Měli byste otestovat svou konfiguraci na:https://www.ssllabs.com/ssltest/analyze.html?d=yourdomain.com- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - DŮLEŽITÉ POZNÁMKY:- Gratulujeme! Váš certifikát a řetězec byly uloženy na:/etc/letsencrypt/live/yourdomain.com/fullchain.pemVáš soubor klíče byl uložen na:/etc/letsencrypt/live/yourdomain.com/privkey.pem Platnost vašeho certifikátu vyprší 2020- 08-30. Chcete-li v budoucnu získat novou nebo upravenou verzi tohoto certifikátu, jednoduše spusťte certbot-autoagain s možností „určitě“. Chcete-li neinteraktivně obnovit *všechny* své certifikáty, spusťte "certbot-auto renew"- Přihlašovací údaje k vašemu účtu byly uloženy do vašeho konfiguračního adresáře Certbot v /etc/letsencrypt. Nyní byste měli provést bezpečnou zálohu této složky. Tento konfigurační adresář bude také obsahovat certifikáty a soukromé klíče získané Certbotem, takže pravidelné zálohování této složky je ideální.- Pokud se vám Certbot líbí, zvažte prosím podporu naší práce:Darováním ISRG / Let's Encrypt:https://letsencrypt.org/donateDonating na EFF:https://eff.org/donate-le- Nemohli jsme vás přihlásit do seznamu adresátů EFF, protože se zdá, že vaše e-mailová adresa je neplatná. Můžete to zkusit znovu později na stránce https://act.eff.org.Nyní je váš web zabezpečený pomocí Let's Encrypt SSL. Svůj certifikát SSL můžete otestovat pomocí online nástroje.
Krok 6:Přístup k webu
Nyní otevřete webový prohlížeč a přistupujte na svůj web zabezpečeně pomocí adresy URL
https://yourdomain.com
.Měli byste vidět následující stránku:
Na výše uvedené stránce byste měli vidět, že je web řádně zabezpečen, obvykle se zelenou ikonou zámku na levém okraji adresního řádku.
Krok 7:Nastavení automatického obnovení
Nyní, když jsme na náš CentOS 8 VPS nainstalovali Let’s Encrypt, musíme se ujistit, že náš certifikát zůstane obnovený a platný.
Ve výchozím nastavení jsou certifikáty Let’s Encrypt platné 90 dní. Doporučujeme obnovit certifikát před vypršením jeho platnosti, protože certifikát s prošlou platností poskytne uživatelům bezpečnostní varování, když se pokusí navštívit váš web.
Proces obnovy můžete otestovat ručně pomocí následujícího příkazu.
certbot-auto renew --dry-runVýš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ůžete také přidat cronjob pro automatické spouštění výše uvedeného příkazu dvakrát denně.
Chcete-li tak učinit, upravte soubor crontab pomocí následujícího příkazu:
crontab -ePřidejte následující řádek:
* */12 * * * root /usr/local/bin/certbot-auto renew>/dev/null 2>&1Vždy můžete změnit interval tohoto cronjob, pokud je dvakrát denně příliš často, úpravou hodnot zcela vlevo.
Uložte a zavřete soubor. Nyní bude váš certifikát pravidelně obnovován. Gratulujeme! Nyní jste na svůj server CentOS 8 s Nginx nainstalovali Let’s Encrypt.
Nastavení webu se všemi pluginy a funkcemi, které potřebujete, může zabrat spoustu času a úsilí, které byste mohli věnovat provozování svého podnikání. Pokud používáte jednu z našich spravovaných hostingových služeb CentOS 8, uděláme veškerou práci za vás. Od údržby serveru až po požadavky na instalaci a konfiguraci, pokryjeme vše, co potřebujete k udržení vašeho serveru ve špičkové formě, a to vše bez dalších nákladů.
Pokud vám tento návod pomohl nakonfigurovat váš web Nginx pomocí SSL na vašem CentOS 8 VPS, zvažte zanechání komentáře v sekci komentářů nebo sdílejte tento příspěvek na sociálních sítích pomocí našich zkratek pro sdílení. Děkuji.
Jak nainstalovat Odoo 14 na CentOS 8 s Nginx jako reverzní proxy Jak nainstalovat a nakonfigurovat CyberPanel na CentOS 8Cent OS