從建立目錄、設定 Apache 虛擬主機到申請 SSL 憑證的完整除錯流程。
為新網站建立獨立資料夾,並賦予 Apache 伺服器 (www-data) 讀寫權限。
sudo mkdir -p /var/www/test0823
sudo chown -R www-data:www-data /var/www/test0823
sudo chmod -R 755 /var/www/test0823
在 /etc/apache2/sites-available/ 建立對應的 .conf 檔案,設定 ServerName 與 DocumentRoot。
<VirtualHost *:80>
ServerName test0823.duckdns.org
DocumentRoot /var/www/test0823
</VirtualHost>
啟用網站並重載服務:
sudo a2ensite test0823.conf
sudo systemctl reload apache2
Let's Encrypt 驗證伺服器必須透過 Port 80 連入。如果申請憑證時發生 Timeout during connect,通常是因為防火牆擋住了外網。
0.0.0.0/0。sudo iptables -I INPUT -p tcp --dport 80 -j ACCEPT
sudo iptables -I INPUT -p tcp --dport 443 -j ACCEPT
sudo netfilter-persistent save
確認外網 80 埠口暢通後,執行 Certbot,它會自動完成驗證並產生 HTTPS 的 443 設定檔。
sudo certbot --apache -d test0823.duckdns.org
純 HTML 網頁如果沒有宣告編碼,瀏覽器會使用預設編碼導致繁體中文變成亂碼。必須在 <head> 內加入 UTF-8 宣告:
<meta charset="UTF-8">