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

本教程也適用於 Ubuntu 20.10。

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

  • 將 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+O然後按 Enter 確認。按下關閉文件 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 證書,因此瀏覽器會通知您連接不安全。

webminssl 模式

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

將顯示 Webmin 登錄屏幕。你可以使用它 root 或任何用戶帳戶 sudo 一組要登錄的 Ubuntu 20.04 系統。

webminubuntu 安裝

如果您不喜歡導航菜單中的默認顏色,請單擊 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 請記住使用實際域名並創建該 DNSA 記錄。

<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 (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 不要忘記使用您的首選域名並為其創建 DNSA 記錄。

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

您可以通過安裝 Let’s Encrypt 頒發的免費 TLS 證書來啟用 HTTPS,以便在您訪問 Webmin Web 界面時加密 HTTP 流量。通過運行以下命令在 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: 301 通過重定向強制 HTTPS。
  • --hsts:將 Strict-Transport-Security 標頭添加到所有 HTTP 響應。強制瀏覽器始終對域使用 TLS。 防止 SSL / TLS 剝離。
  • --staple-ocsp:啟用 OCSP 訂書釘。有效的 OCSP 響應被裝訂到 TLS 期間服務器提供的證書。

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

webminssl 證書

添加受信任的推薦人

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 服務器僅允許來自本地主機的訪問。遊客使用 https://public-ip:10000 禁止規劃。

allow=127.0.0.1

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

sudo systemctl restart webmin

故障排除

如果您看到錯誤,您可以查看 Webmin 錯誤日誌 (/var/webmin/miniserv.error) 用於故障排除。

包起來

我們希望本教程能幫助您在 Ubuntu 20.04 上安裝 Webmin。與往常一樣,如果您覺得本文有用,請訂閱我們的免費新聞通訊以獲取更多提示和技巧。