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/
要求:
- 一个具有注册域名的专用VPS
- 最小安装的CentOS 7服务器
- 最小安装的Ubuntu 16.04服务器或Ubuntu 18.04服务器
Discourse是一个开源项目,可以部署在您选择的VPS服务器上。
在本文中,我们将解释如何通过官方支持的方法来安装和配置Discourse Forum ,即在CentOS 7 VPS或Ubuntu VPS服务器上使用Docker镜像。
第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 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天免费支持。 请求立即安装 。