以前在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证书之后,就可以愉快的访问了
评论(0)