針對中小規模虛擬主機託管需求,本文介紹利用 Webmin 核心管理介面搭配 Virtual-Host 模組,快速構建支援 Apache 虛擬主機、BIND DNS、MySQL 資料庫、FTP、系統帳號全自動佈建的託管平台。方案輕量、穩定,適合集中管理模式而非商業級多租戶自助服務場景。
# 下載對應發行版套件 (以 Debian/Ubuntu 為例)
wget https://prdownloads.sourceforge.net/webadmin/webmin_1.981_all.deb
apt update && apt install ./webmin_1.981_all.deb
# 瀏覽器訪問 https://your-server-ip:10000 (預設 root/系統密碼登入)
virtual-host.wbm.gzwget https://github.com/webmin/virtual-host/releases/download/1.0/virtual-host.wbm.gz && webmin install-module virtual-host.wbm.gzhttps://ip:10000/virtual-host 進入模組介面apt install bind9
# Webmin → 伺服器 → BIND DNS 伺服器 → 模組設定 → 修改 named.conf 路徑、zone 檔案目錄等為系統實際路徑
為實現虛擬主機間腳本執行權限隔離,必須啟用 mod_suexec:
# 安裝編譯工具鏈
apt install build-essential libpcre3-dev libssl-dev zlib1g-dev
# 取得 Apache 源碼並編譯
wget https://dlcdn.apache.org/httpd/httpd-2.4.57.tar.gz
tar xzf httpd-2.4.57.tar.gz && cd httpd-2.4.57
./configure --prefix=/usr/local/apache --enable-suexec --with-suexec-caller=www-data \
--with-suexec-docroot=/home --enable-so --enable-ssl --enable-rewrite
make && make install
修改 /usr/local/apache/conf/httpd.conf:
LoadModule suexec_module modules/mod_suexec.soNameVirtualHost *:80User/Group 為虛擬主機專用帳號 (由 Virtual-Host 自動管理)https://ip:10000/virtual-host,按提示移除不需模組,確認模組狀態為「運行中」public_html、logs 等)/etc/apache2/sites-available/)/etc/webmin/virtual-server/ 配置目錄與各虛擬主機 home 目錄Webmin + Virtual-Host 以極低複雜度實現了虛擬主機全生命週期自動化佈建,是中小型託管商、企業內部多專案隔離部署的高性價比選擇。對於大規模多租戶自助服務,建議評估基於 Kubernetes 的現代化託管平台 (如 Rancher、OpenShift)。