🐧 Linux HTTPD 網頁伺服器建置教學(Apache 安裝與設定指南)
Apache HTTP Server(httpd) 是最廣泛使用的開源網頁伺服器之一, 具備高度穩定性、可擴充性與模組化架構,支援 PHP、SSL、Proxy、Rewrite 與多虛擬主機設定。 本篇教學以「實務導向」方式,帶你完成從安裝、啟動到 SSL 啟用的完整流程。
1️⃣ 安裝 Apache HTTPD
# CentOS / RHEL 系列 sudo yum install httpd -y # Ubuntu / Debian 系列 sudo apt update sudo apt install apache2 -y
安裝完成後,主要設定檔位置如下:
/etc/httpd/conf/httpd.conf # CentOS / RHEL /etc/apache2/apache2.conf # Ubuntu / Debian
- DocumentRoot:預設網站根目錄(通常為
/var/www/html) - Listen:監聽的埠號(預設 80)
- Include:載入其他設定檔(例如
conf.d/*.conf)
2️⃣ 啟動與開機自動啟用服務
# 啟動服務 sudo systemctl start httpd # 設定開機自動啟動 sudo systemctl enable httpd # 查看狀態 sudo systemctl status httpd
預設網站目錄為:
/var/www/html/
可建立首頁測試:
echo "<h1>Hello Apache!</h1>" | sudo tee /var/www/html/index.html curl http://localhost
若出現「Hello Apache!」即代表網站服務運作成功。
3️⃣ 防火牆與連線驗證
# 開放 HTTP / HTTPS 服務 sudo firewall-cmd --permanent --add-service=http sudo firewall-cmd --permanent --add-service=https sudo firewall-cmd --reload # 驗證伺服器運作 curl -I http://localhost
或使用瀏覽器開啟 http://伺服器IP 驗證首頁是否可正常顯示。
4️⃣ 設定虛擬主機(Virtual Host)
若同一台主機需服務多個網站,可設定多個虛擬主機:
# /etc/httpd/conf.d/example.confServerName www.example.com DocumentRoot /var/www/example ErrorLog /var/log/httpd/example_error.log CustomLog /var/log/httpd/example_access.log combined
sudo mkdir -p /var/www/example echo "Hello Apache VirtualHost" | sudo tee /var/www/example/index.html sudo systemctl restart httpd
修改本機 hosts 測試:
sudo sh -c 'echo "127.0.0.1 www.example.com" >> /etc/hosts' curl http://www.example.com
若正常顯示內容,即表示虛擬主機配置成功。
5️⃣ 啟用 SSL(HTTPS)
為網站啟用加密連線,可使用自簽憑證進行測試:
# 安裝 mod_ssl 套件 sudo yum install mod_ssl -y # CentOS / RHEL sudo apt install openssl # Ubuntu / Debian # 產生自簽憑證 sudo openssl req -x509 -nodes -days 365 \ -newkey rsa:2048 \ -keyout /etc/ssl/private/apache-selfsigned.key \ -out /etc/ssl/certs/apache-selfsigned.crt
修改 ssl.conf 或 default-ssl.conf 以引用憑證路徑後重新啟動:
sudo systemctl restart httpd curl -k https://localhost
成功顯示即代表 HTTPS 啟用完成。
6️⃣ 常見問題與診斷
# 查看錯誤日誌 sudo tail -n 20 /var/log/httpd/error_log # 確認 Listen Port sudo ss -tuln | grep :80 # 驗證設定語法 sudo apachectl configtest # 重新載入設定(不中斷連線) sudo systemctl reload httpd
若報錯「Permission denied」,請檢查 SELinux 或檔案權限:
sudo setenforce 0 # 或永久調整 /etc/selinux/config 為 permissive
🧭 行動清單(快速複查)
✅ 安裝 httpd / apache2 並設定自啟動 ✅ 開啟防火牆 HTTP / HTTPS ✅ 放置 index.html 測試首頁 ✅ 設定虛擬主機並測試域名對應 ✅ 啟用 SSL 與自簽憑證 ✅ 驗證設定檔語法並觀察日誌
📘 結語
透過以上步驟,你已能成功部署一台完整的 Apache HTTPD 網頁伺服器。 掌握防火牆開放、虛擬主機管理與 SSL 啟用後,即可進一步整合 LAMP 架構或反向代理應用, 打造屬於你自己的穩定網站服務環境。
🔗 延伸閱讀
- 🐧 Linux Proxy Server 建置教學(Squid 安裝與設定指南)
- 🐧 Linux Samba Server 架設指南
- 🐧 Linux LAMP 架構整合(Apache + MariaDB + PHP)
— WWFandy・系統建置筆記
沒有留言: