以前在ubuntu里面安装宝塔和discourse,二者总是冲突(没办法只好把宝塔的端口改成808或其他的端口,这样一来很多应用就会受到限制),一直找不到好的解决办法。

而昨晚又尝试了一番,终于在宝塔的docker里面成功安装了discourse,通过宝塔的nginx解析,通过宝塔管理ssl,棒棒哒

下面把我的成功经验放在下面:

一、安装宝塔

这次用的是  正式版9.3.0 通用安装脚本 (以前用的是 Ubuntu/Deepin 安装脚本 稳定版9.0.0)

也许成功与用这个版本也有关系吧

1、安装宝塔后,登录进去,安装LNMP环境就行了

2、通过宝塔安装redis,并设置好密码

(因为后面还要安装 宝塔邮局管理群,所以先安装上这个组件)

3、通过宝塔安装好docker,在宝塔里面安装很简单,问你的时候点同意安装就行了,点点鼠标的事情

docker必须安啊,后面安装discourse要用到呢

二、安装discourse

1、先下载discourse,并放到discourse文件夹中

sudo mkdir /var/discourse

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

cd /var/discourse
(切换到discourse文件夹)

2、编辑修改app.yml(这是关键的一步)
(在编辑时一定要非常小心! YAML 文件对空白或对齐的错误非常敏感!您可以访问 http://www.yamllint.com/ 验证此文件是否需要修正)

通过宝塔面板的文件管理功能找到 app.yml 文件,路径是
/var/discourse/containers/app.yml。
根据需要修改文件中的配置,特别是电子邮件部分(因为安装成功后的第一个用户需要依靠电子邮件激活,整个系统才能用)
如果/var/discourse/containers/中找不到app.yml文件,可以上传一个进去。
(我是传了一个以前保存的app.yml上去,安装的时候提示只读,导致安装失败,后来才发现权限虽然是755,但是所有者是root,将权限改成www的755就好了)

关于app.yml的详细配置可以查询详细的文档,下面重点强调关键的几点:

端口的设置
- "80:80" # http [修改这个前面的80 如3000:80]
- "443:443" # https [修改这个前面的443 如4433:443]
注意啊 443一定要改
不然你其他的泛域名会自动上www域名的SSL

完成后的效果大概是上图的样子

关掉discourse内部的的SSL(成功的关键哦)
(我以前因为SSL出现问题,由于不是宝塔控制的,导致重装Ubuntu至少2次了。一次是因为ssl证书过期,宝塔又绑定了域名登录,导致无法管理,一次是因为在宝塔里面不知道怎么摆弄的ssl导致的discourse无法访问)
解决方法是:
在app.yaml中注释掉SSL,关掉(注释掉)discourse的SSL,使用宝塔的Nginx

用宝塔管理SSL证书,美美哒,不是吗?

再就是设置好域名和邮件发送等参数,这一步也很重要哦

3、安装discourse

我用的是这个命令

./launcher rebuild app

等待一段时间,只要不出现错误,就可以安装成功了

4、设置反向代理

点docker---网站---创建---反代容器

输入域名

在“容器”里面选择  app,端口处会自动出现4433

三、用域名访问discourse

经过上面的设置,给域名配置好ssl证书之后,就可以愉快的访问了

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。