熱門分類
載入中…
目錄0%

🐧 Linux HTTPD 網頁伺服器建置教學(Apache 安裝與設定指南)

    🐧 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.conf
    
        ServerName 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.confdefault-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 架構或反向代理應用, 打造屬於你自己的穩定網站服務環境。


    🔗 延伸閱讀

    — WWFandy・系統建置筆記

    🔗 分享這篇 LINE Facebook X

    沒有留言:

    字級