嗨,我对服务器相关的一切都是新手。
请帮帮我,如何在 Proxmox 虚拟机(VM)或容器(CL)中部署并运行 Discourse?或者是否有现成的镜像可以直接导入?
非常感谢。
嗨,我对服务器相关的一切都是新手。
请帮帮我,如何在 Proxmox 虚拟机(VM)或容器(CL)中部署并运行 Discourse?或者是否有现成的镜像可以直接导入?
非常感谢。
@pfaffman 可能有一套付费的安装流程可供他执行。这每一分钱都花得值。
谢谢,Alex!
首先,你可以查看 Discourse 官方标准安装指南。不过,考虑到 Proxmox 的特性,我认为答案应该是“直接咨询他们”。当然,你也可以搜索一下,例如这篇帖子:https://meta.discourse.org/t/trying-to-install-discourse-in-an-ubuntu-vm-on-proxmox/113703。
我不确定你认为它运行在 Proxmox 虚拟机上有什么特别之处。在虚拟机中安装 Ubuntu 18,将端口 80 和 443 暴露给互联网,然后按照上面链接的 Discourse 文档操作。你需要哪部分的帮助?
我完全是服务器领域的新手,但正在学习中。
比如现在:-> 无论我使用哪种虚拟机监控程序,都没有区别。谢谢!
指南中提到:
您必须拥有 SSH 访问权限(我已有本地 IP 和 PuTTY),
目标是一台支持 Docker 的 64 位 Linux 服务器。
(这意味着在安装开始前不能预先安装 Docker 吗?)
这应该是一个虚拟机(VM),还是容器(CT)也可以?
您推荐哪种方式?
您推荐哪种 Linux 发行版?
我认为指南中的其余部分都很清楚,但让我们拭目以待。
可以安装,也可以不安装。如果未安装,安装脚本会自动安装 Docker。
我不确定 Docker 在 CT 中能否正常工作——这相当于在容器内再运行一个容器,可能会引发问题。建议使用虚拟机(VM)。
指南中写道:
Ubuntu Server 当前支持的长期支持(LTS)版本作为默认选项完全没问题。
除非您对 Ubuntu 有意见,否则我建议使用它(我目前的 Discourse 站点也在用它)。当前的 LTS 版本是 20.04。我之前的帖子提到“Ubuntu 18”,是因为我目前仍在使用该版本(它还将继续获得支持三年,所以我并不急于更换),但如果是全新安装,最好使用当前版本。
我想你大概是对的。你还需要在 Discourse 安装中禁用内置的 Let’s Encrypt 功能。我知道这是可以实现的,但我自己很少有需要这样做。不过,我相信在这里搜索一下就能找到相关的操作说明。
我不确定自己能否处理脚本的修改(对新手来说听起来有点危险)。
如果我直接将 80 和 443 端口转发给虚拟机进行安装,完成后再把 80 和 443 端口改回 RevManager,这样可行吗?
或者只转发 80 端口?
另外,我认为在这种情况下,如果某人已经拥有证书,在脚本中加入一个“是否获取证书”(Y/N)的提示可能也是个不错的主意(作为新手,我无法判断这有多复杂)。你觉得呢?这样会完美吗?
这正是你必须做的。Discourse-setup 不适用于你的配置。你选择了一条相当艰难的道路。网上有使用其他 Web 服务器进行安装的指南。
我建议你先尝试更简单的安装方式。
THX
请问你能告诉我如何修改脚本吗?
我会尝试一下。
我必须学习这些东西。
这个提议怎么样?
或者这样才完美!
这样做是可行的,可以让脚本化安装顺利完成。但问题在于,此时你的 Discourse 安装会期望自行管理其 TLS 证书,而一旦你停止将 80 和 443 端口转发给该虚拟机,它将无法做到这一点。你需要做的是告诉 Discourse 不要尝试获取证书或处理 TLS。我认为(尽管我尚未测试)你可以通过在 app.yml 中注释掉 web.ssl.template.yml 和 web.letsencrypt.ssl.template.yml 这两行来实现。Run other websites on the same machine as Discourse 也包含了一些相关信息,并且似乎支持这一观点。
其实没必要这样做,因为获取新证书非常简单(前提是你没有像现在这样把事情复杂化),你手头是否已有现有证书其实并不重要。你打算的这套方案中的复杂因素并非你已拥有证书,而是这种安排无法让 Discourse 自行管理其证书。
谢谢,我会试试。
意思是:
将路由器的 80 和 443 端口指向虚拟机的 IP 地址。
然后我可以使用普通脚本进行安装。
安装完成后,再编辑这些文件吗?
其他要求:
您的 Discourse 主机名?[discourse.example.com]:
—> 来自 No-IP 的 NoIp.domain.com
管理员账户的电子邮件地址?[me@example.com, you@example.com]:
—> 我是否也可以在这里使用来自 1und1 (IONOS) 的电子邮件地址 me@MY.Domain.com,与 NoIp.domain.com 不同?
SMTP 服务器地址?[smtp.example.com]: —> 来自 IONOS
SMTP 端口?[587]: —> 来自 IONOS
SMTP 用户名?[user@example.com]: —> 是电子邮件地址
SMTP 密码?[pa$word]: —> 好的
Let’s Encrypt 账户电子邮件?(按回车跳过)[me@example.com]: 来自 No-IP 账户的电子邮件 但不需要密码?
不,我的意思是需要在安装运行之前编辑文件。如上所述,您将无法使用 discourse-setup 脚本。
您可以使用任何您想要的电子邮件地址,不受域名限制。
如果您打算将此论坛作为公共论坛,请确保该服务器允许批量发送邮件。
为什么需要密码呢?该邮箱的唯一用途是让 Let’s Encrypt 通知您证书即将过期(这种情况实际上根本不应该发生)。而且您的容器根本不应该获取证书。
谢谢
我想在收集完所有信息后,我可以使用该脚本
我稍后会整理一份我的配置总结
期待看到你的进展。