网站搜索

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/

要求:

  1. 具有注册域名的专用 VPS
  2. 最小化安装的 CentOS 7 服务器
  3. 具有最小安装的 Ubuntu 16.04 服务器或 Ubuntu 18.04 服务器

Discourse 是一个开源项目,可以部署在您选择的 VPS 服务器上。

在本文中,我们将解释如何通过官方支持的方法安装和配置 Discourse Forum,即在 CentOS 7 VPS 上使用 Docker 映像或 < Ubuntu VPS 服务器。

第 1 步:安装最新版本的 Git 和 Docker

1.有一个脚本准备在您的服务器上安装最新版本的DockerGit,下载并运行它,如图所示。

wget -qO- https://get.docker.com/ | sh

如果脚本由于某种原因在您的系统上失败,请运行以下命令来安装最新版本的 GitDocker(来自官方存储库):

在 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 天免费支持。立即请求安装。