警告: 2018 年 4 月 8 日,VestaCP 中发现了一个漏洞,攻击者可以利用该漏洞破坏主机系统并发送针对其他服务器的恶意流量。 因此,DigitalOcean 已禁用端口 8083
并且 VestaCP 已删除安装文件,直到问题得到修补,这将影响新的和现有的安装。 要了解有关正在进行的开发的更多信息并了解如何缓解此问题,阅读有关此漏洞的社区问题。
介绍
Vesta 控制面板是一个免费的开源网站控制面板,内置网站、电子邮件、数据库和 DNS 功能。 在本教程结束时,我们将在 Ubuntu 14.04 上安装并运行 Vesta,并使用工作网站和电子邮件帐户。
先决条件
完成本教程需要以下内容:
本教程使用 example.com
作为示例主机名。 在本教程中将其替换为您的域名。
- 一个 Ubuntu 14.04 服务器
- 一个注册的域名指向这个 Droplet。 您可以阅读有关主机名的 this series 以获取更多信息。
- 一条 A 记录 指向
example.com
到您的 Droplet 的 IP - 一条 A 记录 指向
ns1.example.com
到您的 Droplet 的 IP - 一条 A 记录 指向
ns2.example.com
到您的 Droplet 的 IP - 一条 A 记录 指向
panel.example.com
到您的 Droplet 的 IP - CNAME 记录 指向
www.example.com
到example.com
- Filezilla 或您计算机上安装的其他 FTP 客户端
- 具有 sudo 权限的非 root 用户(Initial Server Setup with Ubuntu 14.04 解释了如何设置。)
除非另有说明,否则本教程中的所有命令都应以具有 sudo 访问权限的非 root 用户身份运行。
第 1 步 — 安装 Vesta
第一步是下载安装脚本。 安装脚本需要直接 root 访问权限,因此在执行此步骤中的命令之前,请确保您是 root 用户。
curl -O http://vestacp.com/pub/vst-install.sh
然后,以 root 身份执行安装脚本:
bash vst-install.sh
当询问您是否要继续时,输入 y
。 然后将要求您输入有效的电子邮件地址,输入您的电子邮件地址并按 ENTER
。 现在将要求您输入主机名。 这可以是任何您想要的,但通常它是一个域名,例如 panel.example.com
。
注意: 安装Vesta时输入的任何域名都将用于Vesta控制面板的URL。 例如输入panel.example.com
,https://panel.example.com:8083将用于访问Vesta。 如果您使用 Vesta 为 example.com
设置网站, 请勿在 安装过程中使用 example.com
。 使用 panel.example.com
然后使用 Vesta 控制面板设置 example.com
网站域。
安装过程将开始。 它声称需要 15 分钟,但我发现它在 SSD 和千兆互联网速度下大约是 5 分钟,就像在 DigitalOcean Droplets 上一样。
此安装脚本会将控制面板及其所有依赖项安装到您的服务器。 这包括:
- Nginx 网络服务器
- Apache Web 服务器(作为后端)
- 绑定 DNS 服务器
- 进出口邮件服务器
- Dovecot POP3/IMAP 服务器
- MySQL 数据库服务器
- Vsftpd FTP 服务器
- iptables 防火墙 + Fail2Ban
- Roundcube 邮件客户端
它还会将您的主机名更改为您在开始时输入的任何主机名,但它不会更改您的 DigitalOcean 控制面板中的主机名。 我建议您更改该主机名以及指针 DNS 记录以匹配您的域,这至少有助于从您的服务器发送的电子邮件不被发送到垃圾邮件。
脚本完成工作后,屏幕上会显示一些信息,看起来有点像这样:
======================================================= _| _| _|_|_|_| _|_|_| _|_|_|_|_| _|_| _| _| _| _| _| _| _| _| _| _|_|_| _|_| _| _|_|_|_| _| _| _| _| _| _| _| _| _|_|_|_| _|_|_| _| _| _| Congratulations, you have just successfully installed Vesta Control Panel https://panel.example.com:8083 username: admin password: v6qyJwSfSj
这应该结束您的控制面板的基本安装。 我们现在可以继续浏览网页面板。
您不再需要以 root 用户身份登录。 现在回到你的非 root sudo 用户。 例如:
su - sammy
第 2 步 — 设置灶神星
现在我们将设置您的 Vesta 控制面板。 转到安装结束时提供给您的 URL。 就我而言,它是 https://panel.example.com:8083/
,但您的主机名会根据您在开始时输入的主机名而有所不同。 您将收到 SSL 警告,如下所示:
这是完全正常的,因为它使用的是自签名证书。 继续是完全安全的。 单击以继续。 具体步骤因网络浏览器而异。 对于 Chrome,单击 Advanced
,然后单击 Proceed
。 进入登录屏幕后,输入安装完成后服务器控制台中显示的两个凭据。 这些凭据也使用您在安装开始时输入的电子邮件通过电子邮件发送给您。
我们要做的第一件事是更改管理员用户密码。 在 Web 面板的右上角单击 admin 链接:
在 Password 字段中,输入您想要的任何密码,或单击 Generate 让 Vesta 为您生成一个安全密码。
在此屏幕上时,您还可以选择更改其他设置,例如名称和语言。 此外,在屏幕底部,您应该为您的服务器设置名称服务器。 这些将是您自己域的子域,并且您将要在 Vesta 上设置的未来域指向它们。 一般选择ns1.example.com
和ns2.example.com
。
完成后按页面底部的保存。
第 3 步 — 建立网站
现在我们可以建立您的第一个网站。 在Vesta首页,点击顶部的WEB。
然后点击绿色的【X21X】+【X26X】按钮。 在下一屏幕的 Domain 字段中,输入您希望访问网站的域,或者您注册指向此 Droplet 的 IP 地址的域,例如 example.com
。 此外,在某些情况下,您可能在 IP 地址 下拉列表下有多个 IP 地址,通常是在您启用了专用网络的情况下。 确保列出的 IP 地址是您的 Droplet 的公共 IP 地址。 现在单击高级选项链接。 在 Aliases 下输入您还希望可以从中访问该网站的任何子域,例如 www.example.com
。 您还可以选择 webalizer 作为 Web Statistics 下的统计选项,用于服务器端分析。 此选项将为您的网站提供准确的分析。
您还应该选择 Additional FTP 以便您可以轻松地将文件上传到您的主机。 在各自的字段中输入 用户名 和 密码 。 请注意,您在用户名字段中输入的任何内容都将添加 admin_
作为前缀(输入 example 将导致 admin_example)。
进行任何您想要的配置后,请务必单击页面底部的添加。
注意: FTP 连接未加密。 通过 FTP 连接发送的用户名、密码和任何文件都可以被截获和读取。 使用唯一密码,不要通过此连接发送敏感文件。
在您的计算机上,您现在需要通过 FTP 连接到您的 Droplet:
ftp your_droplet_ip
或者,您可以使用 Filezilla 等程序通过 FTP 连接到您的网站。
目录下会有一堆文件,但我们只需要关心public_html
目录即可。 这是所有可通过网络访问的文件的存储位置。 您可以将 index.html
文件编辑为您想要的任何文件,或上传您自己的文件。 上传的任何内容都将立即在 example.com
上可用。 请注意,您上传的任何具有相同文件名的文件都将覆盖您服务器上的现有文件。 否则,默认情况下,您的网站登录页面将显示如下:
现在尝试访问 http://example.com
以确保它正常工作。
如果您想稍后更改您的域,请单击 Vesta 控制面板顶部的 *WEB。 您将看到刚刚创建的域和 Vesta 控制面板的域名,例如 panel.example.com。
第 4 步 — 设置电子邮件帐户
现在我们可以设置一个电子邮件帐户,例如 username@example.com
之类的个性化帐户。 在 Vesta 中,单击屏幕顶部的 MAIL。 在邮件屏幕上,将鼠标悬停在您希望发送电子邮件的域上,然后在按钮出现时单击 ADD ACCOUNT。 在以下屏幕上,在 Account 字段中输入用户名,在 Password 字段中输入帐户密码。 您现在可以按添加或查看高级选项。 在这些选项中,您有三个字段。
- Quota 允许您设置邮箱大小限制。 如果您想节省磁盘空间或为其他用户创建帐户,这很有用。 您也可以按下无穷大符号为其提供“无限”存储空间。
- Aliases 允许您添加转发到该主帐户的其他电子邮件地址。
- 转发到允许您输入一个电子邮件地址来转发所有这封电子邮件。 例如,如果您有另一个服务的电子邮件帐户,并且希望将电子邮件保留在那里,您可以输入该电子邮件,因此来自
username@example.com
的电子邮件转到username@emailservice.net
。 如果您使用此选项,最好同时选中 不存储转发的电子邮件 复选框,以确保不会在您的服务器上浪费存储空间。
您刚刚设置的电子邮件可以从http://panel.example.com/webmail/
轻松访问。 只需使用您刚刚设置的用户名和密码登录该屏幕。 请务必注意,您需要在 用户名 字段中包含域。 如果您的帐户名称是 hello
,您应该输入 hello@example.com
。
结论
恭喜,你现在已经在你的 Droplet 上安装了一个功能齐全的网络和电子邮件服务器。 您可以重复步骤 3 和 4 以添加更多网站和电子邮件。 如果您有任何问题,还请查看 Vesta 文档 。 或者,如果您需要进一步的帮助,请在 DigitalOcean 的 社区 Q/A 中心 提出问题。