Jak nainstalovat Let’s Encrypt SSL s Apache na Debian 11. Také se naučíte konfigurovat virtuální hostitele s Apache a zabezpečit nastavení pomocí přesměrování HTTPS.
Toto nastavení je testováno v cloudu Google, takže bude fungovat na všech cloudových hostingových službách, jako je AWS, Azure nebo jakékoli VPS nebo na jakýchkoli dedikovaných serverech se systémem Debian 11.
Předpoklady
- Kořenový přístup k vašemu serveru nebo uživateli sudo.
- Doména ukazuje na IP adresu vašeho serveru pro instalaci Let’sEncrypt SSL
Krok 1:Inicializace nastavení
Začněte aktualizací balíčků na nejnovější dostupnou verzi pomocí následujícího příkazu.
sudo apt update sudo apt upgrade
Nainstalujte balíček wget.
sudo apt install wget
Po aktualizaci nastavení můžete zahájit nastavení.
Krok 2:Instalace Apache
Nainstalujte Apache pomocí následujícího příkazu.
sudo apt install apache2
Tím se nainstaluje apache2
a všechny požadované závislosti.
Krok 3:Nastavení brány firewall
Nyní můžete nastavit Uncomplicated Firewall (UFW) s Apache a povolit veřejný přístup na výchozích webových portech pro HTTP
a HTTPS
sudo ufw app list
Zobrazí se všechny uvedené aplikace.
Output
Available applications:
Apache
Apache Full
Apache Secure
OpenSSH
- Apache :Tento profil otevírá port
80
(normální, nešifrovaný webový provoz) - Apache Full :Tento profil otevírá oba porty
80
(normální, nešifrovaný webový provoz) a port443
(provoz šifrovaný TLS/SSL) - Apache Secure :Tento profil otevírá pouze port
443
(provoz šifrovaný TLS/SSL) - OpenSSH :Tento profil otevírá port
22
pro přístup SSH.
Pokud nebudete používat SSL, musíte povolit pouze profil Apache.
Nyní povolíme Apache Full.
sudo uff allow OpenSSH sudo ufw allow 'Apache Full'
Pomocí tohoto příkazu můžete zobrazit stav UFW.
sudo ufw status
Výstup uvidíte následovně.
Output
Status: active
To Action From
-- ------ ----
Apache Full ALLOW Anywhere
OpenSSH ALLOW Anywhere
Apache Full (v6) ALLOW Anywhere (v6)
OpenSSH (v6) ALLOW Anywhere (v6)
Krok:4 Kontrola instalace Apache
Jakmile je Apache nainstalován, spustí se automaticky a již je v provozu.
Každý proces v Apache je spravován pomocí systemctl
příkaz. Zkontrolujte stav Apache pomocí následujícího příkazu.
sudo systemctl status apache2
Output ● apache2.service - The Apache HTTP Server Loaded: loaded (/lib/systemd/system/apache2.service; enabled; vendor preset: enabled) Drop-In: /lib/systemd/system/apache2.service.d └─apache2-systemd.conf Active: active (running) since Tue 2022-02-02 10:29:51 UTC; 5min ago Main PID: 10617 (apache2) Tasks: 55 (limit: 667) CGroup: /system.slice/apache2.service ├─10617 /usr/sbin/apache2 -k start ├─10619 /usr/sbin/apache2 -k start └─10620 /usr/sbin/apache2 -k start Feb 02 10:29:51 apache systemd[1]: Starting The Apache HTTP Server… Feb 02 10:29:51 apache systemd[1]: Started The Apache HTTP Server.
Nyní máme Apache nainstalovaný a nakonfigurovaný Firewall.
Krok 5:Konfigurace Apache
Zakázat výchozí konfiguraci Apache.
sudo a2dissite 000-default
Vytvořte adresáře webových stránek.
sudo mkdir -p /var/www/html/domainname/public
Nastavte správná oprávnění.
sudo chmod -R 755 /var/www/html/domainname sudo chown -R www-data:www-data /var/www/html/domainname
Vytvořte novou konfiguraci virtuálního hostitele.
sudo nano /etc/apache2/sites-available/domainname.conf
Vložte následující konfigurace do nového souboru.
<VirtualHost *:80> ServerAdmin example@unixlinux.onlinedomainname.com ServerName domainname.com ServerAlias www.domainname.com DocumentRoot /var/www/html/domainname/public <Directory /var/www/html/domainname/public> Options Indexes FollowSymLinks AllowOverride All Require all granted </Directory> ErrorLog ${APACHE_LOG_DIR}/error.log CustomLog ${APACHE_LOG_DIR}/access.log combined </VirtualHost>
Povolte novou konfiguraci.
sudo a2ensite domainname.conf
Krok 6:Instalace Let’s Encrypt SSL
HTTPS je protokol pro zabezpečenou komunikaci mezi serverem (instance) a klientem (webovým prohlížečem). Díky zavedení Let’s Encrypt, který poskytuje bezplatné certifikáty SSL, je HTTPS přijato všemi a také poskytuje důvěru vašemu publiku.
Zde nainstalujeme Certbot pro instalaci Let’sEncrypt SSL pomocí Snap.
sudo apt update sudo apt install snapd -y sudo snap install core sudo snap refresh core
Nainstalujte nástroj Certbot.
sudo snap install --classic certbot
Nakonfigurujte Certbot tak, aby byl spustitelný jako příkaz.
sudo ln -s /snap/bin/certbot /usr/bin/certbot
Nyní jsme nainstalovali Certbot pro instalaci Let’s Encrypt for Debian 11.
Spuštěním následujícího příkazu nainstalujte své certifikáty.
sudo certbot --apache --agree-tos --redirect -m example@unixlinux.online -d domainname.com -d www.domainname.com
Vyberte příslušnou možnost a stiskněte Enter
Tento příkaz nainstaluje bezplatné SSL, nakonfiguruje přesměrování na HTTPS a restartuje server Apache.
Krok 7:Obnovení certifikátu SSL
Certifikáty poskytované Let’s Encrypt jsou platné pouze 90 dní, takže je musíte často obnovovat. Pojďme tedy otestovat funkci obnovení pomocí následujícího příkazu.
sudo certbot renew --dry-run
Tento příkaz otestuje vypršení platnosti certifikátu a nakonfiguruje funkci automatického obnovení.
Krok:8:Otestujte nastavení
Jakmile provedete potřebné kroky, můžete ve svém webovém adresáři vytvořit nový testovací soubor HTML.
sudo nano /var/www/html/domainname/public/index.html
Vložte níže uvedený kód do souboru.
<!DOCTYPE html> <html> <body> <h1>Test page with HTTPS</h1> </body> </html>
Uložte soubor.
Nyní pokračujte a zkontrolujte název své domény v prohlížeči (domainname.com
).
Uvidíte, že vaše doména byla přesměrována na HTTPS a uvidíte výstup HTML.
Rozšiřte svou kariéru v administraci systému Linux s dokončeným školicím kurzem a získejte práci svých snů.
Závěr
Nyní jste se naučili, jak nainstalovat Let’s Encrypt Free SSL s Apache na Debian 11.
Díky za váš čas. Pokud narazíte na jakýkoli problém nebo zpětnou vazbu, zanechte prosím komentář níže.