WesPenre
(WesPenre)
1
在一位认证的 Discourse 支持人员帮助我们更换 Discourse 服务器后,Discourse 不再发送自动邮件。我检查了错误日志,它提示我联系 Sendingblue 激活 SMTP,我照做了(他们也激活了):
然而,仍然无法工作,所以我发现在 admin/settings/emails 下,列出的是 Discourse 支持人员的电子邮件而不是我的电子邮件:
我尝试联系这位支持人员将近两周,但他不回复我的电子邮件,我也无法通过他的任何平台联系到他。我该如何将他的电子邮件地址更改为我的?
非常感谢!
Wes
如果您的安装是标准的,该地址将在您的 app.yml 中设置。因此,您可以直接编辑 app.yml,或者再次运行 ./discourse-setup 以输入正确的 SMTP 详细信息。如果您查看您的邮件提供商,应该能找到您需要的用户名和密码详细信息。
如果您需要更多详细信息,请参阅指南的此部分。
WesPenre
(WesPenre)
3
感谢您的回复,Jammy!我的控制台中没有 app.yml 文件,所以我猜我只能运行 discourse-setup 了。我一点技术都不懂,所以对于任何愚蠢的问题,我先表示歉意。但我希望确保我不会搞砸。
如果您运行 discourse-setup,正如您建议的那样,这会创建一个全新的安装,还是仅仅更改 SMTP 信息?我无法手动备份 Discourse,因为电子邮件功能不起作用。所以,您认为我敢在不先备份 Discourse 的情况下执行此操作吗?
如果 Jammy 不在,请随时回复,任何人……
我完全理解。
与在管理员控制台中操作相比,进行后端操作确实会让人有点紧张。
只是想确认一下,您是否可以访问您的服务器(自托管),还是在使用托管服务提供商?如果您无法访问服务器,您可能需要联系托管您网站的人来做出这些更改。
如果您可以访问服务器,我认为更安全的选择是重新运行 ./discourse-setup,因为您在输入数据之外不太可能出现拼写错误。它不会重复您的实时实例,并且可以多次运行。
您还可以参考 Troubleshoot email on a new Discourse install 指南以获取更多信息。
如果您想谨慎行事,也可以从命令行进行备份。
您想在开始之前阅读一下这些内容,看看是否有任何问题吗?
2 个赞
WesPenre
(WesPenre)
8
谢谢你,Jammy。我还会回来的。现在有另一位技术支持代表正在处理。我会看看他能做什么。无论如何我都会回到这里。感谢你的帮助!
2 个赞
WesPenre
(WesPenre)
9
我以前从未做过这件事,所以请多包涵。我正试图使用您给我的链接进行备份:https://meta.discourse.org/t/backup-discourse-from-the-command-line/64364。
所以,我现在在 ./launcher (见图)。
这是上面链接中的内容:
进入容器:
./launcher enter app
运行备份:
discourse backup
exit
这将打印出备份的最终文件名。将备份和容器配置(如果需要)下载到您的本地机器:
scp root@69.55.54.86:/var/discourse/shared/standalone/backups/default/the-wes-penre-discussion-board-2022-03-15-152304-v20220228163400.tar.gz .
scp root@69.55.54.86:/var/discourse/containers/app.yml .
我不知道该怎么做。我已经打开了 launcher 窗口。接下来该怎么做?在哪里以及如何运行备份等等?
我恐怕对 WinSCP 不熟悉。我已经下载并设置好了,但要到晚些时候才能仔细查看。\n\n如果你能通过类似 Windows PowerShell 的工具 SSH 登录到你的服务器,或者如果你使用的是 Digital Ocean,可以使用“访问控制台”选项,我可能会更快地帮助你。
WesPenre
(WesPenre)
12
是的,我在 Digital Ocean(以下简称 DO)中可以使用控制台选项。启动液滴控制台,它说……
太棒了。 

启动液滴控制台
然后 cd /var/discourse。
然后 ./launcher enter app(给它一点时间)
接着是 discourse backup(这也可能需要一点时间才能生效)
完成后输入 exit
我认为现在你已经通过控制台而不是 WinSCP 完成了其中很多操作,这些操作的说明会更有意义。
1 个赞
WesPenre
(WesPenre)
14
这似乎容易多了!现在,一切都很顺利,直到我输入 discourse backup。它说“命令未找到”。
而且我输入时 discourse 和 backup 之间有一个空格。
pfaffman
(Jay Pfaffman)
18
您需要执行以下操作:
cd /var/discourse
./launcher enter web_only
discourse backup
当您使用 winSCP 获取数据时,您需要查找 /var/discourse/shared/web-only/backups/defau/t (除非它是 web_only,但我认为它在那里有一个破折号)。
在某个时候,您需要像这样重建数据容器:
./launcher rebuild data
./launcher bootstrap web_only && launcher destroy web_only; ./launcher start web_only
(如果您还没有从 Web 界面使用 docker_manager 更新容器,可以将 rebuild 替换为 stop,但引导通常不会造成任何损害。
重建还将确保您使用的是 main 而不是 master 分支,并执行 git pull。
3 个赞
太棒了。谢谢你 @pfaffman 
我恐怕还没有双容器设置的实际经验,所以看到你的头像在下面打字确实让我松了一口气。
运行 ./discourse-setup --two-container 是否是双容器设置的替代方案?我不确定是否可以像常规设置那样多次运行它?
如果不行,更新 SMTP 详细信息是否是这个命令?
cd /var/discourse
nano containers/web_only.yml
1 个赞
pfaffman
(Jay Pfaffman)
20
不。但是,如果在安装后运行 discourse-setup,它会注意到是否有 web_only 并执行正确的操作
。(如果您同时拥有 app 和 web_only,它将忽略其中一个)。
1 个赞
WesPenre
(WesPenre)
21
太棒了!确实很棒。非常感谢你,Jay!它正在工作。它现在正在下载到我的电脑上。当没有设置电子邮件 smtp 时,这是一个很好的解决方法。
也谢谢你,Jammy!我在这里学到了新东西。我需要一次学习所有这些东西。Discourse 是一个很棒的程序,我喜欢它!我只需要了解它的内部工作原理。我仍然需要了解如何更改 smtp 的电子邮件地址,但我会遵循到目前为止收到的说明,如果我还有其他问题,我会回到这里……
2 个赞
以防万一在来回沟通中被忽略了,现在您有了备份,应该可以执行以下操作:
cd /var/discourse
./discourse-setup
并在其中的提示中填写您的 SMTP 详细信息。
1 个赞