介绍
Webmin是一个现代 Web 控制面板,允许您通过基于浏览器的界面管理 Linux 服务器。使用 Webmin,您可以即时管理用户帐户、配置 DNS 设置以及更改常用包的设置。
在本教程中,您将在服务器上安装和配置 Webmin,并使用来自Let’s Encrypt的有效证书保护对界面的访问。然后,您将使用 Webmin 添加新用户帐户,并从仪表板更新服务器上的所有程序包。
先决条件
要完成本教程,您需要:
- 一台 Ubuntu 20.04 服务器。该服务器应该有一个具有 sudo 权限的非 root 用户并配置了 UFW 防火墙。按照我们的Ubuntu 20.04 初始服务器设置指南进行设置。
- 按照我们关于如何在 Ubuntu 20.04 上安装 Apache Web 服务器的教程安装 Apache。当您遵循此先决条件指南时,请务必配置虚拟主机。
- 一个完全限定的域名 (FQDN),带有指向服务器 IP 地址的DNS A记录。要进行配置,请按照有关 DigitalOcean 上 DNS 托管的这些说明进行操作。
第 1 步 – 安装 Webmin
首先,如果您最近没有更新服务器的包索引:
- sudo apt update
然后我们需要添加 Webmin 存储库,以便我们可以使用我们的包管理器安装和更新 Webmin。我们通过将存储库添加到/etc/apt/sources.list
文件来做到这一点。
在您首选的编辑器中打开文件。在这里,我们将使用nano
:
- sudo nano /etc/apt/sources.list
然后将此行添加到文件底部以添加新存储库:
. . .
deb http://download.webmin.com/download/repository sarge contrib
保存文件并退出编辑器。如果您使用过nano
,请按CTRL+X
, Y
, 然后ENTER
。
接下来,您将添加 Webmin PGP 密钥,以便您的系统信任新的存储库。但是,为了做到这一点,您必须安装gnupg1
软件包,它是 GNU 用于安全通信和数据存储的工具。
之后,下载 Webmin PGP 密钥wget
并将其添加到系统的密钥列表中:
- wget -q -O- http://www.webmin.com/jcameron-key.asc | sudo apt-key add
接下来,再次更新包列表以包含现在受信任的 Webmin 存储库:
- sudo apt update
然后安装Webmin:
- sudo apt install webmin
安装完成后,您将看到以下输出:
Output. . .
Webmin install complete. You can now login to
https://your_server:10000 as root with your
root password, or as any user who can use sudo.
注意:如果您ufw
在先决条件步骤中安装并启用,则需要运行以下命令以允许 Webmin 通过防火墙:
- sudo ufw allow 10000
为了提高安全性,您可能希望将防火墙配置为仅允许从特定 IP 范围访问此端口。
让我们通过添加有效证书来保护对 Webmin 的访问。
步骤 2 — 使用 Let’s Encrypt 添加有效证书
Webmin 已配置为使用 HTTPS,但它使用自签名、不受信任的证书。让我们用 Let’s Encrypt 的有效证书替换它。
在 Web 浏览器中导航到,替换为指向服务器 IP 地址的域名。https://your_domain:10000
your_domain
注意:首次登录时,您将看到“无效 SSL”警告。此警告可能会根据您的浏览器而有所不同,但原因是服务器已生成自签名证书。允许例外并继续访问您的域,以便您可以使用 Let’s Encrypt 中的自签名证书替换自签名证书。
您将看到一个登录屏幕。在满足本教程的先决条件的同时,使用您创建的非 root 用户登录。
登录后,您将看到的第一个屏幕是 Webmin 仪表板。在应用有效证书之前,您必须设置服务器的主机名。查找System hostname字段,点击右侧链接,如下图所示:
这将带您进入主机名和 DNS 客户端页面。找到主机名字段,然后在该字段中输入您的完全限定域名。然后单击页面底部的保存按钮以应用设置。
设置主机名后,单击左侧导航栏中的Webmin下拉菜单,然后单击Webmin Configuration。
在Webmin 配置页面,从图标列表中选择SSL 加密,然后单击让我们加密选项卡。您将看到如下图所示的屏幕:
在此页面上,您将告诉 Webmin 如何获取和更新您的证书。Let’s Encrypt 证书在 3 个月后到期,但您可以指示 Webmin 每月自动尝试更新 Let’s Encrypt 证书。Let’s Encrypt 在服务器上查找验证文件,因此我们将配置 Webmin 将验证文件放在文件夹中,该文件夹是您在先决条件中配置的 Apache Web 服务器使用的文件夹。请按照以下步骤设置您的证书:/var/www/your_domain
- 使用您的 FQDN填写证书的主机名。
- 对于验证文件的网站根目录,选择其他目录按钮并输入您网站的文档根目录。假设您遵循先决条件 Apache 教程,这将是.
/var/www/your_domain
- 对于自动续订之间的月份部分,通过在输入框中键入内容来取消选择仅手动续订选项
1
,然后选择输入框左侧的单选按钮。
单击请求证书按钮。几秒钟后,您将看到一个确认屏幕。
要使用新证书,请单击确认屏幕上的返回 Webmin 配置按钮。从该页面向下滚动并单击重新启动 Webmin按钮。等待大约 30 秒,然后重新加载页面并再次登录。您的浏览器现在应该指示证书有效。
第 3 步 – 使用 Webmin
您现在已经设置了 Webmin 的安全工作实例。让我们来看看如何使用它。
Webmin 有许多不同的模块,可以控制从 BIND DNS 服务器到向系统添加用户的所有内容。让我们看看如何创建新用户,然后探索如何使用 Webmin 更新系统的包。
管理用户和组
让我们探索如何管理服务器上的用户和组。
首先,单击左侧边栏中的系统下拉菜单,然后单击用户和组的链接。从这里,您可以添加和管理用户和组。
让我们创建一个名为deploy的新用户,您可以使用它来托管 Web 应用程序。创建用户时,您可以设置密码过期、用户的 shell 以及是否允许他们作为主目录的选项。
要添加用户,请单击位于用户表顶部的创建新用户。这将显示创建用户屏幕,您可以在其中提供用户名、密码、组和其他选项。按照以下说明创建用户:
- 填写用户名与
deploy
。 - 为用户 ID选择自动。
- 使用描述性名称填写真实姓名,例如
Deployment user
。 - 对于主目录,选择自动。
- 对于Shell,从下拉列表中选择/bin/bash。
- 对于Password,选择Normal Password并输入您选择的密码。
- 跳到Primary Group并选择New group with same name as user。
- 对于次要组,从所有组列表中选择sudo。这应该会自动添加到In groups列表中,但如果不是,请按->按钮添加它。
做出这些选择后,按Create。这将在短时间内创建部署用户。
接下来,让我们看看如何为我们的系统安装更新。
更新包
Webmin 允许您通过其用户界面更新所有包。要更新所有包,首先单击左侧边栏上方的仪表板按钮,然后找到包更新字段。如果有可用更新,您将看到一个链接,说明可用更新的数量。
单击此链接,然后按“更新选定的包”开始更新。您可能会被要求重新启动服务器,您也可以通过 Webmin 界面执行此操作。
结论
您现在拥有一个安全的 Webmin 工作实例,并且您已经使用该界面来创建用户和更新包。Webmin 使您可以访问通常需要通过控制台访问的许多内容,并以直观的方式组织它们。例如,如果您安装了 Apache,您会在Servers下找到它的配置选项卡,然后是Apache。
探索界面,或阅读官方 Webmin wiki以了解有关使用 Webmin 管理系统的更多信息。