如何在Ubuntu16.04上使用Webmin、LAMP、BIND和PostFix安装Virtualmin
介绍
Webmin 是一个 Web 前端,允许您通过浏览器远程管理您的服务器。 Virtualmin是Webmin的一个插件,通过单一界面简化了多个虚拟主机的管理,类似于cPanel或Plesk。 使用 Virtualmin,您可以管理用户帐户、Apache 虚拟主机、DNS 条目、MySQL 数据库、邮箱等等。
在本教程中,您将使用脚本来安装免费版 Virtualmin GPL。 此脚本将安装使用 Virtualmin 所需的一切,包括 Webmin 和以下先决条件:
安装 Virtualmin 及其组件后,您将通过其图形界面配置 Webmin 并使用 Virtualmin 创建一个新的虚拟主机。 完成本教程后,您将能够创建任意数量的用户帐户,以通过浏览器在单个服务器上托管多个域。
警告: 不要在已经运行 Apache、MySQL 和 PHP 的实时生产服务器上遵循本教程,因为这可能会导致数据丢失。 改用新服务器并传输您的数据。
先决条件
要完成本教程,您需要:
- 按照 Ubuntu 16.04 初始服务器设置指南 设置一台新的 Ubuntu 16.04 服务器,至少 1GB 内存,包括 sudo 非 root 用户和防火墙。
- 配置为指向您的服务器的完全限定域名。 您可以按照 如何使用 DigitalOcean 设置主机名教程来学习如何将域名指向 DigitalOcean Droplets。
- 按照 如何使用 DigitalOcean 云服务器 教程创建虚荣或品牌名称服务器,为 Virtualmin 注册了两个自定义名称服务器。 注册
ns1.your_domain.com
和ns2.your_domain.com
,其中your_domain.com
是您的域名。
第 1 步 — 设置主机名和 FQDN
要使 Virtualmin 正常工作,您需要通过编辑 /etc/hostname
和 /etc/hosts
文件在服务器本身上配置主机名和 FQDN,并更新您的 DNS 设置,以便正确解析 DNS 查找。
首先,以非 root 用户身份登录到您的服务器。 登录后,更新包数据库:
sudo apt-get update
然后安装任何必要的更新和软件包,以确保您从稳定且最新的系统开始。
sudo apt-get dist-upgrade -y
接下来,更改主机名以匹配您在先决条件中指向服务器的 FQDN。
要检查当前服务器主机名,请运行以下命令:
hostname -f
要更改服务器的主机名,请在编辑器中打开文件 /etc/hostname
:
sudo nano /etc/hostname
删除当前主机名并将其替换为您的主机名:
/etc/主机名
your_hostname
在此文件中仅使用主机名,而不是整个 FQDN。 例如,如果您的 FQDN 是 virtualmin.example.com
,则在此文件中输入 virtualmin
。
保存文件并退出编辑器。
接下来,在 /etc/hosts
文件中添加主机名和 FQDN:
sudo nano /etc/hosts
修改以 127.0.0.1
开头的行以使用您的 FQDN 和主机名,按以下顺序:
/etc/hosts
127.0.1.1 your_hostname.your_domain.com your_hostname 127.0.0.1 localhost ...
请记住将 your_hostname
和 your_domain.com
替换为您自己的主机名和域名。 保存文件并退出编辑器。
如果您的文件中不存在此行,请添加它以避免与您的 Ubuntu 系统上的其他软件出现一些兼容性问题。 你可以在 official Debian manual entry on setting up hostnames 中了解更多信息。
要检查名称是否已正确更改,请重新启动服务器。
sudo reboot
然后再次 ssh 进入您的服务器。 您应该在终端提示符上看到新的主机名。 例如:
your_user@your_hostname:~$
使用 hostname
命令验证 FQDN 是否设置正确:
hostname -f
您将在输出中看到您的 FQDN:
outputyour_hostname.your_domain.com
如果不这样做,请仔细检查您对配置所做的更改,更正任何错误,然后重新启动。
接下来,编辑网络配置文件,使其使用此服务器作为 DNS 服务器之一来解析域名。 打开配置文件:
sudo nano /etc/network/interfaces.d/50-cloud-init.cfg
将 IP 地址 127.0.0.1
添加到配置文件中。 查找以下行:
/etc/network/interfaces.d/50-cloud-init.cfg
dns-nameservers 8.8.8.8 8.8.4.4
将其更改为:
/etc/network/interfaces.d/50-cloud-init.cfg
dns-nameservers 8.8.8.8 8.8.4.4 127.0.0.1
确保 127.0.0.1
之前有一个空格。 保存文件并退出编辑器。
您已通过设置主机名、FQDN 和网络配置来准备服务器。 让我们安装 Virtualmin。
第 2 步 — 安装 Virtualmin
要安装 Virtualmin,请下载并运行官方的 Virtualmin 安装脚本,它将安装 Virtualmin 和 Webmin,以及 LAMP 堆栈、BIND 和 Postfix。
使用 wget
下载脚本:
wget https://software.virtualmin.com/gpl/scripts/install.sh
虽然此脚本来自 Virtualmin 官方网站,但您可能需要在编辑器中打开该脚本并在运行之前查看其内容。
sudo nano ./install.sh
一旦您对脚本的内容感到满意,就可以使用它来安装 Virtualmin 及其先决条件:
sudo /bin/sh ./install.sh
该脚本将显示有关现有数据和兼容操作系统的警告消息。 按 y
确认您要继续安装。
该脚本将需要一些时间来完成所有步骤,因为它会安装各种软件包和组件。
脚本完成后,您可以配置 root 密码。
第 3 步 — 配置 Webmin 的 Root 密码
Virtualmin 是 Webmin 的附加组件,默认情况下,Webmin 使用系统 root 用户和密码进行 Web 界面登录。 如果您使用 SSH 密钥登录到您的服务器,您可能没有系统 root 密码,或者可能不习惯使用它通过浏览器远程登录。 让我们告诉 Webmin 为其 Web 界面使用不同的密码。 此过程不会更改系统 root 密码; 它只会告诉 Webmin 使用您为登录指定的密码。
要更改 Webmin 的 root 密码,请使用以下命令:
sudo /usr/share/webmin/changepass.pl /etc/webmin root yourpassword
将 yourpassword
替换为您的首选密码。
接下来,重新启动 Webmin 服务以使更改生效。
sudo systemctl restart webmin
接下来,我们将使用 Web 前端配置 Webmin。
第 4 步 — 使用安装后向导配置 Webmin
要配置 Webmin,我们将使用其基于 Web 的安装后向导。 打开您的网络浏览器并导航到 https://your_server_ip:10000
。 您还可以使用您的完全限定域名访问该站点。
注意: 您的浏览器可能会显示“您的连接不安全”或“您的连接不是私有的”警告,因为 Virtualmin 使用自签名证书。 这个警告是正常的。 完成本教程后,您可以按照 如何在 Ubuntu 16.04 上安装 Webmin 教程的 Step 2 添加 Let's Encrypt SSL 证书。
使用您在上一步中设置的新更改的密码以 root 用户身份登录。
登录后,您将看到 Introduction 屏幕,说明您正在完成配置 Virtualmin 的步骤。 按 下一步 继续。
在内存使用屏幕上,为预加载Virtualmin库选择No,因为您不需要一直运行Virtualmin UI。 为运行电子邮件域查找服务器选择是以启用更快的邮件处理。 按 下一步 继续。
在 病毒扫描 屏幕上,为 运行 ClamAV 服务器扫描程序 选择 否 ,这样您将使用更少的 RAM。 按 下一步 继续。
在垃圾邮件过滤屏幕上,选择No for Run SpamAssassin server filter,然后按Next继续。
接下来的三个屏幕配置数据库服务器:
- 在 Database servers 屏幕上,选择 Yes to Run MySQL database server 和 no to Run PostgreSQL database server . 按 下一步 继续。
- 在 MySQL 密码 屏幕上,输入您想要的 MySQL 根密码。 它应该与您用于登录 Webmin 的 root 密码不同。
- 在 MySQL 数据库大小 屏幕上,选择与您的服务器拥有的 RAM 量相匹配的 RAM 选项。 对于 1GB 服务器,选择 大量使用 MySQL 的大型系统 (1G) 。 按 下一步 继续。
接下来,您将看到如下所示的屏幕,要求您输入名称服务器:
在此处输入您在先决条件中配置的主要和次要名称服务器。 如果您尚未设置这些,请选中 Skip check for resolvability 框以避免错误消息并继续。
接下来,在密码存储模式屏幕上,如果您必须支持密码恢复,请选择存储纯文本密码。 否则,选择 仅存储散列密码 。 点击 Next 后,您将看到 All done 屏幕。 点击下一步结束。
最后,您将看到 Virtualmin/Webmin 仪表板。
您可能会在顶部看到一条消息,说明 Virtualmin 带有一个新主题。 要激活新主题,请单击 Switch Themes 按钮。 页面将重新加载,但可能看起来没有样式,因为新主题的 CSS 文件可能无法正确加载。 要解决此问题,请手动刷新浏览器。
您可能还会看到一条消息,指出尚未检查 Virtualmin 的配置。 单击 Re-check and refresh configuration 按钮检查您的 Virtualmin 配置。 解决检查报告的任何错误。
您的服务器现在已配置。 让我们使用该界面来创建一个新的虚拟服务器。
第 5 步 — 创建一个新的虚拟服务器
Virtualmin 可以轻松设置新的虚拟主机以及管理这些主机的用户。
单击左侧边栏上的 Virtualmin 选项卡以显示 Virtualmin 侧边栏菜单。 接下来,单击创建虚拟服务器。 您将看到以下屏幕:
在出现的表格中,输入以下内容:
- 对于 Domain name,输入您计划用于新虚拟服务器的域名。
- 对于 Description,输入您的服务器的适当描述。
- 对于 管理密码 ,输入您将用于管理此虚拟服务器的密码。 它应该与您将使用的其他密码不同。
将所有其他选项保留为默认值。
点击创建服务器创建新的虚拟服务器。 当 Virtualmin 为您创建各种组件时,屏幕将显示输出。
您刚刚使用 Virtualmin 创建了一个新的虚拟服务器,以及一个可以管理该服务器的用户。 用户名将显示在输出中,密码将是您设置的密码。 您可以将该用户名和密码提供给其他用户,以便他们自己通过 Virtualmin 管理虚拟服务器。
要退出 Virtualmin,请单击左侧边栏底部的红色退出箭头图标。
结论
在本教程中,您配置了 VirtualMin 并使用它的界面为该服务器创建了一个虚拟服务器和一个新的管理用户。
要了解有关 Virtualmin 的更多信息,请查看 官方 Virtualmin 文档 。 不要忘记熟悉 Webmin 文档,因为您可以使用 Webmin 来管理服务、安装更新和执行其他系统管理任务。