th21
1
本主题涵盖了如何使用官方安装说明,并使用 AWS 服务作为 DNS 提供商(Route 53)、邮件提供商(SES)和云服务器提供商(Lightsail)来安装 Discourse。
云服务器
Lightsail
- 1 GB 内存的默认配置对于小型 Discourse 社区来说已经足够。对于大型社区,我们建议使用 2 GB 内存。
^ $5/月即可获得满足 Discourse 最低要求的服务器,我使用的是 $10/月的服务器,但认为 $5/月也应该可以。
邮件服务器
您无法再次获取密钥,但如果丢失了,可以创建一个新的来使用。
域名
分步设置
- 按照 Route 53 文档购买域名。
如果您在此步骤收到“无法处理”的电子邮件,AWS 可能需要先审核您的账户,请提交支持工单,让他们在您的账户审核完毕并可以开始购买时通知您。
- 设置 DNS 记录
进入 Route 53 控制台
选择托管区域 → 创建托管区域 → 填写您的域名 → 向下滚动,点击创建托管区域
点击域名,添加一个值为您的 Lightsail 云服务器 IP 地址的 A 记录,您可以在 Lightsail 控制台中找到它。(红色框内)
- 设置 SES
进入 SES 控制台
选择已验证的身份 → 创建身份 → 填写您的域名(类型:域名)-> 向下滚动,点击创建身份
创建身份 → 填写您将用于注册管理员帐户的电子邮件地址(类型:电子邮件地址)-> 向下滚动,点击创建身份
由于我们在 Route 53 中注册了域名,验证大约需要 5 分钟,您将收到一封验证电子邮件地址的邮件。
当两者都验证通过后,点击域名,找到发布 DNS 记录,将 DNS 对复制粘贴到您的 Route 53 中,在您在第 2 步创建的托管区域下。
转到 SMTP 设置并点击创建 SMTP 凭证,按照步骤操作,然后下载包含 SMTP 用户名和密码的 CSV 文件。
SMTP 端点也在此页面的下方列出。
- 配置 Discourse
以上步骤涵盖了 官方安装说明 中的步骤 1-3。请继续按照步骤 4-6 进行操作。
您的 Discourse 主机名? [discourse.example.com]: // 您的域名
管理员帐户的电子邮件地址? /[me@example.com,you@example.com]: //您在 SES 已验证身份中验证过的那个
SMTP 服务器地址? [smtp.example.com]: // SMTP 端点
SMTP 端口? [587]: // 使用默认值
SMTP 用户名? [user@example.com]: // 在您下载的 CSV 文件中
SMTP 密码? [pa$$word]: // 在您下载的 CSV 文件中
Let's Encrypt 帐户电子邮件? (输入以跳过) [me@example.com]: // 使用默认值
可选 Maxmind 许可证密钥 () [xxxxxxxxxxxxxxxx]: // 使用默认值
等待安装完成,然后您就可以使用设置中提供的电子邮件地址注册管理员帐户了。
- 安装后
当您准备好向新用户介绍您的社区时,请申请 SES 生产访问权限。
在用例描述中,解释您计划如何使用 Amazon SES 发送电子邮件。为了帮助我们处理您的请求,您应该回答以下问题:
您计划如何构建或获取您的邮件列表?
您计划如何处理退信和投诉?
收件人如何选择退出接收您的电子邮件?
您是如何选择您在此请求中指定的发送速率或发送配额的?
建议按照 URL 中的申请指南进行操作,但这不能保证获得批准,如果您收到拒绝邮件,请尝试添加新用户注册列表的屏幕截图,并告知他们新用户正在等待激活电子邮件。
3 个赞
lakshya
(Lakshya)
2
有人能提供一个在 AWS Lightsail 上使用 SES 托管 Discourse 的完整分步教程吗?
wal
4
我在以下链接中找到了一个非常有用的指南,用于对 SES 配置进行试运行:
只需将其中显示的脚本复制/粘贴到一个新的脚本文件中,修改端点(例如 email-smtp.us-east-1.amazonaws.com ),它似乎就能正常工作。出于某种原因,telnet 方法似乎无法与 SES 一起使用,原因不明。
哦,对了,关于那个指南,我还做了这个来“创建一个配置集”,不确定它是否对 Discourse 实际上是必需的,但我还是做了,以便能够按照脚本中的描述来测试 SES:Creating configuration sets in SES - Amazon Simple Email Service
这里还有另一件让我困惑的事情:Publishing an MX record for Amazon SES email receiving - Amazon Simple Email Service
对于应用于您的域的必需的 DNS MX 记录,AWS SES 以如下格式提供记录的“值”:
10 inbound-smtp.region.amazonaws.com
但是,我的域名注册商给了我一个错误,说“值必须是主机名”,也就是说,它不喜欢前面带有“10 ”的内容。AWS 控制台没有直接告诉您这意味着什么或该怎么做,因此根据那里链接的文档,您需要为您的 DNS 注册商执行此操作:
一些 DNS 提供商的管理控制台包含记录 值 和记录 优先级 的单独字段。如果您的 DNS 提供商是这种情况,请为 优先级 值输入 10,为 值 输入入站邮件端点 URL。
在您的域名注册商仪表板中应该看起来像这样:
1 个赞
wal
5
作为后续,也许我们可以扩展这篇文章,包括设置 AWS Cloudfront CDN?因为它与此处描述的其余 AWS 堆栈非常吻合。我通过遵循这篇文章的建议运行了它
但包含一个更详细的指南将是很棒的。