内容中心阿里云国际如何使用邮件推送和CDN在阿里云上安装在线论坛

阿里云国际如何使用邮件推送和CDN在阿里云上安装在线论坛

2022-04-15 17:04:28

Discourse 是一个现代、免费且开源的论坛系统,运行在 Ruby on Rails 上。它使用PostgreSQL作为其数据库和Redis缓存。话语被许多顶级公司用来围绕他们的产品开发社区和论坛,并为客户提供支持。

在本指南中,我们将在带有Ubuntu 16.06的阿里云弹性计算服务(ECS)上安装Disches,并使用DirectMail发送电子邮件。我们将利用阿里云 CDN 加速静态内容交付,实现静态内容交付。

您可以通过在阿里云注册新帐户来免费获得所有这些产品。

先决条件

对于本教程,我们需要:

  • 阿里云 ECS Ubuntu 16.06 实例,至少具有 2GB RAM 和 1 个 vCPU。
  • 解析到您的 ECS 实例的域名或子域。
  • 阿里云 CDN 设置可加快我们的论坛速度。
  • 用于从我们的论坛发送电子邮件的直邮 SMTP 凭据。

您需要在开始实际安装之前完成先决条件,因为 Discourse 安装程序将在安装过程开始时要求提供这些信息。

步骤 1:设置域名

我们首先执行此步骤,因为 DNS 传播需要一些时间。我们希望在运行安装程序之前传播它,因为Let's Encrypt需要它来生成SSL证书。

在此步骤中,您只需在域的 DNS 配置中添加一个“A”记录,将您的域或子域指向 ECS 实例的 IP 地址。

记录类型: AName
: forum.example.com
值: your.server.ip.address (请参阅上一步中的图像以了解在哪里可以找到它)

如果您使用的是阿里云 DNS,您可以按照本指南添加和管理域名,并按照本指南添加和管理记录。

步骤二:设置阿里云 CDN

有关阿里云 CDN 的官方文档,请参阅 CDN 快速入门指南。但是,我将详细讨论本节,因为我们需要一些设置来设置话语。

添加 CDN 域

单击此处转到CDN控制台。

单击 CDN 菜单下的 CDN 域名列表,然后单击添加域。您将看到一个用于设置 CDN 域和源的表单。

“CDN 域”字段中,输入域名的子域。例如,如果您的域名 example.com,则可以输入 cdn.example.com

“业务类型”中,选择“映像和小文件”

“源站点类型”中,选择“源站点域名”

在显示的字段中输入您用于论坛的域名。

端口字段中,选择端口 443,因为话语安装程序将安装让我们加密 SSL 证书,并在端口 443 上为您的论坛提供服务。

加速区域中,如果要使用中国大陆以及世界其他地区的节点,请选择“全球加速”;如果要仅使用中国大陆以外的节点,可以选择“海外加速(非中国大陆)。”海外加速“。要仅使用中国 POP,则应从菜单中选择中国大陆

在 CDN 控制台上,您应该看到类似于以下内容的内容:

1

然后单击“下一步”。

几分钟后将配置您的 CDN,您将获得一个唯一的 URL。您必须在域的 DNS 设置中创建指向此 URL 的 CNAME。

安装 CDN 的 SSL 证书

我们需要为 CDN 子域设置 SSL 证书。如果您已有证书,则可以直接安装它。如果没有,您可以从阿里云购买证书

要安装证书,请转至 CDN 控制台,然后单击 CDN URL 列表中 URL 旁边的管理。然后单击HTTPS安全加速旁边的编辑图标。

打开“证书状态”开关。

“选择证书”字段中,选择“自定义上传”。

在“证书名称”字段中输入您选择的名称。

在标记的文本框中输入证书内容私钥。这些由证书提供程序提供。

在“重定向类型”中,单击显示 HTTP -> HTTPS 的单选按钮。

它应该看起来像这样:

2

单击“确定”保存证书。

设置回源主机

此设置是必需的,因此您的 CDN 不会执行到源服务器的 301 重定向。

单击基本配置下的“回到源主机”上的编辑图标。

将打开一个叠加窗口。

打开“返回源主机”按钮。

从下拉菜单中,选择您的来源域名。

它应该看起来像这样

3

单击“确定”进行保存。

设置 CORS HTTP 标头

现在,单击“设置 HTTP 标头”,然后单击“添加 HTTP 标头”。将打开一个窗口。

从下拉菜单中选择访问控制允许源,然后添加 * 作为值。

保存后,它应如下所示:

4

请注意 CDN URL,因为我们稍后会用到它。

步骤 3:获取直接邮件 SMTP 凭据

邮件推送是阿里云提供的一项电子邮件发送服务,是最便宜、最可靠的服务之一。

请注意: 电子邮件设置是用户破坏论坛并必须重新构建论坛的最常见步骤。执行这些步骤时要采取额外的预防措施。

点击此处前往邮件推送控制台。如果您以前没有激活过它,它会要求您这样做。您可以阅读DirectMail官方文档,但我会在这里描述它,因为我们需要做一些事情才能使其与Disches一起使用。

添加发件人域

这将是发送电子邮件的域。使用您的论坛域,这很重要。

单击右上角的“新建域”按钮,将打开一个弹出窗口。

在“域”字段中输入论坛的域,然后单击“确定”。

5

需要域验证才能激活它。为此,请执行以下操作:

  • 单击域前面的配置。您将看到 DNS 配置数据。您需要将这些条目添加到域的 DNS 记录中。登录到 DNS 提供商的控制面板以执行此操作。
  • 将 DNS 条目添加到域的 DNS 后,单击“确认更改”
  • 现在点击 验证.只有在域状态更改为“可用”后,您才能发送邮件。如果即使在正确配置后也无法验证,请等待一段时间,然后再次验证。DNS 更改可能需要一些时间才能生效。

添加发件人电子邮件地址

单击左侧菜单中的发件人地址。

单击右上角的创建发件人地址

将打开一个窗口,您需要在其中输入数据。填写所有字段以设置发件人电子邮件:

  • 电子邮件域:从下拉菜单中选择论坛的域名。
  • 帐户:noreply(重要的是只放置noreply,因为帐户或身份验证将失败,并且您的论坛将无法发送电子邮件。
  • 回复地址: 您希望接收回复的任何电子邮件地址。
  • 邮件类型:触发的电子邮件

它应该看起来像这样

6

按“确定”创建发件人地址。

设置 SMTP 密码

单击在上一步中设置的发件人电子邮件地址前面的“设置 SMTP 密码”链接。

将打开一个窗口,您可以在其中设置密码。

请仔细阅读说明,因为它需要混合使用小写大写字母和数字。使用至少 2 个不同的大写字母、2 个不同的小写字母和 2 个不同的数字作为密码。

记下发件人电子邮件地址和 SMTP 密码。运行 Discourse 安装程序需要它。您还需要可在此处找到的 SMTP 服务地址。选择您设置 Directmail 帐户所在的区域。

步骤 4:运行话语安装程序

Discourse团队构建了一个不错的安装程序,使安装Disclement变得非常容易。您只需要先安装 Docker,然后下载并运行安装程序。几分钟后,您将准备好新的话语论坛。让我们开始吧!

通过 SSH 登录到您的服务器

ssh root@192.168.1.1

注意:将 192.168.1.1 替换为您的 IP 地址。

成功登录后,运行以下命令以首先更新系统。

sudo apt-get update && apt-get upgrade -y

我们将以 root 用户身份运行所有步骤,因此请运行此命令。

sudo -s

安装泊坞窗

Discourse 论坛在 Docker 容器内运行,因此我们将首先安装最新版本的 Docker。
wget -qO- https://get.docker.com/ |sh

安装 Git

在继续之前,您需要安装 Git。使用下面的命令安装 Git。

apt-get install git

下载话语安装程序

创建目录以安装话语

mkdir /var/discourse

在此文件夹中克隆话语 Docker 映像

git clone https://github.com/discourse/discourse_docker.git /var/discourse

切换到此目录

cd /var/discourse

运行话语安装程序

启动安装脚本。

./discourse-setup

话语将首先创建一个交换空间,然后您将被要求提供以下信息。

Hostname for your Discourse? [discourse.example.com]:  Email address for admin account(s)? [me@example.com,you@example.com]:  SMTP server address? [smtp.example.com]:  SMTP port? [587]:  SMTP user name? [user@example.com]:  SMTP password? [pa$$word]:  Let's Encrypt account email? (ENTER to skip) [me@example.com]:

条目的说明如下:

  • 您的话语的主机名:这是您要在论坛中使用的域或子域。我们在步骤 1 中设置了它,同时在域的 DNS 中添加“A”记录。
  • 管理员帐户的电子邮件地址:在这里,您可以输入论坛管理员帐户的电子邮件地址。您可以添加多个以我的逗号(,)分隔的管理员电子邮件。这不是您的 SMTP 发件人地址。
  • SMTP 服务器地址:这是邮件推送的 SMTP 服务器的地址。您可以在此页面上找到它。选择您创建邮件直销帐户的区域。您可以在“邮件直销”控制台的顶部看到您所在的地区。
  • SMTP 端口:在此输入80;这是邮件推送用于 SMTP 连接的端口。
  • SMTP 用户名:在这里,您输入我们在步骤3中创建的发件人电子邮件地址。
  • SMTP 密码:输入我们在步骤3中设置的SMTP密码。
  • 让我们加密帐户电子邮件:这是Let's Encrypt用于为您的域生成SSL证书并发送有关过期和续订失败的通知的电子邮件地址。您可以通过按Enter键跳过此操作,但我建议您输入电子邮件地址并定期检查。此外,请确保在运行安装程序之前已传播 DNS,因为这是生成 Let's Encrypt 证书所必需的。

输入所有信息后,您需要查看并确认设置。请仔细检查,如果正确,请按 Enter 键。如果您需要更改某些内容,请键入N并按Enter键。

确认后,设置所有内容大约需要10分钟。设置完成后,您可以通过访问论坛的URL在浏览器中查看您的论坛。

在此阶段,虽然您的论坛正在运行,但目前尚未使用阿里云 CDN。我们将在以下步骤中进行设置。

步骤二:设置阿里云 CDN

转到 Discourse 目录(如果您尚未在其中)。

cd /var/discourse

在 nano 中打开 app.yml 文件进行编辑。

nano containers/app.yml

向下滚动,直到找到此行。

#DISCOURSE_CDN_URL: //discourse-cdn.example.com

并将此行粘贴到其正下方。确保保持与上行相同的缩进。

DISCOURSE_CDN_URL: //cdn.example.com

注意: 替换为我们在步骤 2 中设置的 CDN URL。//cdn.example.com

按 Ctrl+O 和 Enter 保存更改。
按 Ctrl+X,然后按 Enter 退出 nano。

7

现在重新生成应用。

./launcher rebuild app

重建过程大约需要 10 分钟。

您的论坛现在将使用阿里云 CDN 来提供静态内容。访问论坛的URL,您将收到此消息。

8

单击注册按钮并根据需要填写所有字段,以便为论坛创建管理员帐户。话语论坛将向您发送一封电子邮件以确认您的电子邮件地址。

如果您没有收到激活电子邮件,请查看您的 DirectMail 设置,并确保已仔细阅读本教程。

如果您需要在论坛中更改 SMTP 设置,则可以在 Discourse 目录中使用此命令再次运行安装程序。

 ./discourse-setup

系统将再次询问您所有信息,安装程序还将向您显示您之前提供的所有信息。

确认您的电子邮件后,请完成初始的话语设置,您很快就会看到论坛的主页,如下所示

9

您已成功安装话语。享受您的新话语论坛!

结论

您可以在阿里云的基础设施上轻松安装话语论坛。您不必从多个提供商处购买产品,因为您可以从阿里云获得所有必需的服务,例如云服务器,SMTP服务和CDN。如果您尚未注册,请注册并获得价值 300 美元的免费试用版,以试用本指南和其他阿里云服务。

上一篇
腾讯云国际云服务器登录之后没有网络,如何排查?
下一篇
腾讯云国际如何排查迁移任务提示的错误原因?
立即咨询 享受更轻松快捷的上云服务
联系我们
联系我们
Skype:87Cloud Alibaba
E-mail:the87cloud@outlook.com
最新活动
合作流程
解决方案
代理合作
关于我们
87Cloud Alibaba
the87cloud@outlook.com
电报交谈
Skype
企业邮箱
返回首页
回到顶部