如何在 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 網絡。

另外,請確保您有指向服務器公共 IP 地址的有效域名。 對於本指南,我們將使用名為linuxtechgeek.info。

第 1 步:安裝 EPEL 存儲庫

馬上,我們將開始安裝 EPEL(Enterprise Linux 的附加軟件包)。 這是一個 Fedora 存儲庫,為基於 RHEL 的系統提供額外的軟件包。

因此,運行顯示命令。

                      
                        $ 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這是我的域名指向我的網絡服務器的 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 證書。

第四步:獲取SSL證書

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

                      
                        $ sudo certbot --apache
                      
                    

這將指導您完成一系列步驟來設置您的 SSL 證書、提供您的電子郵件地址、閱讀並同意服務條款以及選擇您要啟用 HTTPS 的名稱。

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

一旦 certbot 在您的 Web 服務器上完成應用 SSL 證書,繼續通過在以下位置執行 SSL 服務器測試來測試您的 SSL 配置SSL實驗室. 這是一個在線平台,可以對您網站的網絡服務器進行深度掃描。

第 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 服務器。

相關文章