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