安装discourse
1 | mkdir /var/discourse |
修改app.yml文件
文件修改如果错了,再重新编绎非常花时间,所以最好一次搞定,还是就是邮箱非常重要,填写真实的。
1 | templates: |
配置文件的这个部分,需要添加- “templates/web.china.template.yml”;否则在./launcher bootstrap app
初始化时会报错RuntimeError: …,原因得问GWF。
1 | ## on initial signup example'user1 .com,user2 .com' |
这里是开发者邮箱的设置,用于接收discoures论坛的官方邮件,只针对开发运营这个论坛的开发者。
1 | ## TODO: The domain name this Discourse instance will respond to |
域名设置没设么可说的,没有的话,用绑定的外网IP地址访问discourse也可以,购买了域名可以按照指南到域名管理界面,进行设置;
1 | DISCOURSE_SMTP_ADDRESS:smtp.mxchina.com |
重点是在邮箱设置,我申请的阿里云邮箱
1 | – DISCOURSE_SMTP_PASSWORD: xxxxxxx设置的就是邮箱密码; |
DISCOURSE_SMTP_USER_NAME: 这里的设置最最重要的,这个邮箱又叫notification email 被用于发送所有重要系统邮件的邮箱地址。指定的域名必须正确设置 SPF、DKIM 和反向 PTR 记录以发送邮件。一般和域名绑定在一起,比如info@weifuwu.com 或者 admin@weifuwu.com 都行,这样收到邮件的发帖人或回复人感觉比较正式,使用这个邮箱也是最频繁的。关于SPF、DKIM设置有篇文章可参考1
如果您使用的阿里云的企业邮箱,域名解析后可以不用设置 SPF、DKIM 了已经设置好了,注意阿里云这里设置DISCOURSE_SMTP_ADDRESS:smtp.mxhichina.com
使用代理
因为国内网络环境的问题,./launcher rebuild app
操作经常卡壳,这时就需要配置个代理:discourse服务器上使用代理
编辑app.yml
在env:下添加代理地址:
1 | HTTP_PROXY: http://example.org:12345 |
加入国内镜像
1 | echo "DOCKER_OPTS=\"\$DOCKER_OPTS –registry-mirror=https://docker.mirrors.ustc.edu.cn\"" | sudo tee -a /etc/default/docker |
初始化discourse
1 | ./launcher bootstrap app |
手动创建管理员账户
1 | ./launcher enter app |
访问网站地址,成功打开就完成了
扩展安装
用 Let’s Encrypt 添加 https 证书
添加模板
添加 web.ssl.template.yml
和 web.letsencrypt.ssl.template.yml
模板
注意:如果你正在使用
web.socketed.template.yml
,不用继续看这篇了。
你应该在主机上设置 Let’s Encrypt 的客户端。客户端无法在 unix socket 上进行验证。
在app.yml文件中添加
1 | templates: |
暴露 443 端口
1 | expose: |
给 Let’s Encrypt 添加个注册用邮箱账号
1 | env: |
运行rebuild命令
1 | ./launcher rebuild app |
修改文章的永久链接
Replace all instances of the old name with the new name in posts
All the existing posts will still refer to the old domain. Let’s fix that:
1 | ./launcher enter app |
This remaps text in posts from the old URL to the new URL, then regenerates all posts just in case.
我的app.yml配置
1 | ## this is the all-in-one, standalone Discourse Docker container template |
论坛域名配置 使用Nginx
域名 bbs.lanthy.com 的配置文件
1 | lanthy@ubuntu:/var/discourse$ cat /usr/local/nginx/conf/vhost/bbs.lanthy.com.conf |