Discourse - 社区讨论的现代论坛
Discourse是一款免费、开源、现代、功能丰富且卓越的面向社区的论坛软件。它是一个强大、可靠且灵活的平台,配备了各种用于社区讨论的工具。
它旨在为您的团队、客户、粉丝、赞助人、观众、用户、倡导者、支持者或朋友构建社区讨论平台、邮件列表或聊天室,最重要的是,它与您建立的其他在线平台无缝集成。
话语特点:
- 它易于使用、简单且扁平。
- 它带有内置的移动布局;有适用于 Android 和 iOS 的应用程序。
- 它配备了所有现代论坛工具,并且可以通过插件进行高度扩展。
- 支持私人广告公共对话。
- 支持可搜索的讨论。
- 使用 HTML 和 CSS 主题自定义其外观。
- 支持电子邮件通知和电子邮件回复。
- 支持各种身份验证方法,例如社交网络、单点登录或 oAuth 2.0。
- 支持表情符号和徽章。
- 它可以与 WordPress、Google Analytics、Zendesk、Patreon、Slack、Matomo 等集成。
- 提供 webhooks 和简单的基于 JSON 的综合 API,以进行进一步集成。
- 允许用户将解决方案标记为官方答案。
- 允许用户投票选出最喜欢的想法。
- 还允许用户协作编辑完整的修订历史记录。
- 支持为自己或他人分配主题。
- 支持单击升级,并具有快速准确的支持等众多功能。
我们从近两年开始使用 Discourse 来支持我们的 Linux 读者,在将其安装到 Linux 系统上之前,您可以通过以下 URL 查看 Live Demo。
Live Demo URL: http://linuxsay.com/
要求:
- 具有注册域名的专用 VPS
- 最小化安装的 CentOS 7 服务器
- 具有最小安装的 Ubuntu 16.04 服务器或 Ubuntu 18.04 服务器
Discourse 是一个开源项目,可以部署在您选择的 VPS 服务器上。
在本文中,我们将解释如何通过官方支持的方法安装和配置 Discourse Forum,即在 CentOS 7 VPS 上使用 Docker 映像或 < Ubuntu VPS 服务器。
第 1 步:安装最新版本的 Git 和 Docker
1.有一个脚本准备在您的服务器上安装最新版本的Docker和Git,下载并运行它,如图所示。
wget -qO- https://get.docker.com/ | sh
如果脚本由于某种原因在您的系统上失败,请运行以下命令来安装最新版本的 Git 和 Docker(来自官方存储库):
在 Debian/Ubuntu 上安装 Docker 和 Git
sudo apt install git apt-transport-https ca-certificates curl software-properties-common
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu xenial stable"
sudo apt update
sudo apt install docker-ce
在 CentOS/RHEL 上安装 Docker 和 Git
yum install -y git yum-utils device-mapper-persistent-data lvm2
yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
yum install docker-ce
2.一旦安装了docker,在Ubuntu/Debian上,它会在Systemd下触发自动启动,您可以使用以下命令检查其服务状态。
sudo systemctl status docker
在 CentOS/RHEL 上,启动并启用 Docker 并查看其状态。
systemctl start docker
systemctl enable docker
systemctl status docker
第2步:在Linux服务器上安装Discourse
3. 接下来创建一个目录 /var/discourse
并使用以下命令将官方 Discourse Docker 镜像克隆到其中。
----------- On Debian/Ubuntu -----------
sudo mkdir /var/discourse
sudo git clone https://github.com/discourse/discourse_docker.git /var/discourse
cd /var/discourse
----------- On CentOS/RHEL -----------
mkdir /var/discourse
git clone https://github.com/discourse/discourse_docker.git /var/discourse
cd /var/discourse
4. 现在使用以下命令运行 Discourse 设置脚本。
sudo ./discourse-setup
OR
./discourse-setup
运行上述命令后,脚本将尝试验证您的系统是否满足要求。然后,您将被要求回答以下问题,提供正确的值并在稍后确认它们以自动生成 app.yml
配置文件。
Hostname for your Discourse? [discourse.example.com]: forum.tecmint.lan
Email address for admin account(s)? [[email ]: admin.tecmint.lan
SMTP server address? [smtp.example.com]: smtp.tecmint.lan
SMTP port? [587]: 587
SMTP user name? [[email ]: [email
SMTP password? []: password-here
Let's Encrypt account email? (ENTER to skip) [[email ]:
配置文件更新后,它将开始下载 Discourse 基础镜像。整个设置可能需要10分钟到半小时,具体取决于您的互联网连接速度;只需坐下来等待它完成即可。
5. 设置完成后,Discourse 容器应该已启动并运行。要验证它,请使用以下命令检查所有正在运行的 docker 容器。
sudo docker container ls -a
OR
docker container ls -a
步骤 3:为 Discourse 容器配置 Nginx
6. 在此步骤中,您现在可以配置 Nginx Web 服务器和反向代理(请注意,这是容器外部的 Web 服务器)以在您的 >话语容器。这允许您在同一服务器上与 Discourse 容器一起运行其他网站或应用程序。
首先使用以下命令停止正在运行的对话容器。
sudo ./launcher stop app
OR
./launcher stop app
7. 接下来,修改你的 discourse 容器配置文件 /var/discourse/containers/app.yml 将其设置为侦听除端口 之外的特殊文件80。
sudo vim containers/app.yml
OR
vim containers/app.yml
然后修改 template
部分,如下所示。
templates:
- "templates/cron.template.yml"
- "templates/postgres.template.yml"
- "templates/redis.template.yml"
- "templates/sshd.template.yml"
- "templates/web.template.yml"
- "templates/web.ratelimited.template.yml"
- "templates/web.socketed.template.yml"
并注释掉 expose
部分,如屏幕截图所示。
8. 接下来,您需要在 /etc/nginx/conf.d 中配置 Nginx 服务器块来代理 Discourse 的请求/discourse.conf 或 /etc/nginx/sites-enabled/discourse.conf 文件。
sudo vim /etc/nginx/conf.d/discourse.conf
OR
vim /etc/nginx/conf.d/discourse.conf
在其中添加这些设置(使用您自己的域名而不是 forum.howtoing.lan)。
server {
listen 80;
server_name forum.tecmint.lan;
location / {
proxy_pass http://unix:/var/discourse/shared/standalone/nginx.http.sock:;
proxy_set_header Host $http_host;
proxy_http_version 1.1;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
}
}
保存更改并退出文件。然后检查 Nginx Web 服务器配置是否有任何语法错误,如果一切正常,则启动 Web 服务器。
sudo nginx -t
sudo systemctl start nginx
OR
systemctl start nginx
9. 现在是时候重建 Discourse 容器以应用最近所做的更改(这将删除旧容器),并重新启动 Nginx 服务以检测上游服务器。
sudo ./launcher rebuild app
sudo systemctl restart nginx
OR
./launcher rebuild app
systemctl restart nginx
第 4 步:访问 Discourse Forum Web UI
10. 一切配置完成后,您可以通过上面设置的域名从网络浏览器访问Discourse(对于我们的例子,我们使用了一个名为 forum.howtoing.lan 的虚拟域)。
我们还使用 /etc/hosts 文件在测试系统上配置本地 DNS(其中 192.168.8.105 是本地网络上的服务器地址)。
输入以下 URL 访问 Discourse,然后单击注册 创建新的管理员帐户。
http://forum.tecmint.lan
11. 接下来,选择要使用的电子邮件地址(如果您在设置讨论时指定了多个电子邮件地址)、用户名和密码,然后单击注册以创建新管理员帐户。
12. 接下来,一封帐户确认电子邮件将发送到您在上一步中选择的电子邮件地址(如果您在设置讨论时提供了多个电子邮件地址)。如果您无法收到电子邮件,请确保您的电子邮件系统正常工作(安装 postfix 邮件服务器)或检查您的垃圾邮件文件夹。
单击确认链接即可进入“Discourse 欢迎”页面。然后激活您的帐户,设置 Discourse 默认选项(例如要使用的语言)、访问您的 Discourse 管理员帐户并管理您的讨论论坛。
您可以从 Discourse 网站找到更多信息:https://www.discourse.org/
目前为止就这样了! Discourse 是一款开放、现代且功能丰富的社区讨论软件,具有广泛的工具。使用下面的评论表来分享有关安装过程的任何疑问,或者向我们提供您对这个令人惊叹的论坛软件的想法。
如果您正在寻找安装 Discourse 社区论坛软件的人,请考虑我们,因为我们以合理的最低价格提供广泛的 Linux 服务,并通过电子邮件提供 14 天免费支持。立即请求安装。