對於系統管理員而言,Webmin 是一個福音。它是一個基於網頁的控制面板,允許使用現代網頁介面遠端管理 Linux 機器。Webmin 可以即時變更各種系統設定,包括網頁伺服器和資料庫。它還可以管理使用者、群組和套件。
在本指南中,我們將引導您在 Ubuntu 18.04 上安裝和設定 Webmin 的步驟.
Ubuntu 上的 Webmin
雖然 Webmin 是系統管理員常用的工具,但它並未包含在官方的Ubuntu 套件庫中。幸好,Webmin 為 Ubuntu 提供了專用的 PPA。它負責保持軟體最新。在我們開始之前,以下是您需要的先決條件:
- 您需要一台具有 sudo 非 root 使用者和防火牆的 Ubuntu 伺服器。請參考如何在此處安裝您的 Ubuntu 伺服器,以及如何在此處設定您的 sudo 使用者.
- 由於 Webmin 的性質,保護其免受未授權存取非常重要。預設情況下,Webmin 附帶了幾項安全性功能。然而,在本指南中,我們將使用 Let’s Encrypt 和 Apache 來保護 Webmin。請按照本教學來 安裝您的 Apache 伺服器.
- 對於以下教學,您還需要有一個 FQDN,其 DNS 記錄指向該伺服器的 IP 地址。
- 您還需要 Certbot,您可以按照以下教學的第一步來安裝:我們在 Ubuntu 18.04 上使用 Let’s Encrypt 保護 Apache 的教學。您將利用 Certbot 為 Webmin 建立 TLS/SSL 憑證。
現在,讓我們開始吧!
在 Ubuntu 上安裝 Webmin
要安裝 Webmin,我們需要新增 Webmin PPA。首先,確保系統包含所有必要的相依性套件:
|
1 |
sudo apt update && sudo apt install software-properties-common apt-transport-https wget |
接下來,匯入 Webmin PGP 金鑰:
|
1 |
wget -q http://www.webmin.com/jcameron-key.asc -O- | sudo apt-key add - |
最後,新增 Webmin 套件庫:
|
1 |
sudo add-apt-repository "deb [arch=amd64] http://download.webmin.com/download/repository sarge contrib" |
APT 現在可以識別 Webmin PPA。更新 APT 快取:
|
1 |
sudo apt update |
最後,安裝 Webmin:
|
1 |
sudo apt install webmin |
安裝完成後,將顯示類似以下的內容,表示可以直接透過以下連結存取 Webmin。在此範例中,它使用的是我的系統主機名稱:
|
1 |
https://localhost:10000 |
它指出,要使用 Webmin 完全控制系統,使用者必須知道 root 密碼。然而,這不足以保護像 Webmin 這樣敏感的系統。正如我們之前提到的,我們將把它放在具有有效 TLS/SSL 憑證的 Apache 網頁伺服器後面。
保護 Webmin
要存取 Webmin,預設方法是開啟連接埠 10000。在我們的情況下,這並非最佳選擇。為了解決這個問題,我們將設定一個 Apache 虛擬主機 作為運行在連接埠 10000 上的 Webmin 伺服器的代理。然後,將使用從 Let’s Encrypt 取得的 TLS/SSL 憑證來保護該虛擬主機。此步驟需要您已安裝並正確設定 Apache 網頁伺服器和 Certbot。
- 建立新的 Apache 虛擬主機
新的虛擬主機將由其設定檔定義。在您選擇的文字編輯器中開啟設定檔:
|
1 |
sudo vim /etc/apache2/sites-available/my_domain.conf |
在檔案中,新增以下幾行:
|
1 2 3 4 5 6 |
<VirtualHost *:80> ServerAdmin <email> ServerName <domain> ProxyPass / http://localhost:10000/ ProxyPassReverse / http://localhost:10000/ </VirtualHost> |
它指示 Apache 將傳送到虛擬主機的請求轉發到以下位置的 Webmin 伺服器。它還能確保 Webmin 生成的內部連結會通過 Apache。
- 停用 Webmin TLS/SSL
因為我們將為 Apache 配置 TLS/SSL,所以 Webmin 不需要擁有自己的 TLS/SSL。建議從 Webmin 中停用此功能。接下來,在您選擇的文字編輯器中開啟 Webmin 設定檔:
|
1 |
sudo vim /etc/webmin/miniserv.conf |
然後,搜尋以下這行:
|
1 |
ssl=1 |
在這裡,值「1」表示 Webmin 已啟用 SSL。接下來,將該值設定為「0」以停用 Webmin SSL。
- 將網域新增至 Webmin
預設情況下,Webmin 不會允許我們的網域存取它。這是因為此類存取可能是惡意攻擊的一部分,例如跨網站指令碼 (XSS) 攻擊。
為了確保 Webmin 允許我們的網域,必須在 Webmin 設定中進行宣告。使用您喜愛的文字編輯器開啟設定檔:
|
1 |
sudo vim /etc/webmin/config |
在文字底部,新增以下這行:
|
1 |
referers=<domain> |
之後,儲存文字、結束編輯器,並重新啟動 Webmin 服務以使所有變更生效:
|
1 |
sudo systemctl restart webmin |
- 設定 Apache
我們需要 Apache 的 proxy_http 模組。以下命令將啟用它:
|
1 |
sudo a2enmod proxy_http |
它會建議重新啟動 Apache。但是,您需要先啟用新的虛擬主機:
|
1 |
sudo a2ensite <domain> |
最後,重新啟動 Apache。它將啟用該模組和虛擬主機:
|
1 |
sudo systemctl restart apache2 |
以下命令將設定防火牆以允許連接埠 80 和 443(Apache 用於 HTTP/HTTPS 流量的預設連接埠)的傳入流量:
|
1 |
sudo ufw allow in "Apache Full" |
要驗證設定是否成功,請前往您的網域。它應該會顯示 Webmin 登入頁面。但是,請「不要」登入 Webmin。由於尚未實作 TLS/SSL,它將透過 HTTP 進行通訊,並以純文字格式傳送所有資料:
|
1 |
http://<domain> |
- 設定 TLS/SSL
我們需要一個適用於我們網域的憑證,以便對連線進行加密。為此,我們將使用 Let’s Encrypt。它是一個免費、自動化且開放的憑證授權單位 (CA)。它由網際網路安全研究小組 (ISRG) 提供,旨在為公眾利益服務。
要產生憑證,certbot 是在 shell 中使用的工具。執行以下 certbot 命令為您的網域產生 TLS/SSL 憑證,並設定 Apache 將流量重新導向至安全網站:
|
1 |
sudo certbot --apache --email <email> -d <domain> --agree-tos --redirect --noninteractive |
輸出將如下所示:
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
正在儲存 偵錯 記錄 至 /var/log/letsencrypt/letsencrypt.log 外掛程式 已選擇: 驗證器 apache, 安裝器 apache 正在取得 一個 新 憑證 正在執行 以下 的 驗證: http-01 驗證 針對 <domain> 已啟用 Apache rewrite 模組 正在等待 以進行 驗證... 正在清理 up 驗證 已建立 一個 SSL vhost 於 /etc/apache2/sites-available/<domain>-le-ssl.conf 已啟用 Apache socache_shmcb 模組 已啟用 Apache ssl 模組 正在部署 憑證 至 VirtualHost /etc/apache2/sites-available/<domain>-le-ssl.conf 正在啟用 可用 網站: /etc/apache2/sites-available/<domain>-le-ssl.conf 已啟用 Apache rewrite 模組 正在重新導向 vhost 於 /etc/apache2/sites-enabled/<domain>.conf 至 ssl vhost 於 /etc/apache2/sites-available/<domain>-le-ssl.conf ------------------------------------------------------------------------------- 恭喜! 您 已 成功 啟用 https://<domain> 您 應該 測試 您的 設定 於: https://www.ssllabs.com/ssltest/analyze.html?d=<domain> ------------------------------------------------------------------------------- |
這表示憑證安裝成功,且 Apache 已成功設定為將請求從 http://<domain> 重新導向至 https://<domain>.
使用 Webmin
最後,我們準備好使用 Webmin 來管理系統。從網頁瀏覽器開啟 Webmin 網域,並以 root 使用者(或任何其他具有 sudo 權限的使用者)登入。
- 管理使用者與群組
首先,讓我們看看如何使用 Webmin 管理使用者與群組。從左側面板,前往 System >> Users and Groups:

若要建立新使用者,請按一下 建立新使用者:

之後,填寫新使用者所需的資訊。按一下 建立 以完成程序:

- 套件更新
Webmin 也可以檢查可用的套件更新。從左側面板,按一下 Dashboard 圖示:

該 Dashboard 將呈現系統統計資料的快速摘要。在 System Information 區段下,找到 Package updates 標籤。它會回報是否有任何套件有可用更新。
或者,從左側面板前往 System >> Software Package Updates。在 Package Updates 分頁下, Webmin 會回報所有有可用更新的套件:

在 Scheduled Upgrades 分頁下,Webmin 提供了自動安裝套件更新的選項:

接下來,在 Package Repositories 分頁下方,Webmin 提供了一種簡單的方法來管理系統中設定的所有套件存放庫:
- 執行自訂指令
雖然 Webmin 提供了大量的選項和自訂功能,但仍有一些事情需要手動完成。Webmin 可以執行任何 shell 指令。若要執行指令,請從左側面板前往 Tools >> Command Shell:

接下來,輸入所需的指令,然後按一下 Execute command 以執行它:

定期執行某些指令?考慮在 Webmin 中將它們標記起來。從左側面板,前往 Tools >> Custom Commands。再也不需要手動輸入這些指令了:

- 管理 Apache
此外,如果安裝了任何伺服器引擎,Webmin 都可以進行管理。在此範例中,我們使用 Apache。若要透過 Webmin 管理 Apache,請前往 伺服器 >> Apache:

結語
Webmin 是一個非常實用的工具,可用於管理您的整個系統。它提供了一種舒適的操作方式,免去了通常需要與主控台畫面進行乏味互動的麻煩。此外,它還能協助您精細地組織系統。本指南展示了 Webmin 最實用的應用。歡迎隨時探索 Webmin 官方 Wiki,以深入了解如何最有效地利用該工具。
祝您使用愉快!



留言
目前尚無留言。成為第一個留言的人吧。