搭建Discourse论坛社区,Discourse是一款开源的现代化论坛社区软件,在线社区配置安装Caddy反代更加安全

Discours 是一款开源的现代化论坛社区软件,专为在线社区设计,提供流畅的用户体验和强大的讨论功能。以下是关于 Discours 的搭建方法

第一步,准备好一台VPS,内存最好别低于 1G,如果没有VPS,可以点击前往创建

准备好一个域名,收费免费的都可以,

连接VPS,进入终端进行安装,安装命令如下:

更新系统并重新安装 netcat-openbsd 证书申请工具

sudo apt-get update
sudo apt-get install netcat-openbsd

系统上没有安装 curl 和 gpg 命令安装 

sudo apt-get update
sudo apt-get install curl

安装 sudo

apt update
apt install sudo -y

Discours 安装命令如下:

sudo apt install docker.io
sudo apt install git

安装 Discourse

sudo -s
git clone https://github.com/discourse/discourse_docker.git /var/discourse
cd /var/discourse
chmod 700 containers

执行安装:

./discourse-setup

安装过程中需要填写的信息,

Hostname for your Discourse? [discourse.example.com]: 
Email address for admin account(s)? [[email protected],[email protected]]: 
SMTP server address? [smtp.example.com]: 
SMTP port? [587]: 
SMTP user name? [[email protected]]: 
SMTP password? [pa$$word]: 
Let's Encrypt account email? (ENTER to skip) [[email protected]]: 
Optional Maxmind License key () [xxxxxxxxxxxxxxxx]:
装饰图片

如果需要修改配置:

只需进入并修改该文件: var/discourse/containers/app.yml即可可以安装插件

修改后进行重新构建容器

cd /var/discourse
./launcher rebuild app

后面每次修改var/discourse/containers/app.yml文件都需要重新构建容器

防护和优化本地速率限制

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

修改app.yml文件找到注释或者直接删除,因为不需要他提供ssl证书全部交给Caddy2

## 配置Caddy关闭下面ssl证书与 # https

#  - "templates/web.ssl.template.yml"
#  - "templates/web.letsencrypt.ssl.template.yml"

再修改端口映射

expose:
  - "127.0.0.1:8080:80"   # http
#  - "127.0.0.1:8443:443" # https

最后别忘记了重新构建容器

cd /var/discourse
./launcher rebuild app

重构完成开始安装Caddy2实现反代
安装必要的软件包

sudo apt install -y debian-keyring debian-archive-keyring apt-transport-https

获取Caddy的安全密钥

curl -1sLf 'https://dl.cloudsmith.io/public/caddy/stable/gpg.key' | sudo gpg --dearmor -o /usr/share/keyrings/caddy-stable-archive-keyring.gpg

从指定的 URL 下载 Caddy 的官方 GPG 密钥文件

curl -1sLf 'https://dl.cloudsmith.io/public/caddy/stable/debian.deb.txt' | sudo tee /etc/apt/sources.list.d/caddy-stable.list

更新软件包列表

sudo apt update

安装Caddy2

sudo apt install caddy

文件目录一般在/etc/caddy/Caddyfile修改配置
快速编辑

sudo nano /etc/caddy/Caddyfile

配置内容例如你的域名是123.com

修改你的域名.com {
        tls 你的邮箱
        reverse_proxy 127.0.0.1:8080 {
        header_up X-Real-IP {http.request.header.CF-Connecting-IP}
        header_up X-Forwarded-For {http.request.header.CF-Connecting-IP}
    }
}

您可以使用以下步骤来检查您的Caddy配置是否正确:

sudo caddy fmt --overwrite /etc/caddy/Caddyfile

验证配置语法:

sudo caddy validate --config /etc/caddy/Caddyfile

重新加载配置:

sudo caddy reload --config /etc/caddy/Caddyfile

启动Caddy服务器

caddy reload --config /etc/caddy/Caddyfile --adapter caddyfile

重新启动

systemctl restart caddy

discourse备份路径为

/var/discourse/shared/standalone/backups/default/

如果你的caddy没配置好网站打不开可以阅读查看安装