如何在 VPS 上安装和使用 VirtualMin

news2024/9/9 0:26:10

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

关于 Virtualmin

Virtualmin 是 Webmin 的一个模块,允许对(多个)虚拟专用服务器进行广泛的管理。您将能够管理 Apache、Nginx、PHP、DNS、MySQL、PostgreSQL、邮箱、FTP、SSH、SSL、Subversion/Git 仓库等等。

在本教程中,我们将在一个新创建的 VPS(droplet)上安装 Virtualmin 的 GPL(免费)版本。

先决条件

  • Virtualmin 强烈建议使用全新安装的服务器以防止冲突,假设您刚刚创建了一个新的 VPS,这应该没问题。

  • 确认您的 VPS 已经设置了完全合格的域名作为主机名。一个完全合格的域名的示例是 “myserver.example.com” 或 “example.com”。
    确保域名指向您的服务器的 IP 地址。
    使用以下命令检查当前主机名。

    hostname -f
    

    如果需要,使用以下命令更改主机名。

    hostname myserver.example.com
    

以 Root 身份登录

从 DigitalOcean 控制面板获取您的 droplet 的 IP 地址,并使用 SSH 以 root 身份登录。

ssh root@123.45.67.89

下载安装脚本

Virtualmin 提供了一个安装脚本,可以方便地进行安装。使用以下命令将脚本下载到您的根目录。

wget http://software.virtualmin.com/gpl/scripts/install.sh -O /root/virtualmin-install.sh

下载完成后,您应该看到类似以下内容:

2013-07-06 11:03:57 (129 KB/s) - `/root/virtualmin-install.sh' saved [45392/45392]

运行安装脚本

现在是时候运行我们刚刚下载的脚本了。

sh /root/virtualmin-install.sh

这将启动安装向导。它将从一个简短的免责声明开始,接受后安装将开始。

访问 Virtualmin

安装脚本完成安装后,您可以使用以下 URL 访问 Virtualmin:

https://myserver.example.com:10000/

在那里,您可以使用 root 用户名和密码登录。一旦登录,“后安装向导” 将开始配置您的 Virtualmin 安装。

后安装向导

这个向导非常简单易懂,我们将覆盖一些步骤并提供一些额外信息。

内存使用

  • 预加载 Virtualmin 库?
    当您要广泛使用 UI 时,这将使您的 Virtualmin UI 更快,如果不使用也可以很好地使用 UI。
  • 运行电子邮件域查找服务器?
    如果快速电子邮件对您很重要,并且您有多余的 RAM,建议启用此选项。

病毒扫描

  • 运行 ClamAV 服务器扫描器?
    如果您的服务器接收大量电子邮件,则建议启用它。

注意:
如果您在 512MB VPS 上安装 Virtualmin,并且在上一步中刚刚启用了 ClamAV 服务器扫描器,那么很可能会遇到以下错误:

A problem occurred testing the ClamAV server scanner :
ERROR: Can't connect to clamd: No such file or directory

----------- SCAN SUMMARY -----------
Infected files: 0
Time: 0.000 sec (0 m 0 s)

您之所以会收到此错误是因为您的 VPS 内存不足… 您可以选择升级您的 RAM 或添加交换空间来处理增加的内存使用。

有关交换空间及如何启用它的更多信息,请参阅此教程:https://www.digitalocean.com/community/articles/how-to-add-swap-on-ubuntu-12-04。

垃圾邮件过滤

  • 运行 SpamAssassin 服务器过滤器?
    同样,在页面上已经很好地解释了这一点,如果您的服务器接收大量电子邮件,则建议启用它。

数据库服务器

这一步应该很清楚,假设您知道 MySQL 或 PostgreSQL 是什么。启用您需要的数据库服务器。

如果选择了 MySQL,则下一步将要求您为 MySQL 服务器输入 root 密码。之后的步骤会询问 MySQL 应该使用哪种配置。

建议选择与您的 RAM 匹配的配置(我相信它默认选择正确的配置)。

DNS 区域

如果您计划使用 Virtualmin 管理您的 DNS 区域,则在此处输入您的主要和次要域名服务器。

密码

Virtualmin 给您两个选择来保存密码。强烈建议选择 “仅存储哈希密码”。

这样,如果有任何不速之客进入您的服务器,他们将无法检索到任何个人密码。

好了,您已经完成了后安装向导!您可能会在页面顶部看到一个大黄条,上面有一个按钮,上面写着 “重新检查和刷新配置”。

建议按下该按钮,以确保一切都正常。

如果在检查过程中出现错误,请按照说明解决错误并重新检查您的配置,直到所有错误消失。

一些有用的知识

以下是一些信息,将帮助您了解 Virtualmin:

虚拟专用服务器

虚拟专用服务器(通常)代表一个网站,通常每个网站都有自己的虚拟专用服务器。

子服务器

子服务器听起来很令人困惑,但基本上是一个子域。

Virtualmin vs Webmin

正如您在左上角所看到的,您有 Virtualmin 和 Webmin。这些是不同的控制面板,Virtualmin 是您管理所有 VPS 和与此相关的任何内容的地方。Webmin 是您管理服务器本身的地方。

文档

Virtualmin 的文档非常完善,这意味着每个页面都有自己的帮助页面,每个选项的标签(输入字段前面的标签)都链接到该选项的解释。

以下是解释 Virtualmin 菜单结构的屏幕截图。

Virtualmin 菜单结构

设置虚拟专用服务器

现在我们已经完成了安装和向导,我们可以开始设置我们的虚拟专用服务器。在左侧导航中点击 “创建虚拟服务器”。

输入您要为其设置服务器的域名,在本教程中我们将使用:example.com。

输入一个管理密码,这将成为管理虚拟专用服务器的主要密码。如果您自己管理虚拟专用服务器,则实际上不需要知道此密码。在这种情况下,建议使用一个生成的长密码以增强安全性。

Virtualmin 允许您管理服务器配置模板和帐户计划,这些可以在 “系统设置” 下的 “服务器模板” 和 “帐户计划” 下进行修改。

您可以指定一个管理用户名,将其保持自动将使 “example” 成为用户名。

查看其他选项隐藏在其他选项卡下,并启用/禁用/更改任何您想要配置虚拟专用服务器的内容。

现在点击 “创建服务器”,Virtualmin 将执行设置虚拟专用服务器所需的步骤,如果出现任何错误,它将在那里显示它们。

设置子域

现在我们已经设置了虚拟专用服务器,是时候添加一个子域了,再次点击 “创建虚拟服务器”。

注意页面顶部现在有不同的选项:“顶级服务器”(虚拟专用服务器)、“子服务器”(子域)、“别名 example.com” 和 “别名 example.com,带有自己的电子邮件”。

点击 “子服务器” 来创建 “test.example.com” 的子域。

填写完整的域名(test.example.com)并浏览下面的选项,一旦准备好,点击 “创建服务器”。

观看 Virtualmin 完成其需要做的工作,完成后,您应该看到 “test.example.com” 作为当前选择的虚拟专用服务器。

设置用户

首先,让我们确保我们在顶级服务器 “example.com” 上,然后点击 “编辑用户”。在顶部,您会看到有三个选项可以创建用户:“向此服务器添加用户。”、“批量创建用户。” 和 “添加网站 FTP 访问用户。”

如果您只想设置具有 FTP 访问权限的用户,则点击该链接,我们将选择 “向此服务器添加用户。”。第一步是输入用户的电子邮件地址、真实姓名和密码。然后,仔细查看其他可用选项,以获得您理想的设置,完成后点击 “创建”。

现在您将看到您的用户被添加到列表中,主用户是粗体。它还会告诉您用户的登录名(默认情况下,这是类似 test.example)。

有关进一步设置电子邮件地址,请参阅菜单中的 “编辑邮件别名” 链接。

设置您的数据库

点击菜单中的 “编辑数据库” 链接,记得正确设置您的虚拟专用服务器。根据您的设置,每个虚拟专用服务器都有自己的数据库(或多个)。

每个数据库都有一个 “管理…” 链接,它为您提供了一个非常简单的数据库视图,并允许您执行查询。现在返回到 “编辑数据库” 页面,点击 “密码”,这里是 Virtualmin 自动生成的数据库密码。

继续到 “导入数据库” 选项卡,您可以将现有数据库(在 Virtualmin 外部创建的数据库)分配给当前虚拟专用服务器,这对于使用某种形式的 MySQL 客户端创建数据库时非常有用。

最后但并非最不重要的是,“远程主机” 选项卡允许您提供多个主机以连接到您的服务器,建议将其保持不变(localhost),并使用 SSH 隧道登录到您的数据库服务器。

目录结构

Virtualmin 有一个非常好组织的目录结构。请参阅以下结构。

`-- /home/example
    |-- /home/example/awstats
    |-- /home/example/cgi-bin
    |-- /home/example/domains
    |   `-- /home/example/domains/test.example.com
    |       |-- /home/example/domains/test.example.com/awstats
    |       |-- /home/example/domains/test.example.com/cgi-bin
    |       |-- /home/example/domains/test.example.com/homes
    |       |-- /home/example/domains/test.example.com/logs
    |       `-- /home/example/domains/test.example.com/public_html
    |           `-- /home/example/domains/test.example.com/public_html/stats
    |-- /home/example/etc
    |   `-- /home/example/etc/php5
    |-- /home/example/fcgi-bin
    |-- /home/example/homes
    |   `-- /home/example/homes/test
    |       `-- /home/example/homes/test/Maildir
    |           |-- /home/example/homes/test/Maildir/cur
    |           |-- /home/example/homes/test/Maildir/new
    |           `-- /home/example/homes/test/Maildir/tmp
    |-- /home/example/logs
    |-- /home/example/public_html
    |   `-- /home/example/public_html/stats
    `-- /home/example/tmp

如您所见,所有内容都放在 /home/example 中,我们的子域可以在 /home/example/domains/test.example.com/ 中找到。每个域都有自己的日志目录,默认情况下,Virtualmin 自带 awstats,并且可以通过 “www.example.com/stats” 访问,除非您在创建虚拟专用服务器时禁用了此功能。

接下来该做什么?

花些时间浏览 Virtualmin 的设置。有许多可以更改以使您的体验更好的东西。不要忘记探索此控制面板的 Webmin 部分。

本教程只是触及了 Virtualmin 的表面,还有很多可以通过模块添加到其中或与之一起完成的工作。甚至还有用于设置 svn/git 仓库的模块。

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

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

相关文章

二进制部署k8s集群之master节点和etcd数据库集群(上)

目录 1.操作系统初始化配置 2.升级Linux内核 3.部署docker引擎 4.部署etcd集群 4.1 了解etcdctl工具对etcd做增删改查 4.2 通过etcdctl工具实现数据库的备份和恢复 5.部署Master组件 6.部署 Worker Node 组件 二进制搭建 Kubernetes v1.20 k8s集群master01&#xff1a…

230.信号量

信号量是一种用于多线程同步的机制,可以控制对共享资源的访问。信号量的基本概念是使用计数器来控制多个线程对共享资源的访问。信号量可以分为两类:计数信号量(Counting Semaphore)和二进制信号量(Binary Semaphore&a…

项目风险管理:从理论到实践的探索

项目风险管理:从理论到实践的探索 前言一、项目风险识别二、项目风险应对策略三、综合应对策略结语 前言 在当今快速变化的商业环境中,项目管理已成为组织实现目标的关键工具。然而,项目的成功往往伴随着各种不确定性和潜在风险。有效的风险管…

JCR一区级 | Matlab实现SO-Transformer-LSTM多变量回归预测(蛇群算法优化)

JCR一区级 | Matlab实现SO-Transformer-LSTM多变量回归预测(蛇群算法优化) 目录 JCR一区级 | Matlab实现SO-Transformer-LSTM多变量回归预测(蛇群算法优化)效果一览基本介绍程序设计参考资料 效果一览 基本介绍 1.【JCR一区级】M…

Oracle基础-SQL99标准的表连接方法

SELECT * FROM T_NUM CROSS JOIN T_GROUP; --笛卡尔积 ALTER TABLE T_GROUP RENAME COLUMN GID TO ID; --修改字段名 SELECT * FROM T_NUM NATURAL JOIN T_GROUP; --自然连接 会根据两表同名字段或者主外键自动关联 SELECT * FROM T_NUM JOIN T_GROUP USING(ID); --USING连接&…

正余弦算法作者又提出新算法!徒步优化算法(HOA)-2024年一区顶刊新算法-公式原理详解与性能测评 Matlab代码免费获取

声明:文章是从本人公众号中复制而来,因此,想最新最快了解各类智能优化算法及其改进的朋友,可关注我的公众号:强盛机器学习,不定期会有很多免费代码分享~ 目录 原理简介 算法伪代码 性能测评 参考文献 …

oracle语法介绍

Oracle数据库是关系型数据库管理系统之一,其SQL语法遵循标准的SQL规范,但也有一些自己的扩展。以下是一些Oracle SQL语法的基本示例: 1.选择数据: SELECT * FROM my_table; 1.插入数据: INSERT INTO my_table (colum…

Vue 3 中使用 InMap 绘制热力图

本文由ScriptEcho平台提供技术支持 项目地址:传送门 Vue 3 中使用 InMap 绘制热力图 应用场景介绍 InMap 是一款强大的地图组件库,它提供了一系列丰富的可视化功能,包括热力图。热力图可以将数据点在地图上以颜色编码的方式可视化&#x…

NGINX项目实战

一、nginx四层代理 部署支持4层TCP/UDP代理的Nginx服务器 部署nginx服务器 编译安装必须要使用--with-stream参数开启4层代理模块。 [rootproxy ~]# rm -rf /usr/local/nginx/ #清理环境 [rootproxy nginx-1.16.1]# ./configure --with-http_ssl_module --with-stream #开…

医疗器械产品没有互联网连接,就不适用于网络安全要求吗?

医疗器械产品是否不适用于网络安全要求,需要考虑产品是否具有网络连接功能以进行电子数据交换或远程控制,以及是否采用储存媒介进行电子数据交换。详细解析如下: 一、医疗器械的网络安全要求不仅限于互联网连接 数据交换接口:医疗…

这才是 PHP 高性能框架 Workerman 的立命之本

大家好,我是码农先森。 在这个大家都崇尚高性能的时代,程序员的谈笑间句句都离不开高性能,仿佛嘴角边不挂着「高性能」三个字都会显得自己很 Low,其中众所皆知的 Nginx 就是高性能的代表。有些朋友可能连什么是高性能都不一定理解…

【SPIE独立出版:高录用、快检索】第四届通信、网络与物联网国际学术会议 (CNIoT 2024,8月30-9月1)

为了促进通信、计算机和控制等领域专家学者跨界交流与合作,打造最前沿的交流平台,第四届通信、网络与物联网国际学术会议 (CNIoT 2024)将涉及通信、网络、物联网、IT能量感知技术、人工智能应用等领域。 会议将为专注于该研究领域的国内外优秀…

一键切换阿里yum源(包括其他系统repo镜像查找方法)

一键切换阿里yum源 示例命令其他系统repo镜像GitHub文档 示例命令 # 备份旧源 mv CentOS-Base.repo CentOS-Base.repo.bak # 添加新源(阿里镜像源) wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo其他系统repo镜像 这里的示例是用…

RT-DETR:DETRs Beat YOLOs on Real-time Object Detection (CVPR2024)

DETRs Beat YOLOs on Real-time Object Detection 论文链接:http://arxiv.org/abs/2304.08069 代码链接:https://github.com/lyuwenyu/RT-DETR https://github.com/ultralytics/ultralytics/tree/main/ultralytics/models/rtdetr(已集成到Y…

2024.7.29 作业

1> 写一个日志文件&#xff0c;将程序启动后&#xff0c;每一秒的时间写入到文件中 #include <myhead.h> int main(int argc,const char *argv[]) {FILE *fp NULL;if((fpfopen("./log.txt","r"))NULL) {perror("open error1");return…

使用 Python 实现计算交并比(IoU)的代码示例:

两个矩形框的交集/并集 IOU(A)/(ABC) box_areas(box[2]-box[0])*(box[3]-box[1])boxes_areas(box[:,2]-box[:,0])*(box[:,3]-box[:,1])l_xtorch.maximum(box[0],boxes[:,0])l_ytorch.maximum(box[1],boxes[:,1])r_xtorch.minimum(box[2],boxes[:2])r_ytorch.minimum(box[3],box…

SpringCloud+Vue3主子表插入数据(芋道)

目的&#xff1a;多表联查获取到每个班级里面所有的学生上课的信息。点击消课插入到消课主表和消课子表&#xff0c;主表记录班级信息&#xff0c;消课人员信息&#xff0c;上课时间。子表记录上课学员的信息&#xff0c;学员姓名、手机号、班级名称、班级类型、上课时间、老师…

7月29(信息差)

&#x1f30d;最强模型 Llama 3.1 如期而至&#xff01;扎克伯格最新访谈&#xff1a;Llama 会成为 AI 界的 Linux &#x1f384;谷歌AlphaProof攻克国际奥赛数学题 https://www.51cto.com/article/793632.html ✨SearchGPT第一波评测来了&#xff01;响应速度超快还没广告&…

微信小程序开发 快速学习 这篇就够了

目录 一、配置篇 &#xff08;1&#xff09;官网链接&#xff1a; &#xff08;2&#xff09;项目分析 &#xff08;3&#xff09;调试器 &#xff08;4&#xff09;预览体验 &#xff08;5&#xff09;配置文件 &#xff08;6&#xff09;配置pages &#xff08;7&…

Android Framework 之AMS

它管理了系统的四大组件:Activity、Service、ContentProvider、Broadcast。 它除了管理四大组件外&#xff0c;同时也负责管理和调度所有的进程 AMS相关目录结构 AMS代码主要在下面几个目录(AndroidQ上AMS相关部分功能移到了wm下)&#xff1a; frameworks/base/core/java/andro…