对于系统管理员来说,Webmin 是一个福音。它是一个基于 Web 的控制面板,允许使用现代的基于 Web 的界面远程管理 Linux 机器。Webmin 可以即时更改各种系统配置,包括 Web 服务器和数据库。它还可以管理用户、组和软件包。
在本指南中,我们将引导您完成在 Ubuntu 18.04 上安装和配置 Webmin 的步骤.
Ubuntu 上的 Webmin
虽然 Webmin 是系统管理员常用的工具,但它在官方的 Ubuntu 软件源中不可用。幸好,Webmin 为 Ubuntu 提供了专用的 PPA。它负责保持软件最新。在开始之前,您需要满足以下前提条件:
- 您需要一台具有 sudo 非 root 用户和防火墙的 Ubuntu 服务器。请查看如何在此处安装您的 Ubuntu 服务器,以及如何在此处设置您的 sudo 用户.
- 由于 Webmin 的性质,保护其免受未经授权的访问非常重要。默认情况下,Webmin 附带了一些安全功能。然而,在本指南中,Webmin 将使用 Let’s Encrypt 和 Apache 进行保护。按照本教程来安装您的 Apache 服务器.
- 对于以下教程,您还需要一个 FQDN,其 DNS 记录指向服务器的 IP 地址。
- 您还需要 Certbot,您可以按照我们在 Ubuntu 18.04 上使用 Let’s Encrypt 保护 Apache 的教程中的步骤 1 进行安装。您将利用 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 Web 服务器后面。
保护 Webmin
要访问 Webmin,默认方法是开放端口 10000。在我们的情况下,这并不是最佳选择。为了解决这个问题,我们将配置一个 Apache 虚拟主机 作为运行在端口 10000 上的 Webmin 服务器的代理。然后,将使用从 Let’s Encrypt 获取的 TLS/SSL 证书来保护该虚拟主机。此过程要求您已安装并正确配置了 Apache Web 服务器 and 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
我们需要 proxy_http Apache 模块。以下命令将启用它:
|
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 模块 正在等待 以进行 验证... 正在清理 完毕 挑战 已创建 一个 SSL 虚拟主机 在 /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 模块 正在重定向 虚拟主机 在 /etc/apache2/sites-enabled/<domain>.conf 至 ssl 虚拟主机 在 /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 管理用户和用户组。在左侧面板中,前往 系统 >> 用户和用户组:

要创建新用户,请点击 创建新用户:

之后,填写新用户所需的信息。点击 创建 以完成该步骤:

- 软件包更新
Webmin 还可以检查可用的软件包更新。在左侧面板中,点击 仪表板 图标:

该 仪表板 将呈现系统统计信息的快速摘要。在 系统信息 部分下,找到 软件包更新 标签。它将报告是否有任何软件包有可用更新。
或者,在左侧面板中,前往 系统 >> 软件包更新。在 软件包更新 标签页下,Webmin 将报告所有有可用更新的软件包:

在 计划升级 标签页下,Webmin 提供了自动安装软件包更新的选项:

接下来,在 软件包仓库 标签页下,Webmin 提供了一种简单的方法来管理系统中配置的所有软件包仓库:
- 运行自定义命令
虽然 Webmin 提供了大量的选项和自定义设置,但仍有一些事情需要手动完成。Webmin 可以运行任何 shell 命令。要运行命令,请在左侧面板中前往 工具 >> 命令 Shell:

接下来,输入所需的命令,然后点击 执行命令 来运行它:

需要定期运行某些命令?考虑在 Webmin 中标记它们。在左侧面板中,前往 工具 >> 自定义命令。再也不需要手动输入这些命令了:

- 管理 Apache
此外,如果安装了任何服务器引擎,Webmin 都可以对其进行管理。在本例中,我们使用的是 Apache。为了通过 Webmin 管理 Apache,请转到 服务器 >> Apache:

结语
Webmin 是一个用于管理整个系统的非常实用的工具。它提供了一种便捷的方式来完成通常需要与控制台屏幕进行枯燥交互的工作。此外,它还能帮助您精细地组织系统。本指南展示了 Webmin 最实用的应用。欢迎随时探索 Webmin 官方 wiki ,以了解更多关于如何充分利用该工具的信息。
祝您使用愉快!



评论
暂无评论。发表第一条评论吧。