简介
Webmin 是一个现代的、适用于任何 Linux 机器的 Web 控制面板。它允许您通过一个简单的界面来管理服务器。使用 Webmin,您可以即时更改常见软件包的设置。
在本教程中,您将在服务器上安装和配置 Webmin,并使用 Let’s Encrypt 来为界面安全访问添加有效证书。然后,您将使用 Webmin 来添加新用户账户,并从仪表板上更新服务器上的所有软件包。
先决条件
要完成本教程,您需要:
- 通过遵循 CentOS 7 初始服务器设置指南设置的一个 CentOS 7 服务器,包括一个具有 sudo 权限的非 root 用户。
- 为系统上的 root 用户设置密码。您需要使用 root 用户和密码首次登录到 Webmin。使用
sudo passwd
来设置此密码。 - 通过按照在 CentOS 7 上安装 Linux、Apache、MySQL、PHP(LAMP)堆栈的指南来安装 Apache。我们将使用 Apache 来执行 Let’s Encrypt 的域验证。
- 一个完全合格的域名(FQDN),并且具有一个 DNS A 记录指向服务器的 IP 地址。要配置此项,请按照教程《如何在 DigitalOcean 上设置主机名》进行操作。
步骤 1 — 安装 Webmin
首先,我们需要添加 Webmin 仓库,以便我们可以使用我们的软件包管理器轻松安装和更新 Webmin。我们通过添加一个名为 /etc/yum.repos.d/webmin.repo
的新文件来实现这一点,该文件包含有关新仓库的信息。
使用您的文本编辑器创建并打开这个新文件:
sudo vi /etc/yum.repos.d/webmin.repo
然后向文件中添加以下行以定义新仓库:
[Webmin] name=Webmin Distribution Neutral #baseurl=http://download.webmin.com/download/yum mirrorlist=http://download.webmin.com/download/yum/mirrorlist enabled=1
保存文件并退出编辑器。
接下来,添加 Webmin 作者的 PGP 密钥,以便您的系统将信任新仓库:
wget http://www.webmin.com/jcameron-key.asc sudo rpm --import jcameron-key.asc
现在,您可以安装 Webmin:
sudo yum install webmin
安装完成后,您将在输出中看到以下消息:
Webmin install complete. You can now login to https://your_domain:10000/ as root with your root password.
现在,让我们通过添加有效证书来保护对 Webmin 的访问。
步骤 2 — 使用 Let’s Encrypt 添加有效证书
Webmin 已经配置为使用 HTTPS,但它使用的是一个自签名的、不受信任的证书。让我们用来自 Let’s Encrypt 的有效证书替换它。
在您的 Web 浏览器中导航到 https://your_domain:10000
,将 your_domain
替换为您指向服务器的域名。
您将看到一个登录界面。使用用户名 root 和 root 用户的当前密码登录。
登录后,您将看到 Webmin 仪表板。在您应用有效证书之前,您必须设置服务器的主机名。查找 System hostname 字段,并单击右侧的链接,如下图所示:
!链接位于 Webmin 仪表板上
这将带您到 Hostname and DNS Client 页面。找到 Hostname 字段,并将您的完全合格的域名输入到该字段中。然后按页面底部的 Save 按钮应用设置。
设置完主机名后,点击左侧导航栏上的 Webmin,然后点击 Webmin Configuration。
然后,从图标列表中选择 SSL Encryption,然后选择 Let’s Encrypt 选项卡。您将看到一个类似下图的屏幕:
!SSL Encryption 部分的 Let’s Encrypt 选项卡
使用此屏幕,您将告诉 Webmin 如何获取和更新您的证书。Let’s Encrypt 证书在 3 个月后过期,但我们可以指示 Webmin 每个月自动尝试更新 Let’s Encrypt 证书。Let’s Encrypt 在我们的服务器上查找一个验证文件,因此我们将配置 Webmin 将验证文件放在文件夹 /var/www/html
中,这是您在先决条件中配置的 Apache Web 服务器使用的文件夹。按照以下步骤设置您的证书:
- 使用您的 FQDN 填写 Hostnames for certificate。
- 对于 Website root directory for validation file,选择 Other Directory 按钮,并输入
/var/www/html
。 - 对于 Months between automatic renewal 部分,通过在输入框中键入
1
并选择输入框左侧的单选按钮来取消 Only renew manually 选项。 - 单击 Request Certificate 按钮。几秒钟后,您将看到一个确认屏幕。
要使用新证书,只需重新加载页面。您的浏览器现在应该指示证书是有效的。
第三步 – 使用 Webmin
您已经设置了一个安全的、可工作的 Webmin 实例。让我们看看如何使用它。
Webmin 有许多不同的模块,可以控制从 BIND DNS 服务器到简单的用户添加等各种功能。让我们看看如何创建一个新用户,然后探索如何使用 Webmin 更新操作系统。
管理用户和组
让我们探索如何使用 Webmin 管理用户和组。
首先,我们将管理允许访问 Webmin 的用户。这样我们就不必使用 root 用户登录。
点击 Webmin 选项卡,然后点击 Webmin Users 按钮。这个界面让您管理可以登录到 Webmin 的用户。
点击位于用户表顶部的 Create a new Webmin user 按钮。这将显示 Create Webmin User 屏幕,您可以在其中提供用户名、密码、用户可以访问的模块和其他选项。按照以下步骤创建用户:
- 在 Username 中填写
sammy
。 - 在 Password 中填写您想使用的密码。
- 在 Real Name 中填写
Sammy the Shark
。 - 点击 Create。
创建用户时,您还可以选择限制用户可以访问的模块以及 Webmin 界面应使用的语言。
现在您有了一个用于 Webmin 的 sammy 用户;您不再需要使用 root 用户登录。
接下来,让我们看看如何向系统添加新用户。我们将创建一个名为 deploy 的系统用户,用于托管 Web 应用程序。
首先,点击 System 选项卡,然后点击 Users and Groups 按钮。您可以使用这个界面来添加和管理用户和组。
要添加用户,点击位于用户表顶部的 Create a new user。这将显示 Create User 屏幕,您可以在其中提供用户名、密码、组和其他选项。按照以下说明创建用户:
- 在 Username 中填写
deploy
。 - 对于 User ID 选择 Automatic。
- 在 Real Name 中填写一个描述性名称,比如
Deployment user
。 - 对于 Home Directory,选择 Automatic。
- 对于 Shell,从下拉列表中选择 /bin/bash。
- 对于 Password,选择 Normal Password,然后输入您选择的密码。
- 对于 Primary Group,选择 New group with same name as user。
- 对于 Secondary Group,从 All groups 列表中选择 wheel,然后点击 -> 按钮将该组添加到 in groups 列表中。这将允许新用户使用
sudo
。 - 点击 Create 创建这个新用户。
创建用户时,您可以设置密码过期、用户的 shell,或者是否允许他们有一个家目录等选项。
接下来,让我们看看如何安装系统更新。
更新软件包
Webmin 允许您通过其用户界面更新所有软件包。要更新所有软件包,首先转到 Dashboard 链接,然后找到 Package updates 区域。如果有可用的更新,您将看到一个显示可用更新数量的链接,如下图所示:
!Webmin shows the number of updates available
点击这个链接,然后点击 Update selected packages 开始更新。您可能会被要求重新启动服务器,您也可以通过 Webmin 界面来执行这个操作。
结论
您现在拥有一个安全的、可工作的 Webmin 实例,并且已经使用界面创建了一个用户并更新了软件包。Webmin 让您可以访问许多通常需要通过控制台访问的功能,并以直观的方式组织它们。例如,如果您安装了 Apache,您会在 Servers 下找到它的配置选项卡,然后是 Apache。
探索界面,或者阅读官方的 Webmin wiki 了解更多关于使用 Webmin 管理系统的信息。