在CentOS 7上安装和使用Webmin的方法

前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到网站。

简介

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 替换为您指向服务器的域名。

您将看到一个登录界面。使用用户名 rootroot 用户的当前密码登录。

登录后,您将看到 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 服务器使用的文件夹。按照以下步骤设置您的证书:

  1. 使用您的 FQDN 填写 Hostnames for certificate
  2. 对于 Website root directory for validation file,选择 Other Directory 按钮,并输入 /var/www/html
  3. 对于 Months between automatic renewal 部分,通过在输入框中键入 1 并选择输入框左侧的单选按钮来取消 Only renew manually 选项。
  4. 单击 Request Certificate 按钮。几秒钟后,您将看到一个确认屏幕。

要使用新证书,只需重新加载页面。您的浏览器现在应该指示证书是有效的。

第三步 – 使用 Webmin

您已经设置了一个安全的、可工作的 Webmin 实例。让我们看看如何使用它。

Webmin 有许多不同的模块,可以控制从 BIND DNS 服务器到简单的用户添加等各种功能。让我们看看如何创建一个新用户,然后探索如何使用 Webmin 更新操作系统。

管理用户和组

让我们探索如何使用 Webmin 管理用户和组。

首先,我们将管理允许访问 Webmin 的用户。这样我们就不必使用 root 用户登录。

点击 Webmin 选项卡,然后点击 Webmin Users 按钮。这个界面让您管理可以登录到 Webmin 的用户。

点击位于用户表顶部的 Create a new Webmin user 按钮。这将显示 Create Webmin User 屏幕,您可以在其中提供用户名、密码、用户可以访问的模块和其他选项。按照以下步骤创建用户:

  1. Username 中填写 sammy
  2. Password 中填写您想使用的密码。
  3. Real Name 中填写 Sammy the Shark
  4. 点击 Create

创建用户时,您还可以选择限制用户可以访问的模块以及 Webmin 界面应使用的语言。

现在您有了一个用于 Webmin 的 sammy 用户;您不再需要使用 root 用户登录。

接下来,让我们看看如何向系统添加新用户。我们将创建一个名为 deploy 的系统用户,用于托管 Web 应用程序。

首先,点击 System 选项卡,然后点击 Users and Groups 按钮。您可以使用这个界面来添加和管理用户和组。

要添加用户,点击位于用户表顶部的 Create a new user。这将显示 Create User 屏幕,您可以在其中提供用户名、密码、组和其他选项。按照以下说明创建用户:

  1. Username 中填写 deploy
  2. 对于 User ID 选择 Automatic
  3. Real Name 中填写一个描述性名称,比如 Deployment user
  4. 对于 Home Directory,选择 Automatic
  5. 对于 Shell,从下拉列表中选择 /bin/bash
  6. 对于 Password,选择 Normal Password,然后输入您选择的密码。
  7. 对于 Primary Group,选择 New group with same name as user
  8. 对于 Secondary Group,从 All groups 列表中选择 wheel,然后点击 -> 按钮将该组添加到 in groups 列表中。这将允许新用户使用 sudo
  9. 点击 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 管理系统的信息。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/877219.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Java高手之路:每日一练,技能精进秘籍

目录 一、题目知识点java中有两种方式实现线程Servlet生命周期总结 一、题目 选自牛客网 1.后端获取数据,向前端输出过程中,以下描述正确的是 A.对于前端过滤过的参数,属于可信数据,可以直接输出到前端页面 B.对于从数据库获得的…

【YOLOv5/v7改进系列】引入YOLOv9的RepNCSPELAN4

一、导言 YOLOv9的几个主要创新点: Programmable Gradient Information (PGI): PGI是一种机制,用于应对深度网络中实现多目标所需要的多种变化。PGI提供完整的输入信息来计算目标函数,从而获得可靠的梯度信息以更新网络权重。PGI可以自由选择…

TCP/IP协议——使用Socket套接字实现

目录 Socket 使用Socket实现TCP客户端和服务器的过程 使用Socket搭建TCP服务器 线程优化 向客户端发送消息 连接的断开 客户端主动断开 服务端主动断开 服务器完整的程序 使用Socket编写客户端程序连接TCP服务器 Socket Socket是一种网络通信协议,它允许…

x-cmd pkg | yazi - 超快终端文件管理器

目录 简介快速入门功能特点竞品和相关项目进一步阅读 简介 yazi 是由 github.com/sxyazi 用 Rust 开发的终端文件管理器,支持预览文本文件、pdf 文件、图像、视频,内置代码高亮功能。在内部,它使用 Tokio 作为其异步运行时,以非阻…

【Vue3】watch 监视多种类型数据

【Vue3】watch 监视多种类型数据 背景简介开发环境开发步骤及源码 背景 随着年龄的增长,很多曾经烂熟于心的技术原理已被岁月摩擦得愈发模糊起来,技术出身的人总是很难放下一些执念,遂将这些知识整理成文,以纪念曾经努力学习奋斗…

大数据-53 Kafka 基本架构核心概念 Producer Consumer Broker Topic Partition Offset 基础概念了解

点一下关注吧!!!非常感谢!!持续更新!!! 目前已经更新到了: Hadoop(已更完)HDFS(已更完)MapReduce(已更完&am…

实战:Zookeeper 简介和单点部署ZooKeeper

Zookeeper 简介 ZooKeeper是一个开源的分布式协调服务,它是Apache软件基金会下的一个项目,旨在解决分布式系统中的协调和管理问题。以下是ZooKeeper的详细简介: 一、基本定义 ZooKeeper是一个分布式的、开放源码的分布式应用程序协调服务&a…

系统架构师考点--系统架构设计(下)

大家好。今天总结一下系统架构设计的最后一部分知识点。 一、软件系统的质量属性 软件系统的质量属性 软件系统的质量属性可分为开发期质量属性和运行期质量属性2个部分。 1、开发期质量属性主要指在软件开发阶段所关注的质量属性,主要包含6个方面: …

C++ 关键字与库函数 学习总结

sizeof与strlen 含义 sizeof:是一个操作符,用于计算数据类型或变量的大小(以字节为单位)。在编译时求值strlen: 是一个函数,用于计算字符串的长度(不包括终止符 \0)。在运行时求值不…

【Code】Street-Gaussian代码复现笔记

文章目录 1. EnvironmentBug 1 2. TrainingBug 2Bug 3 1. Environment Follow the original instructions, conda create --name street-gaussians-ns -y python3.8 conda activate street-gaussians-ns pip install --upgrade pippip install torch2.1.2cu118 torchvision0.…

bugku-web-ctf-变量1

<?php error_reporting(0); include "flag1.php"; highlight_file(__file__); if(isset($_GET[args])){$args $_GET[args];if(!preg_match("/^\w$/",$args)){die("args error!");}eval("var_dump($$args);"); } ?> error_r…

扩展------正向代理和反向代理怎么理解?

今天看博客园&#xff0c;突然看到正向代理和反向代理&#xff0c;发现自己还不会就稍微研究了一下。 正向代理----(看做是服务员) 当我们进饭店吃饭&#xff0c;我们不可能会直接去后厨叫厨师给我们做菜&#xff0c;而是通过服务员去通知&#xff0c;这个就叫做正向代理。 再…

当年很流行,现在已经淘汰的Java技术,请不要学了!【建议收藏】

在Java技术的发展历程中&#xff0c;确实有一些曾经流行但现在已经被淘汰或不再推荐使用的技术。了解这些技术可以帮助你避免学习过时的知识&#xff0c;从而更高效地提升自己的技能。 以下是一些曾经流行但现在已经不太推荐学习的Java技术&#xff1a; 1. Servlet 2.x&#x…

AI作图接口要怎么调用呢?

一、什么是AI作图&#xff1f; 基于AI大模型的深度学习算法和大规模的图像数据训练&#xff0c;输入图片和关键词&#xff0c;可生成独特及富有创意的山水风格图片。 二、AI作图使用场景有哪些呢&#xff1f; 1.广告与营销&#xff1a; 为产品制作吸引人的宣传海报、广告图片…

git拉完代码总是自动创建一个新的节点

git拉完代码&#xff0c;总是自动生成弹出这个信息 然后还会在git上面留下一个节点&#xff0c;这个节点没啥用&#xff0c;显示着感觉有点碍事。 而且后续的git push 之后&#xff0c;会覆盖掉自己的git commit 的提示&#xff0c;其他人cr代码的时候看到的是 解决方法&#…

vite + postcss 安装配置

安装 npm install postcss-pxtorem --save-dev配置postcss.config.js 新建 postcss.config.js export default {plugins: {postcss-pxtorem: {rootValue: 16, // 根元素大小&#xff0c;用于转换rem的基准值unitPrecision: 5, // rem的小数位数propList: [*], // 需要转换的…

A股两市继续低开,缩量震荡前行!

今天的A股&#xff0c;让人心情极度炸裂&#xff0c;你们知道是为什么吗&#xff1f;盘面上出现2个重要信号&#xff0c;一起来看看&#xff1a; 1、今天两市低开&#xff0c;让人心情极度炸裂。 2、盘面上出现2个重要信号&#xff1a;一是为了迎接今日上证权益指数问世&#x…

LeetCode刷题笔记第682题:棒球比赛

LeetCode刷题笔记第682题&#xff1a;棒球比赛 题目&#xff1a; 想法&#xff1a; 遍历输入的列表&#xff0c;按照规则将分数和操作依次进行&#xff0c;存储在新建的列表中&#xff0c;最终输出列表中的元素和&#xff0c;代码如下&#xff1a; class Solution:def calPo…

妈吖,看过这个大厂的oracle主键自增,我的信心暴增!信创,国产数据库也能行。

创作不易 只因热爱!! 热衷分享&#xff0c;一起成长! “你的鼓励就是我努力付出的动力” 1.数据库oracle自增主键字段思维导图 在Oracle数据库中&#xff0c;可以通过创建序列&#xff08;SEQUENCE&#xff09;来实现自增功能。但也可以不在数据库中实现&#xff0c;而是通过程…

【Stable Diffusion】(基础篇六)—— embedding

embedding 本系列博客笔记主要参考B站nenly同学的视频教程&#xff0c;传送门&#xff1a;B站第一套系统的AI绘画课&#xff01;零基础学会Stable Diffusion&#xff0c;这绝对是你看过的最容易上手的AI绘画教程 | SD WebUI 保姆级攻略_哔哩哔哩_bilibili 除了大模型和VAE之外…