在Docker上安装Discourse论坛系统

介绍

DiscourseStack Overflow的联合创始人 Jeff Atwood 推出的一个新的开源论坛项目,其目的是为了改变十年未变的论坛软件。它摒弃了传统论坛的话题讨论形式、拥有自学习系统、全Web应用同时适用于桌面和移动终端。 在本教程中,我们将使用Docker(一个容器化应用程序)在一个隔离的环境中安装Discourse。

准备

在我们开始之前,我们需要先设置一些东西:

  • 一个Ubuntu 16.04服务器,具有至少2GB的RAM,没有服务器的同学可以在这个页面购买。我建议您免费试用腾讯云开发者实验室体验腾讯云的CVM系统
  • 在您的服务器上安装Docker。可以体验开发者实验室的搭建 Docker 环境项目。
  • 解析为服务器的域名。没有域名的同学可以在这里注册。
  • SMTP邮件,你可以使用自己的邮箱进行设置。

第一步、下载Discourse

做好准备工作之后,您可以直接安装Discourse。

首先你需要成为root用户方便后续工作,因此首先切换到root shell。

sudo -s

接下来,创建/var/discourse目录,所有与Discourse相关的文件都在此目录下。

mkdir /var/discourse

最后,将官方Discourse Docker Image复制到/var/discourse

git clone https://github.com/discourse/discourse_docker.git /var/discourse

有了我们需要的文件,我们为其进行配置和引导。

第二步、配置和引导Discourse

切换到Discourse文件所在的/var/discourse目录。

cd /var/discourse

从这里,您可以启动安装脚本。

./discourse-setup

您将被问到以下问题:

Discourse的主机名?

输入您要用于Discourse的主机名,例如,discourse.example.com,其中example.com可以用您的域名替换。您需要使用一个域名,因为发送电子邮件时不能用IP地址。

管理员帐户的电子邮件地址?

选择要用于Discourse管理员帐户的电子邮件地址。这个电子邮件地址可以与您的Discourse域名完全无关,可以是您的电子邮件地址。

请注意,当第一个用户注册该电子邮件时,此电子邮件地址将默认成为Discourse管理员。稍后当您从其网络控制面板设置Discourse时,您还需要此电子邮件地址。

SMTP服务器地址?

SMTP用户名?

SMTP端口?

SMTP密码?

这里需要您填写您的邮箱相关信息,您可以参考您邮箱的相关设置。

最后,系统会要求您确认刚刚输入的所有设置。确认设置后,脚本将生成一个调用的配置文件app.yml,然后启动引导。

注意:如果您需要在引导后更改或修复这些设置,请编辑/containers/app.yml文件并运行./launcher rebuild app否则,您的更改将不会生效。

引导需要2-8分钟,之后将会运行。现在,让我们继续创建一个管理员帐户。

第三步 - 注册管理员帐户

在您的浏览器中访问您的Discourse域名,你将看到下面的页面。

如果您收到502 Bad Gateway错误,请等一两分钟然后刷新重试,Discourse可能尚未完成安装。

页面加载时,单击蓝色注册按钮。您将看到一个名为“注册管理员帐户”的页面,其中包含以下字段:

电子邮件:从下拉菜单中选择您之前提供的电子邮件地址。

用户名:选择用户名。

密码:设置一个强密码。

然后单击表单上的蓝色“注册”按钮提交。您将看到一个对话框,显示确认您的电子邮件。检查收件箱中的确认电子邮件。如果您没有收到,请尝试单击“重新发送激活电子邮件”按钮。

注册管理员帐户后,安装向导将启动并引导您完成Discourse的基本配置。您现在可以浏览它或单击“稍后”跳过。

完成或跳过设置向导后,您将看到一些主题和管理员快速入门指南(标记为READ MEFIRST),其中包含有关进一步自定义Discourse安装的提示。

现在我们已经设置好了!如果您将来需要升级Discourse,可以在命令行执行此操作,方法是从Gitrepo中提取最新版本的代码并重新应用该应用程序,如下所示:

cd /var/discourse
git pull
./launcher rebuild app

您也可以通过访问http://discourse.example.com/admin/upgrade,单击升级到最新版本并按照说明在浏览器中更新。

结论

您现在可以开始管理您的Discourse论坛,用户可在您的论坛上注册并畅所欲言!


参考文献:《How To Install Discourse on Ubuntu 16.04》

原创声明,本文系作者授权云+社区发表,未经许可,不得转载。

如有侵权,请联系 yunjia_community@tencent.com 删除。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏FreeBuf

一个人的武林:内网渗透测试思路(二)

写在前面 跟web渗透(上一篇)不同,内网渗透需要更多的随机性和突破口,情况较为复杂,遇到障碍,有时可以换种思路突破,很多时候则无奈的只能止步于此。下面分享一些...

42350
来自专栏Web 开发

离线安装PM2

蛋疼的公司网络,搞专网专用,开发环境没法联通外网,npm install直接就废掉了,只能离线安装。

24100
来自专栏Java学习网

Web应用程序遭黑客入侵的五大征兆

  大多数针对Web应用程序的攻击都非常隐蔽,不容易发现。从2015威瑞森数据泄漏调查报告来看,攻击者平均可以在网络上潜伏205天不被发现。许多组织都是从其他人...

34350
来自专栏未闻Code

MongoDB备份有密码的数据库

在MongoDB使用自带的mongodump备份数据的时候,如果数据库设置了密码,那么在指定mongodump的--password 密码参数的同时,还必须指定...

28430
来自专栏Youngxj

php在线PIng接口源码

41430
来自专栏FreeBuf

趋势科技(Trend Micro)加密邮件网关方案存在数个安全漏洞

Core Security安全研究员发现Trend Micro中存在数个邮件网关加密漏洞,其中包括风险级别为 critical 和 high的漏洞。这些漏洞到的...

33050
来自专栏大数据架构师专家

docker pull 下载加速-2018

使用docker pull,命令下载镜像太慢了,默认是从国外的,本文记录下如何配置国内阿里云竞相加速方式。文档力求简单.

38520
来自专栏FreeBuf

LaserCrack:一款可扩展的暴力破解框架

lasercrack是一款爆力破解工具,现如今市面上常见的暴力工具如hydra,medusa都有着不错的破解效率,不过我还没有找到ruby写的,一方面是想从原理...

15220
来自专栏农夫安全

Discuz!X ≤3.4 任意文件删除漏洞复现+GetWebshell

今天看到一位师傅发了一篇分析的文章: 【漏洞分析】Discuz!X ≤3.4 任意文件删除漏洞分析 复现的话需要源码在网上还是找到了 那我们根据文章所知的几个步...

87370
来自专栏北京马哥教育

11个国内外免费域名解析服务

 一般域名使用注册商提供的域名解析服务虽然方便,但功能大多有限,特别是目前国内还会针对某些DNS服务器进行屏蔽,造成网站无法解析的情况出现,因此,使用第三方域名...

3.4K140

扫码关注云+社区

领取腾讯云代金券