初始建立

  • 建立管理者 cshuai 帳號密碼(所有操作避免直接使用 root ,而是用管理者身份並用 sudo 執行,以便留下維護紀錄跟可以歸責)
    • sudo adduser cshuai
      sudo visudo
      # 加入「%sudo   ALL=(ALL:ALL) NOPASSWD: ALL」
      sudo usermod -aG sudo cshuai 
      sudo su cshuai
      vim .ssh/authorized_keys
      # 放入 public key ,以便從遠端登入

Apache2伺服器相關

建立 SSL 憑證

  1. /root/.acme.sh/acme.sh --issue -d official-en.aiacademy.tw -w /root/liveserver2024/data/www/official-en-aia/laravel/public --debug --use-wget
  2. /root/.acme.sh/
  3. 設定 -ssl.conf ,換成上述 domain 的資訊
  4. 到 apache2 container 裡面啟動

1️⃣ 先啟用 Port 80 站點(不啟用 SSL)

docker exec -it apache2 bash -c “a2ensite 站點名稱.conf” docker exec -it apache2 bash -c “apachectl graceful”

2️⃣ 執行 acmes.sh 產生憑證

/root/.acme.sh/acme.sh —issue -d 網域名稱 -w /root/liveserver2024/data/www/acme_wroot —use-wget

3️⃣ 確認憑證成功後,再啟用 SSL 站點

docker exec -it apache2 bash -c “a2ensite 站點名稱-ssl.conf” docker exec -it apache2 bash -c “apachectl graceful”

如果不行,-ssl.conf 可以先啟動,但要把 SSLEngine on 設成 off ,然後執行 acmes.sh

防火牆

fail2ban

待補細節: 參考這個網頁 https://hackmd.io/@tom54699/rJzi4v-kR

參考這個 Claude(私人) https://claude.ai/chat/216c617e-2b2d-460c-962d-eddd98238161

監控