如何在 Rocky Linux 8 上使用 Let’s Encrypt SSL 證書加密您的 Apache Web 服務器


在不斷變化的網絡威脅世界中,保護您的 Web 服務器是重中之重。 加固 Web 服務器的最簡單方法之一是使用 SSL 證書保護它。 它對網絡服務器和用戶瀏覽器之間交換的流量進行加密,以防止黑客嗅探或攔截用戶名和密碼等敏感信息。

Let’s Encrypt 是一個免費的自動證書頒發機構,可幫助您使用有效期約為 90 天的免費 SSL 證書設置安全的 HTTPS 服務器。本指南將引導您完成使用 Let’s Encrypt SSL 證書保護 Web 服務器的過程。

我需要

首先,我假設您已經在 Rocky Linux 8 上安裝了 Apache Web 服務器堆棧。如果沒有,請查看我們的指南,了解如何在 Rocky Linux 8 上安裝 LAMP 服務器。第一步是如何安裝 Apache HTTP Web 服務器的演練。

此外,請確保您有一個指向服務器公共 IP 地址的有效域名。本指南使用一個名為 linuxtechgeek.info。

第 1 步:安裝 EPEL 存儲庫

現在開始安裝 EPEL(企業 Linux 的額外軟件包)。這是 Fedora 為基於 RHEL 的系統提供的附加軟件包。

所以運行命令 show 。

$ sudo dnf install epel-release

第 2 步:安裝 Certbot

安裝EPEL後,繼續安裝 證書機器人 certbot 的 apache 模塊, 和 mod_ssl 這是一個提供加密功能的 Apache 模塊。

$ sudo dnf install certbot python3-certbot-apache mod_ssl

安裝軟件包後,重新啟動 Apache HTTP Web 服務器。

$ sudo systemctl restart httpd 

此外,請確保 Web 服務器正在運行。

$ sudo systemctl status httpd 

第 3 步:創建虛擬主機文件

接下來,配置 Apache 虛擬主機文件。這是為域的 Web 內容提供服務的配置,certbot 使用它來促進 Let’s Encrypt 的安裝。

因此,為您的網站創建一個文件夾。在這種情況下,創建目錄 linuxtechgeek.info 這是指向您的 Web 服務器 IP 的域名。

$ sudo mkdir -p /var/www/linuxtechgeek.info

將目錄所有權分配給 Apache 用戶。

$ sudo chown -R apache:apache /var/www/linuxtechgeek.info

接下來,在目錄中創建一個虛擬主機文件。 /etc/httpd/conf.d 目錄。

$ sudo vim /etc/httpd/conf.d/linuxtechgeek.info.conf

粘貼您看到的配置並確保替換 linuxtechgeek.info 使用自己的域名

<virtualhost *:80>

ServerName linuxtechgeek.info

ServerAlias www.linuxtechgeek.info

DocumentRoot /var/www/linuxtechgeek.info

ErrorLog /var/log/httpd/linuxtechgeek.info-error.log

CustomLog /var/log/httpd/linuxtechgeek.info-access.log combined

</virtualhost>

保存配置文件並退出。然後重新啟動 Apache Web 服務器。

$ sudo systemctl restart httpd

現在讓我們獲取 SSL 證書。

第 4 步:獲取 SSL 證書

最後,要使用 Certbot 安裝 Let’s Encrypt,請運行以下命令:

$ sudo certbot --apache

這將引導您完成一系列步驟來配置 SSL 證書、輸入您的電子郵件地址、閱讀並接受使用條款,並選擇一個名稱以啟用 HTTPS。

Certbot 檢測虛擬主機配置並為所有配置請求 Let’s Encrypt SSL 證書。

在 certbot 完成將 SSL 證書應用到您的 Web 服務器後,通過在 SSL Labs 中運行 SSL 服務器測試來測試您的 SSL 設置。這是一個在線平台,可對您網站的 Web 服務器進行深入分析。

步驟 5:配置自動證書更新

如上所述,Let’s Encrypt 證書的有效期僅為 90 天,之後必須續訂。您可以使用以下命令在到期前一天手動更新證書:

$ certbot renew 

更好的方法是設置一個 cron 作業來自動化證書更新過程。所以打開 crontab 文件。

$ crontab -e

將此行添加到文件末尾並保存更改。

0 0 * * * /usr/bin/certbot renew > /dev/null 2>&1

這是一個包。 我們希望您可以使用 Let’s Encrypt SSL 證書保護您的 Apache Web 服務器。