如何在 VPS 上安装和使用 VirtualMin

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

关于 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.mzph.cn/web/50653.shtml

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

相关文章

【华为OD机考】2024D卷最全真题【完全原创题解 | 详细考点分类 | 不断更新题目】

可上 欧弟OJ系统 练习华子OD、大厂真题 绿色聊天软件戳 od1441了解算法冲刺训练(备注【CSDN】否则不通过) 文章目录 相关推荐阅读栈常规栈单调栈 队列(题目极少,几乎不考)哈希哈希集合哈希表 前缀和双指针同向双指针 贪…

七、SpringBoot日志

1. 得到日志对象 import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.ResponseBody; //打印日志…

C++程序使用开源zlib库对二进制字节流数据进行压缩和解压(附源码)

目录 1、概述 2、zlib开源库与开源zip.cpp和unzip.cpp的区别 3、发送端先调用compress压缩,再将数据发出去 4、接收端接收到数据,调用uncompress解压,解压后再使用 5、最后 C++软件异常排查从入门到精通系列教程(专栏文章列表,欢迎订阅,持续更新...)https://blog.c…

c++-封装案例-设计学生类

类中的属性和行为统称为成员,属性:成员属性、成员变量;行为:成员函数,成员方法。

黛米·摩尔和她的孙女卢埃塔在这张飘逸的快照很亲密

卢埃塔和她的祖母黛米摩尔显然是最好的朋友,这张飘逸的快照证明了这一点。准备好“哇!” 7 月 26 日,摩尔分享了一张非常迷人的照片,照片上有她、她的两个女儿和她的孙女在她昂贵的后院。她在照片中配文说:“夏日&…

vue3-环境变量-JavaScript-axio-基础使用-lzstring-字符串压缩-python

文章目录 1.Vue3环境变量1.1.简介1.2.全局变量的引用1.3.package.json文件 2.axio2.1.promise2.2.安装2.3.配置2.3.1.全局 axios 默认值2.3.2.响应信息格式 2.4.Axios的拦截器2.4.1.请求拦截器2.4.2.响应拦截器2.4.3.移除拦截器2.4.4.自定义实例添加拦截器 3.lz-string3.1.java…

回溯

组合问题 LeetCode77 组合 class Solution { public:vector<vector<int>>res;vector<int>list;void dfs(int begin,int n,int k){if(list.size()k){res.push_back(list);return;}for(int ibegin;i<n;i){list.push_back(i);dfs(i1,n,k);list.pop_back();}…

(源码分析)springsecurity认证授权

了解 1. 结构总览 SpringSecurity所解决的问题就是安全访问控制&#xff0c;而安全访问控制功能其实就是对所有进入系统的请求进行拦截&#xff0c;校验每个请求是否能够访问它所期望的资源。 根据前边知识的学习&#xff0c;可以通过Filter或AoP等技术来实现&#xff0c;Spr…

天津仁爱学院2024级专升本新同学开学报到提示

亲爱的2024级新同学: 亲爱的仁爱新人&#xff0c;你准备好了吗&#xff1f;祝福之余&#xff0c;关于入学报到还有以下几点提示&#xff1a; 01报到时间 报到时间:2024年9月1日。报到时请携带录取通知书和准考证。因参军保留入学资格或因病及其他原因不能按时报到的同学&#x…

主图趋势交易九稳量化系统 期货指标公式大全 最准的期货指标源码 看期货涨跌最简单的方法文华财经指标公式源码

交易的动机必须来自于内心&#xff0c;一种解决问题的执着。在整个交易生涯的漫长岁月里&#xff0c;无法始终保持这种热忱。除非亲身体验&#xff0c;否则很难理解这种疯狂的热忱。这是一种高度的专注&#xff0c;其他一切好像都不存在&#xff0c;视野之内没有其他的东西。这…

利用Python进行高效数据分析实践

引言 在当今的数据驱动世界中&#xff0c;能够有效地处理和分析数据已成为许多行业的核心竞争力。Python作为一种强大的编程语言&#xff0c;因其简洁易读的语法以及丰富的第三方库支持&#xff0c;在数据科学领域受到了广泛的欢迎。本文将介绍如何使用Python进行高效的数据分…

探索 Milvus 存储系统:如何评估和优化 Milvus 存储性能

欢迎来到探索 Milvus 系列。Milvus 是一款支持水平扩展和具备出色性能的开源向量数据库。Milvus 的核心是其强大的存储系统&#xff0c;是数据持久化和存储的关键基础。该系统包括几个关键组成部分&#xff1a;元数据存储&#xff08;meta storage&#xff09;、消息存储&#…

苹果电脑怎么使用Windows软件 苹果笔记本怎么安装Windows mac怎么安装windows

最早的苹果电脑的概念是在1976年的时候由乔布斯提出来的&#xff0c;在1977年的时候发行的第一款个人电脑&#xff0c;也就是苹果笔记本电脑。苹果笔记本的操作系统是MAC OSmac OS是基于unix内核的系统&#xff0c;这个系统是专门为苹果电脑开发的。macOS比windows的视觉冲击大…

Synchronized的锁升级过程是怎样的?

文章目录 一、Synchronized的使用1、修饰实例方法2、修饰静态方法3、修饰代码块4、总结&#xff1a; 二、Monitor1、Java对象头1.1 32 位虚拟机的对象头1.2 64位虚拟机的对象头 2、Mark Word 结构3、Moniter4、Synchronized 字节码5、轻量级锁6、锁膨胀7、自旋优化8、偏向锁9、…

C++ 代码实现局域网即时通信功能 (windows 系统 客户端)

本项目使用C实现具备多个客户端和服务器端即时通信聊天功能软件 一&#xff1a;项目内容 使用C实现一个具备多客户端和一个服务器端即时通信功能的聊天软件。 本项目的目的是 学习在windows平台下&#xff0c;进行C网络开发的基本概念&#xff1a;TCP/IP socket通信&#xff0…

Java集合之HashMap的数据结构分析

总所周知&#xff0c;Java中键值对集合&#xff0c;我们最常用的就是HashMap&#xff0c;那么它的数据结构&#xff0c;以及如何存储键值对&#xff0c;包括为什么使用红黑树&#xff0c;链表等许多数据结构&#xff0c;下面我们一起学习交流 1.HashMap的数据结构&#xff1a;…

scratch二次开发:如何修改toolbox宽度

大家好&#xff0c;我是小黄。 使用场景&#xff1a;有时候我们开发图形化编程时&#xff0c;我们的积木块很长&#xff0c;导致一部分无法显示&#xff0c;我们想要把目录区域位置放大&#xff0c;比如下面红色方框区域位置&#xff0c;那么改如何实现这个过程呢&#xff1f;…

Qt,获取其他.exe文件的标准输出流的信息(printf/print的输出信息)

比如&#xff0c;通过Python编写爬虫软件功能是运行程序获取豆瓣电影排行榜信息&#xff0c;并通过print打印出来。将其打包成.exe,通过Qt来调用&#xff0c;并获取到.exe程序运行的结果 简单示例代码&#xff1a; // 创建 QProcess 对象QProcess process;// 连接信号槽以获取…

嵌入式学习Day14---C语言进阶

目录 一、构造类型 1.1.结构体 1.存储 2.输入输出&#xff08;传参&#xff09; 3.结构体数组 1.2.共同体&#xff08;联合体&#xff09; 1.格式 2.存储 3.测试一个平台是打端还是小端 1.3.枚举 1.格式 2.特点 二、位运算&#xff08;操作二进制&#xff09; 2.1.&a…

培训第十六天(web服务apache与nginx)

上午 静态资源 根据开发者保存在项目资源目录中的路径访问静态资源html 图片 js css 音乐 视频 f12&#xff0c;开发者工具&#xff0c;网络 1、web基本概念 web服务器&#xff08;web server&#xff09;&#xff1a;也称HTTP服务器&#xff08;HTTP server&#xff09;&am…