Discourse - 社区讨论的现代论坛

Discourse是一个免费的,开源的,现代化的,功能丰富和卓越的面向社区的论坛软件。 它是一个功能强大,可靠且灵活的平台,提供各种社区讨论工具。

它旨在为您的团队,客户,粉丝,赞助人,受众,用户,倡导者,支持者或朋友构建社区讨论平台,邮件列表或聊天室,最重要的是,它可以与其他已建立的在线平台无缝集成。

Discourse论坛预览

Discourse特征:

  • 它易于使用,简单而平坦。
  • 它配备了内置的移动布局; 有适用于Android和iOS的应用程序。
  • 它配备了所有现代化的论坛工具,并通过插件高度扩展。
  • 支持私人广告公开对话。
  • 支持可搜索的讨论。
  • 用HTML和CSS主题定制它的外观和感觉。
  • 支持电子邮件通知和电子邮件回复。
  • 支持各种身份验证方法,如社交网络,单点登录或oAuth 2.0。
  • 支持emojis和徽章。
  • 它可以与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服务器上。

您可以以10美元的价格Linode获得2GB RAM VPS,但它不受管理。 如果您想要一个托管VPS,那么使用我们的新BlueHost促销优惠 ,您可以在托管一个免费域名的情况下享受高达40%的折扣。 如果您获得托管VPS,他们可能会为您安装Discourse

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

第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 Image克隆到其中。

----------- 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.youcl.lan 
Email address for admin account(s)? [[email protected]]: admin.youcl.lan
SMTP server address? [smtp.example.com]: smtp.youcl.lan
SMTP port? [587]: 587
SMTP user name? [[email protected]]: [email protected]
SMTP password? []: password-here
Let's Encrypt account email? (ENTER to skip) [[email protected]]: 

运行Discourse安装脚本

一旦配置文件被更新,它将开始下载Discourse基础镜像。 整个设置可能需要10分钟到半小时,具体取决于您的互联网连接速度; 就坐下来等待它完成。

5.设置完成后, Discourse容器应该启动并运行。 要验证它,请使用以下命令检查所有正在运行的docker容器。

$ sudo docker container ls -a
OR
# docker container ls -a

列出所有正在运行的Docker容器

第3步:为Discourse Container配置Nginx

6.在这一步中,您现在可以配置Nginx Web服务器和反向代理(请注意,这是容器外部的Web服务器)在Discourse容器前运行。 这使您可以在同一台服务器上与Discourse容器一起运行其他网站或应用程序。

首先使用以下命令停止正在运行的语篇容器。

$ sudo ./launcher stop app
OR
# ./launcher stop app

停止Discourse容器

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"

并按照屏幕截图所示注释掉部分。

配置Discourse容器设置

8.接下来,您需要配置一个Nginx服务器块来代理/etc/nginx/conf.d/discourse.conf/etc/nginx/sites-enabled/discourse.conf文件中对Discourse的请求。

$ sudo vim /etc/nginx/conf.d/discourse.conf
OR
# vim /etc/nginx/conf.d/discourse.conf

添加这些设置,(使用您自己的域名,而不是forum.youcl.lan )。

server {
listen 80;
server_name  forum.youcl.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步:访问语篇论坛Web UI

10.一旦完成所有配置,您可以通过上面设置的域名 (在我们的案例中,我们使用了一个名为forum.youcl.lan的虚拟域名)从Web浏览器访问Discourse

我们还使用/ etc / hosts文件在测试系统上配置本地DNS(其中192.168.8.105是本地网络上的服务器地址)。

为Discourse设置本地DNS

输入以下URL访问Discourse ,然后点击注册以创建新的管理员帐户。

http://forum.youcl.lan

Discourse论坛

11.接下来,选择要使用的电子邮件(如果您在设置Discourse时指定了多个电子邮件),用户名和密码,然后单击注册以创建新的管理员帐户。

创建新的Discourse账户

12.接下来,一个帐户确认电子邮件将发送到您选择的电子邮件地址(如果您在上一步中设置Discourse时提供了多个电子邮件地址)。 如果您未收到电子邮件,请确保您的电子邮件系统正常工作( 安装postfix邮件服务器 )或检查垃圾邮件文件夹。

点击确认链接进入“ Discourse欢迎 ”页面。 然后激活您的帐户,设置语言默认选项(如要使用的语言),访问您的Discourse admin帐户并管理您的论坛。

你可以从Discourse网站上找到更多信息: https//www.discourse.org/

目前为止就这样了! Discourse是一个开放,现代和功能丰富的社区讨论软件,具有广泛的工具。 请使用下面的评论表单分享有关安装过程的任何疑问,或者向我们提供有关这款令人赞叹的论坛软件的想法。

如果您正在寻找某人安装Discourse社区论坛软件,请考虑我们,因为我们以公平的最低费率提供广泛的Linux服务,并通过电子邮件提供14天免费支持。 请求立即安装

赞(52) 打赏
未经允许不得转载:优客志 » 系统运维
分享到:

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏