網絡管理員 用於管理 Unix/Linux 服務器的免費開源控制面板。本教程展示瞭如何在 Ubuntu 20.04 服務器上安裝 Webmin。

本教程也適用於 Ubuntu 20.10。

Webmin 為用戶提供基於 Web 的圖形用戶界面,用於配置常見的系統任務和設置。如果您不喜歡使用命令行管理服務器的想法,Webmin 是一個很好的圖形替代方案。以下是 Webmin 提供的功能列表。

  • BIND DNS 解析器和權威 DNS 服務器
  • 桑巴服務器
  • FTP服務器
  • Postfix SMTP 服務器和 Dovecot IMAP/POP3 服務器。
  • 文件系統備份
  • 配置日誌文件輪換。
  • 編輯軟件包存儲庫,安排自動軟件更新,並通過電子郵件接收更新報告。
  • 用戶和組管理
  • 安排一個 cron 作業。
  • 配置iptables防火牆
  • 還有很多。

從 Webmin 存儲庫在 Ubuntu 20.04 上安裝 Webmin。

Webmin 自 1997 年以來一直存在。撰寫本文時可用的最新穩定版本是 1.970,於 2021 年 1 月 6 日發布。 Webmin 不在 Ubuntu 軟件存儲庫中。我們建議從官方存儲庫安裝 Webmin,以便您始終擁有最新版本。

要添加 Webmin 存儲庫,請使用命令行文本編輯器(例如 Nano)創建源列表文件。

sudo nano /etc/apt/sources.list.d/webmin.list

將以下行添加到文件中。

deb https://download.webmin.com/download/repository sarge contrib

保存並關閉文件。 按 將文件保存在 Nano 文本編輯器中。 CTRL+OEnter 確認。按 關閉文件。 CTRL+X 接下來,您需要運行以下命令來下載 Webmin PGP 簽名密鑰並將其導入您的 APT 密鑰環,以便 APT 包管理器可以驗證從 Webmin 存儲庫下載的包的完整性。

wget https://www.webmin.com/jcameron-key.asc

然後像這樣導入:

sudo apt-key add jcameron-key.asc

現在您可以更新本地包索引並安裝 Webmin。

sudo apt update

sudo apt install webmin -y

安裝完成後,微民嵌入式網絡服務器會自動啟動。這可以通過運行以下 systemctl 命令來驗證:

systemctl status webmin

輸出:

在 ubuntu 20.04 上安裝 webmin

提示: 如果上面的命令沒有立即退出, 獲得終端控制權的關鍵。

如果它沒有運行,您可以使用以下命令啟動它:

sudo systemctl start webmin

Webmin 服務器偵聽端口 10000。如果您的服務器使用 UFW 之類的防火牆,則需要打開 TCP 端口 10000。

sudo ufw allow 10000/tcp

您現在可以訪問基於 Web 的控制面板。

https://your-server-ip:10000

因為它以 HTTPS 模式運行並使用自簽名 TLS 證書,所以瀏覽器會告訴您連接不安全。

Webmin SSL 模式

但你知道這是你自己的服務器,所以只需點擊 Advanced 添加 Firefox 選項卡和例外。 如果您使用的是谷歌瀏覽器, Advanced -> Proceed.

將出現 Webmin 登錄屏幕。你可以使用它 root 或任何用戶帳戶 sudo 登錄到您的 Ubuntu 20.04 系統的組。

webmin ubuntu 安裝

如果您不喜歡導航菜單的默認顏色, theme configuration 導航菜單底部的圖標,

webmin主題配置

然後選擇導航菜單選項並設置調色板。例如,我選擇了午夜藍。

webmin 導航菜單顏色

保存您的更改。

設置反向代理

在生產服務器上安裝 Webmin 時,您可能需要設置反向代理 Apache 或 Nginx,以便您可以使用域名訪問 Webmin 界面,而無需指定端口號(10000)。這也將允許您為 Webmin 獲取並安裝有效的 Let’s Encrypt TLS 證書。

如果您沒有真實域名,我們建議您訪問 NameCheap 購買一個。它價格便宜,並且終身免費提供 whois 隱私保護。

阿帕奇

如果您使用 Apache Web 服務器,請按照以下步驟設置反向代理。

安裝 Apache Web 服務器。

sudo apt install apache2

要將 Apache 用作反向代理,必須啟用它。 proxy, proxy_http 什麼時候 rewrite 模塊。

sudo a2enmod proxy proxy_http rewrite

接下來,為 Webmin 創建一個虛擬主機文件。

sudo nano /etc/apache2/sites-available/webmin.conf

將以下文本添加到文件中。交換 webmin.your-domain.com 請記住使用您的實際域名並創建 DNS A 記錄。

<VirtualHost *:80>
    ServerName webmin.your-domain.com

    ProxyPass / https://127.0.0.1:10000/
    ProxyPassReverse / https://127.0.0.1:10000/
</VirtualHost>

保存並關閉文件。然後啟用這個虛擬主機。

sudo a2ensite webmin.conf

重新加載 Apache 以使更改生效。

sudo systemctl reload apache2

現在域名(webmin.your-domain.com ) 在瀏覽器的地址欄中。

nginx

如果您使用 Nginx Web 服務器,請按照以下步驟設置反向代理。

在 Ubuntu 上安裝 Nginx。

sudo apt install nginx

啟動 Nginx 網絡服務器。

sudo systemctl start nginx

然後創建一個新的服務器塊文件 /etc/nginx/conf.d/ 目錄。

sudo nano /etc/nginx/conf.d/webmin.conf

將以下文本粘貼到文件中。交換 webmin.your-domain.com 使用您選擇的域名,不要忘記創建 DNS A 記錄。

server {
       listen 80;
       listen [::]:80;
       server_name webmin.your-domain.com;

       access_log /var/log/nginx/webmin.access;
       error_log /var/log/nginx/webmin.error;

       location / {
              proxy_pass https://127.0.0.1:10000;
              #proxy_set_header Host $http_host;
              proxy_set_header X-Real-IP $remote_addr;
              proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
              proxy_set_header X-Forwarded-Proto $scheme;
        }
}

保存並關閉文件。接下來,測試您的 Nginx 配置。

sudo nginx -t

測試成功後,重新加載Nginx。

sudo systemctl reload nginx

現在您可以通過以下方式訪問 Webmin Web 界面: webmin.your-domain.com.

啟用 HTTPS

要在訪問 Webmin Web 界面時加密 HTTP 流量,請通過安裝 Let’s Encrypt 頒發的免費 TLS 證書來啟用 HTTPS。通過運行以下命令在 Ubuntu 上安裝 Let’s Encrypt 客戶端 (certbot):

sudo apt install certbot

如果您使用 Apache,則需要安裝 Certbot Apache 插件。

sudo apt install python3-certbot-apache

然後運行以下命令來獲取並安裝 TLS 證書:

sudo certbot --apache --agree-tos --redirect --hsts --staple-ocsp --email [email protected] -d webmin.your-domain.com

如果使用 Nginx,則需要安裝 Certbot Nginx 插件。

sudo apt install python3-certbot-nginx

然後運行以下命令來獲取並安裝 TLS 證書:

sudo certbot --nginx --agree-tos --redirect --hsts --staple-ocsp --email [email protected] -d webmin.your-domain.com

在哪裡:

  • --apache: 使用 Apache 插入。
  • --nginx: 使用 nginx 插件。
  • --agree-tos: 我同意使用條款。
  • --redirect:強制 HTTPS 超過 301 重定向。
  • --hsts:將 Strict-Transport-Security 標頭添加到所有 HTTP 響應。強制瀏覽器始終對域使用 TLS。 防禦 SSL/TLS 剝離。
  • --staple-ocsp:啟用 OCSP 裝訂。有效的 OCSP 響應被裝訂到 TLS 期間服務器提供的證書。

將自動獲取並安裝證書。您可以通過安全的 HTTPS 連接訪問 Webmin Web 界面。

Webmin SSL 證書

添加可信推薦人

由於 Webmin 本身以 HTTP 模式運行並啟用了 HTTPS Apache/Nginx,因此 Webmin https://webmin.your-domain.com 在 Webmin 服務器之外。因此,您需要添加受信任的推薦人。

編輯 Webmin 配置文件。

sudo nano /etc/webmin/config

在末尾添加以下行:

referers=webmin.your-domain.com

保存並關閉文件。然後重新啟動 Webmin。

sudo systemctl restart webmin

在 Webmin 中禁用 HTTPS 模式

現在與 Apache/Nginx 的 TLS 連接已終止,我們需要在 Webmin 的內置 Web 服務器中禁用 HTTPS 模式。 編輯 Webmin 配置文件。

sudo nano /etc/webmin/miniserv.conf

找到這一行:

ssl=1

要在 Webmin 中禁用 HTTPS 模式,請更改:

ssl=0

您還可以在此文件中添加以下行,以使內置 Web 服務器僅允許來自 localhost 的訪問。旅遊用途 https://public-ip:10000 禁止計劃。

allow=127.0.0.1

保存並關閉文件。然後重新啟動 Webmin。

sudo systemctl restart webmin

故障排除

如果您看到錯誤,請檢查 Webmin 錯誤日誌 (/var/webmin/miniserv.error) 進行故障排除。

包起來

我希望本教程能幫助您在 Ubuntu 20.04 上安裝 Webmin。與往常一樣,如果您發現這篇文章有幫助,請註冊我們的免費新聞通訊以獲取提示和技巧。