696 字
3 分鐘
Oracle Arm 架構伺服器上使用 Nginx UI 與 SSL 憑證

由於一次手癢的更新伺服器,不幸讓伺服器「翻車」了。距離上次重建伺服器已經有一段時間,這次藉此機會重新設定,並將過程記錄下來。 剛好之前發現了一個實用的工具 Nginx UI,它提供圖形化介面來管理 Nginx,甚至能自動更新 SSL 憑證。就裝來試試看,雖然目前 SSL 設定上還遇到一些問題,但會先記錄目前為止的步驟,待問題解決後再進行更新。

開始#

建立一台 Oracle Arm 架構伺服器,並具備基本的 Linux 操作知識。

Oracle Arm 架構伺服器

建議: 在開始前,確保您的伺服器系統為最新狀態,並已設定好域名解析。

設定 root 密碼#

  1. 使用 SSH 登入伺服器。
  2. 執行 sudo su 切換至 root 使用者。
  3. 執行 passwd 並依照指示設定 root 密碼。

安裝 Nginx#

建議: 參考 DigitalOcean 的 Nginx 安裝教學:https://www.digitalocean.com/community/tutorials/how-to-install-nginx-on-ubuntu-22-04

sudo apt update
sudo apt install nginx

設定防火牆#

由於 Oracle Linux 預設使用 iptables,因此我們需要調整防火牆設定:

  1. 允許 ufw 規則

    sudo ufw allow 'Nginx HTTP'
    
  2. 開啟 ufw

    sudo ufw enable
    
  3. 要刪除 iptables 並重裝 ufw (因為是Oracle的關係)

    apt-get remove iptables
    apt-get install ufw
    
  4. 重開機,輸入檢查 ufw 是不是被自動關掉,是的話再打開一次,再重開機,確定重開機不會被關掉

    sudo ufw status
    sudo ufw enable
    

檢查 Nginx 狀態#

sudo systemctl status nginx

安裝 Nginx UI#

Nginx UI

Nginx UI 提供一個方便的圖形化介面來管理 Nginx 設定。

bash <(curl -L -s [https://mirror.ghproxy.com/https://raw.githubusercontent.com/0xJacky/nginx-ui/master/install.sh](https://mirror.ghproxy.com/https://raw.githubusercontent.com/0xJacky/nginx-ui/master/install.sh)) install -r [https://mirror.ghproxy.com/](https://mirror.ghproxy.com/)

注意: Nginx UI 預設監聽端口為 9000,首次開啟需註冊帳號密碼。

安裝 SSL 憑證 (需要域名)#

Certbot

我們將使用 Certbot 自動取得與安裝 Let’s Encrypt 的免費 SSL 憑證。

建議: 確保您的域名解析已正確設定,指向您的伺服器 IP。

NOTE

如果 Domain是 gandi 的話,為了使用 Certbot 要先安裝 python3-certbot-nginx

sudo apt-get update
sudo apt-get -y install python3-certbot-nginx
  1. 安裝 Certbot:
sudo snap install --classic certbot
sudo ln -s /snap/bin/certbot /usr/bin/certbot
  1. 取得並安裝憑證:
sudo certbot --nginx

依照指示輸入您的域名,Certbot 將自動完成憑證的取得與安裝。

  1. 測試自動續訂:
sudo certbot renew --dry-run

開始使用 Nginx UI#

  1. 開啟瀏覽器,輸入 http://<您的伺服器IP>:9000
  2. 使用您註冊的帳號密碼登入。
  3. 在 Nginx UI 中新增您的網站,並進行相關設定。 Nginx UI 新增網站
  4. 需要進 server 重新執行,新設定的網域才有辦法加上 SSL
sudo certbot renew --dry-run

完成#

已經成功在 Oracle Arm 架構伺服器上安裝 Nginx,並使用 Nginx UI 進行管理與安裝 SSL 憑證。

參考資料:

Oracle Cloud Ubuntu 不用預設 iptables 的方法

Nginx UI

Certbot

How To Install python3-certbot-nginx on Ubuntu 22.04

Oracle Arm 架構伺服器上使用 Nginx UI 與 SSL 憑證
https://laplusda.com/posts/nginx-ui-ssl-on-oracle-arm-server/
作者
Zero
發佈於
2024-07-20
許可協議
CC BY-NC-SA 4.0