Webmin是基于Unix的系统的Web系统配置和管理工具。使用Webmin面板用户可以在Linux服务器上不懂命令行也能方便的进行管理。它功能强大,并具有许多先进功能。它已成为cPanel面板的一个很好的开源替代方案,因为它不仅可以执行用户管理,程序包管理,网络配置和性能监控,而且还可以管理Web服务器。Webmin具有丰富的功能,可以成为系统管理员和网站管理员的强大工具 。
本文将介绍在Hostwinds VPS主机上使用Debian 10系统上安装Webmin的教程,也适用于早期版本的Debian 9和8,以及基于Debian的其他发行版(如Ubuntu),可能会有细微的差别。
官方网站
点击直达Hostwinds官网
官方优惠
Hostwinds网站不支持优惠码,如果有优惠都是自动优惠。通常首次购买会有优惠,目前的折扣是终身折扣,不过建议如果长期使用可以购买半年付或者年付,不必一直想着续费的问题。
VPS方案整理
1、非托管Linux VPS
CPU | 内存 | 存储 | IP | 带宽 | 机房 | 价格(终身优惠10%) | 购买 |
1 核心 | 1GB | 30 GB | 1个 | 1Gbps/1T | 西雅图、达拉斯、阿姆斯特丹 | $4.49/月 | 点击直达 |
1 核心 | 2GB | 50 GB | 1个 | 1Gbps/2T | 西雅图、达拉斯、阿姆斯特丹 | $8.99/月 | 点击直达 |
2 核心 | 4GB | 75 GB | 1个 | 1Gbps/2T | 西雅图、达拉斯、阿姆斯特丹 | $17.09/月 | 点击直达 |
2 核心 | 6GB | 100 GB | 1个 | 1Gbps/2T | 西雅图、达拉斯、阿姆斯特丹 | $26.09/月 | 点击直达 |
2、完全托管的Linux VPS
CPU | 内存 | 存储 | IP | 带宽 | 机房 | 价格(终身优惠53%) | 购买 |
1 核心 | 1GB | 30 GB | 1个 | 1Gbps/1T | 西雅图、达拉斯、阿姆斯特丹 | $10.99/月 $5.17/月 | 点击直达 |
1 核心 | 2GB | 50 GB | 1个 | 1Gbps/2T | 西雅图、达拉斯、阿姆斯特丹 | $21.99/月 $10.34/月 | 点击直达 |
2 核心 | 4GB | 75 GB | 1个 | 1Gbps/2T | 西雅图、达拉斯、阿姆斯特丹 | $39.99/月 $18.80/月 | 点击直达 |
2 核心 | 6GB | 100 GB | 1个 | 1Gbps/2T | 西雅图、达拉斯、阿姆斯特丹 | $50.99/月 $23.97/月 | 点击直达 |
3、非托管Windows VPS
CPU | 内存 | 存储 | IP | 带宽 | 机房 | 价格(终身优惠10%) | 购买 |
1 核心 | 1GB | 30 GB | 1个 | 1Gbps/1T | 西雅图、达拉斯、阿姆斯特丹 | $9.89/月 | 点击直达 |
1 核心 | 2GB | 50 GB | 1个 | 1Gbps/2T | 西雅图、达拉斯、阿姆斯特丹 | $14.39/月 | 点击直达 |
2 核心 | 4GB | 75 GB | 1个 | 1Gbps/2T | 西雅图、达拉斯、阿姆斯特丹 | $22.49/月 | 点击直达 |
2 核心 | 6GB | 100 GB | 1个 | 1Gbps/2T | 西雅图、达拉斯、阿姆斯特丹 | $31.49/月 | 点击直达 |
4、完全托管的Windows VPS
CPU | 内存 | 存储 | IP | 带宽 | 机房 | 价格(终身优惠53%) | 购买 |
1 核心 | 1GB | 30 GB | 1个 | 1Gbps/1T | 西雅图、达拉斯、阿姆斯特丹 | $16.99/月 $7.99/月 | 点击直达 |
1 核心 | 2GB | 50 GB | 1个 | 1Gbps/2T | 西雅图、达拉斯、阿姆斯特丹 | $27.99/月 $13.16/月 | 点击直达 |
2 核心 | 4GB | 75 GB | 1个 | 1Gbps/2T | 西雅图、达拉斯、阿姆斯特丹 | $45.99/月 $21.62/月 | 点击直达 |
2 核心 | 6GB | 100 GB | 1个 | 1Gbps/2T | 西雅图、达拉斯、阿姆斯特丹 | $56.99/月 $26.79/月 | 点击直达 |
Webmin用例场景
如果您打算建立一个打算在其上托管多个网站的云服务器,那么Webmin可能是您的理想解决方案。您也可以在本地网络上执行相同的操作。
Webmin的另一个强大功能是能够在Webmin上注册多个服务器并从单个Webmin仪表板管理所有服务器的能力。只要它们都在同一网络上,它就可以与多个不同的物理机和虚拟机一起使用。
Webmin安装方法
有两种方法可以在服务器上安装Webmin。
- 第一种选择是从.deb软件包安装Webmin软件,您可以从他们的网站下载。
- 第二种选择是添加Webmin源,并通过apt软件包管理器进行安装。
我们将介绍这两种方法,选择适合自己的方法安装即可。
1:从.deb软件包安装Webmin
首先,我们需要做的是安装Webmin使用的所有必需的软件包,否则,Webmin将不会安装。在下面,您会看到如果未安装软件包将显示的错误。
使用以下命令安装必要的软件包。
sudo apt update sudo apt install perl libnet-ssleay-perl openssl \ libauthen-pam-perl libpam-runtime libio-pty-perl \ apt-show-versions python unzip shared-mime-info wget
接下来,您需要下载.deb软件包。在Webmin网站上查看最新版本号。在软件包名称中,他们写下Webmin的版本号,并发布最新的稳定版本以供下载。
使用以下命令下载.deb软件包。如果有较新的版本,请用最新版本替换版本号。
wget http://prdownloads.sourceforge.net/webadmin/webmin_1.941_all.deb -P ~/
下载软件包后,使用以下命令安装Webmin。
sudo dpkg --install ~/webmin_1.941_all.deb
Setting up webmin (1.941) ... Webmin install complete. You can now login to https://webmin.example.com:10000/ as root with your root password, or as any user who can use sudo to run commands as root. Processing triggers for systemd (241-7~deb10u4) ...
如果安装成功,您将看到如上所示的显示输出。然后,您可以通过在Web浏览器上转到Webmin服务器的IP地址或域来访问Webmin仪表板。
2:APT安装Webmin
通过软件包管理器从APT存储库安装Webmin更具可维护性,从而可以更轻松地进行更新,并在必要时重新安装。
sudo apt-get install apt-transport-https gnupg2 curl
接下来,将Webmin存储库添加到源列表中。
sudo echo "deb https://download.webmin.com/download/repository sarge contrib" \ > /etc/apt/sources.list.d/webmin.list
然后使用以下命令添加您需要下载并保存的GPG密钥。
curl https://download.webmin.com/jcameron-key.asc | sudo apt-key add -
更新现在包括Webmin源的存储库列表,并安装Webmin。
sudo apt-get update sudo apt-get install webmin
Setting up webmin (1.941) ... Webmin install complete. You can now login to https://webmin.example.com:10000/ as root with your root password, or as any user who can use sudo to run commands as root. Processing triggers for libc-bin (2.28-10) ... Processing triggers for systemd (241-7~deb10u4) ... Processing triggers for man-db (2.8.5-2) ... Processing triggers for mime-support (3.62) ...
如果安装成功,您将看到如上例所示的显示输出。然后,您可以通过在Web浏览器上转到Webmin服务器的IP地址或域来访问Webmin仪表板。
Webmin的防火墙设置
Webmin默认配置为侦听端口10000。如果运行防火墙,则必须允许HTTP和HTTPS访问以及到端口10000的通信。在本节中,我们将介绍ufw和iptables防火墙的步骤。在您的服务器上。此外,对于云服务器,如果您的云提供商使用防火墙服务,则需要配置防火墙规则以允许同一端口上的通信。
根据所使用的防火墙,需要对其进行配置以打开端口10000并允许其上的HTTP和HTTPS通信。
iptables配置:
运行以下命令:
sudo iptables -A INPUT -p tcp -m tcp --dport 10000 -j ACCEPT sudo iptables -A INPUT -p tcp -m tcp --dport 80 -j ACCEPT sudo iptables -A INPUT -p tcp -m tcp --dport 443 -j ACCEPT
ufw配置:
运行以下命令:
sudo ufw allow http sudo ufw allow https sudo ufw allow 10000
访问Webmin仪表板
完成Webmin的安装后,终端输出中显示的完成消息将告诉您如何访问Webmin仪表板。但是,仅当您在云服务器上配置了域名(Webmin从服务器的主机名生成URL)时,该方法才有效。
要访问没有域名的云服务器上的Webmin仪表板,您需要使用公共IP地址。您的服务器提供商将提供此信息。另外,请记住包括Webmin使用的端口号10000。
如果您在本地网络中安装了Webmin,则过程相同。使用分配给服务器的IP地址。
首次访问仪表板时,您将在Web浏览器上收到潜在的安全风险提示。这是因为Webmin首次安装时会使用自签名SSL证书。这些SSL证书可以在以后替换。
现在,继续并添加安全例外以继续。
忽略安全警告后,您将看到Webmin登录页面,如下所示。
使用服务器的根帐户和密码或拥有sudo特权的任何其他用户帐户登录。
之后,进入Webmin面板。
恭喜你!您已经在服务器上成功安装了Webmin。下面继续执行一些其他必要的步骤,以提高Webmin服务器的安全性。
启用两因素身份验证
值得一提的是,如果您在云服务器上安装了Webmin,则必须通过严格的措施来保护对Webmin仪表板的访问。当您在防火墙上打开端口10000并允许流量时,您会将Webmin暴露于Internet之下,并且可能遭受恶意攻击和潜在威胁。
为了帮助保护您的Webmin服务器,必须进行两步验证,也称为2FA。我强烈建议启用它。
首先使用以下命令安装所需的软件包。
sudo apt-get -y -f install libauthen-oath-perl
然后转到Webmin仪表板的以下菜单。
Webmin-> Webmin配置->二重身份验证
选择您喜欢的两因素身份验证提供程序,例如Google身份验证程序与大多数2FA应用程序兼容。然后单击“保存”以应用更改。
服务器重新启动后,您的浏览器将很快重新连接。
启用该模块后,请单击指向Webmin Users模块的链接。
在“双重身份验证”页面上,检查是否选中了“个人密钥”选项“随机生成”,然后单击“注册双重身份验证”按钮。
然后,您会看到2FA密码,例如通过使用Google Authenticator在智能手机上配对您的Authenticator应用程序。
扫描QR码或将密码手动输入到身份验证器应用程序后,您会在身份验证器应用程序上看到一个6位数的代码,该代码每30秒更改一次。通过使用身份验证器应用程序提供的2FA注销并立即登录,确认已启用2FA。
您应该考虑的另一件事是,Webmin默认情况下允许使用root帐户和所有具有sudo特权的帐户进行访问。原因是它需要以root身份运行或具有sudo特权才能运行所有任务。与在终端中运行sudo相同。
Webmin-> Webmin用户
由于默认的访问控制,另一个推荐的步骤是禁用Webmin上的root登录或完全删除它,并使用具有sudo特权的现有帐户,或者单独为Webmin创建一个新帐户。
运行服务器更新
Webmin通过直接通过仪表板完成系统任务而无需担心命令行,从而使维护云服务器变得容易。通过更新服务器软件并按照以下步骤启用计划的更新来对其进行测试。
首先转到“软件包更新”页面,您可以在其中检查任何当前可用的更新并运行升级。
系统->软件包更新->软件包更新
通过检查是否选中了可用的更新,然后单击“更新选定的软件包”按钮,手动运行升级。
仔细检查选择更新的软件包列表,然后单击“立即安装”按钮进行确认。
安装完成后,单击“返回软件包列表”按钮。
接下来,通过转到“软件包更新”页面上的“计划的升级”选项卡来启用计划的更新。
系统->软件包更新->预定升级
选择是,每个选项,然后选择您喜欢的时间间隔,例如每天一次。
选择要自动安装的更新类型,可以是任何更新,安全更新或仅通知。
然后单击“保存”按钮以应用计划。
您应该确认已启用计划。然后,Webmin将自动使您的服务器保持最新状态。
替换自签名证书
如前所述,由于使用了自签名SSL证书,您必须接受安全性例外才能访问Webmin仪表板。尽管默认证书允许安全连接,但是您应该从受信任的证书颁发机构(如提供免费SSL证书的Let’s Encrypt)获取有效证书。
此步骤需要您具有有效的域名,并配置指向您的Webmin服务器的A记录。
首先安装由Let’s Encrypt开发的Certbot客户端。
sudo apt install certbot
安装完成后,请使用以下命令获取证书。将示例域名替换为您的域或子域。
sudo certbot certonly --standalone -d webmin.example.com
该命令将启动一个交互式配置脚本,该脚本会询问几个问题以帮助管理证书。
- 在任何特定主机上的首次安装中,您需要输入联系人电子邮件。
- 然后浏览“让我们加密服务条款”,如果您接受条款并希望使用该服务,则选择“同意”。
- 选择您是否希望与电子前沿基金会(EFF)共享您的电子邮件地址,以了解其工作的最新信息。
如果客户端成功获得证书,则可以在客户端输出的末尾找到确认和证书到期日期。
万一客户端出现问题,请确保尝试注册当前可解析到服务器的域或子域,因为DNS配置可能需要一些时间才能传播。另外,请检查您是否正在以sudo特权运行命令。
现在有了有效的证书,我们需要告诉Webmin使用它们,而不是默认的自签名证书。
转到Webmin仪表板,然后导航到以下菜单。
Webmin-> Webmin配置-> SSL加密-> SSL设置
更改私钥文件以使用您通过Certbot获得的证书。用您的域替换webmin.example.com。
/ etc / letsencrypt / live / webmin.example.com /privkey.pem
选择证书的单独文件,然后输入证书的路径。同样,将webmin.example.com替换为您的域。
/ etc / letsencrypt / live / webmin.example.com /cert.pem
完成后,单击“保存”按钮。
等待站点重新连接
清除浏览器上的站点数据以删除缓存的自签名证书。
重新加载登录页面https://webmin.example.com:10000,现在您应该在URL旁边看到一个闭合的挂锁,提示安全连接。
完结
现在,安装配置过程已经完成,一个可以正常工作且安全的Webmin服务器已经可以正常使用了。