立即注册  找回密码
 立即注册
CeraNetworksBGVM服务器主机交流会员请立即修改密码Sharktech防护
查看: 30|回复: 2

【教程】如何搭建一个真正可用的discourse论坛

[复制链接]

【教程】如何搭建一个真正可用的discourse论坛

[复制链接]

23

主题

36

回帖

175

积分

注册会员

积分
175
3077

23

主题

36

回帖

175

积分

注册会员

积分
175
2024-10-29 10:34:12 | 显示全部楼层 |阅读模式
转:https://clochat.com/t/topic/21

discourse论坛的搭建教程很多,但真正优化到稳定好用的,照顾到细节的并不多
在这篇文章里记录下这个网站的搭建过程,以及如何做基础的安全防护
前面是基础安装,后面是防护和优化,防护和优化比较重要

先安装docker
安装docker,采用一键安装

curl -L get.docker.com | bash
拉取git项目
apt install git
git clone https://github.com/discourse/discourse_docker.git /var/discourse
cd /var/discourse
chmod 700 containers
配置discourse
./discourse-setup
回答下面的问题,主要是把smtp给配置对了

Hostname for your Discourse? [discourse.example.com]:
Email address for admin account(s)? [me@example.com,you@example.com]:
SMTP server address? [smtp.example.com]:
SMTP port? [587]:
SMTP user name? [user@example.com]:
SMTP password? [pa$$word]:
Let's Encrypt account email? (ENTER to skip) [me@example.com]:
Optional Maxmind License key () [xxxxxxxxxxxxxxxx]:
discourse-setup这个命令是用于生成配置文件的,配置文件位于 /var/discourse/containers/app.yml
后面你可以再次运行./discourse-setup重新生成,也可以直接编辑配置文件,每次编辑配置文件后要重新运行 ./launcher rebuild app编译docker镜像
编译docker镜像要花费10-20分钟,这是discourse最烦的地方之一,每次编辑个配置都要重新编译镜像

机器配置要求
官方说1C1G就可以安装,但实际上至少至少2C2G,稳定运行建议2C4G以上

防护和优化
本地速率限制
discourse很笨重,你搭建的网站可能被别人攻击一下就掉线了,所以防护很重要
防护分CDN和本地防护,本地这里discourse已经帮你配置了nginx防护规则,所以如果你是小白,可以直接用docker暴露出的nginx端口,一般情况下就够用了
如果你使用了CDN,比如cloudflare,那么下面这条配置非常非常关键

templates:
  - "templates/cloudflare.template.yml"
  - "templates/web.ratelimited.template.yml" #这条默认开启
一定要在templates里面加一条cloudflare.template.yml,这条规则会重新编译nginx,增加realip模块,不然别人cc你网站的时候,discourse会把cloudflare的ip拉黑,非常坑。

是否在docker外另开一个nginx
discourse每次修改配置,都要重新编译镜像,这个很让我不爽
而且修改discourse镜像里面nginx的配置,要手写templates,然后编译进去
所以我在docker外用nginx代理内部的端口,让docker监听本地端口
为了防止realip不认识我的本地ip,需要把docker的内网ip加到realip的信任ip上

防止扫描
禁止了除cloudflare外的ip访问443端口

防止discourse摘要爬虫露ip
discourse有爬取网站摘要的功能,会暴露ip,为了防止此类问题直接让出战流量走warp
CDN端的防护也有些讲究,大家感兴趣的话,有时间我再写一篇关于CDN的防护配置。
回复

使用道具 举报

159

主题

734

回帖

3156

积分

论坛元老

积分
3156
总有刁民想害朕

159

主题

734

回帖

3156

积分

论坛元老

积分
3156
2024-10-29 10:36:11 | 显示全部楼层
装个JB论坛也要docker
回复

使用道具 举报

23

主题

36

回帖

175

积分

注册会员

积分
175
3077 楼主

23

主题

36

回帖

175

积分

注册会员

积分
175
2024-10-29 10:37:46 | 显示全部楼层

总有刁民想害朕 发表于 2024-10-29 10:36

装个JB论坛也要docker


discourse是这样的,官方推荐用docker,能够和上游保持同步更新

反正都用笨重的discourse了,也不在乎这点消耗
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|小黑屋|HS2V主机综合交流论坛

GMT+8, 2024-11-26 09:40 , Processed in 0.019027 second(s), 2 queries , Gzip On, Redis On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表