想要成功安装discourse,你还需要看下面几篇文章。
有客用阿里云搭建discourse成功。
都是有客用 ubuntu搭建discourse过程中的记录,希望能够帮助到你们!
discourse论坛,第一节:安装discourse需升级docker到最新版
discourse论坛,安装方法,第二节:discourse内存设置
discourse论坛,安装方法,第三节:discourse详细安装方法
通过 SSH 连接至您的linux(乌班图)
设置 Swap(如果需要)
- 如果您在使用最小的 1GB 内存安装,您必须设置 swap 文件53。
- 如果您的服务器有 2GB+ 的内存,您可能不需要设置 swap 文件。
更新为淘宝源
使用apt-get安装
可以直接使用两个命令完成Ruby的安装。
sudo apt-get update
sudo apt-get install ruby
或者
sudo apt-get install ruby2.0
gem sources -r http://rubygems.org/ 删除
gem sources -a https://ruby.taobao.org/ 添加
gem sources -l 查看
更新源的缓存
◆输入:gem sources -u
安装 Docker / Git
wget -qO- https://get.docker.io/ | sh
安装 Discourse
创建 /var/discourse
文件夹,克隆官方 Discourse Docker 镜像37至其中,然后在拷贝一个配置文件,并命名为 app.yml
:
mkdir /var/discourse git clone https://github.com/discourse/discourse_docker.git /var/discourse cd /var/discourse cp samples/standalone.yml containers/app.yml
编辑 Discourse 配置文件
配置文件是 YAML 格式,请不要删除配置项“:”前的内容。
在 app.yml
中编辑 Discourse 配置:
nano containers/app.yml
我们建议使用 Nano 是因为它是一个经典的图形文本编辑器,只使用了方向键。
1. 将 params
中的 version
前的注释符号 #
去掉,然后设置其为最稳定的 stable
。
2. 在 env
中增加 DISCOURSE_DEFAULT_LOCALE
,并设为您想用的语言,比如简体中文 zh_CN
。Discourse 初始化时会自动创建一些分类和主题,这样可以初始化成简体中文。如果在此设置了语言,在站点设置中将无法修改站点语言,但是你总是可以在配置文件中更改语言并重建容器。
3. 如果是在墙内部署,添加 web.china.template.yml
模板
增加模板
打开配置文件,例如 app.yml
。
添加语句包含 web.china.template.yml
(在新版的底部添加即可)模板:
templates: - "templates/postgres.template.yml" - "templates/redis.template.yml" - "templates/sshd.template.yml" - "templates/web.template.yml" - "templates/web.china.template.yml"
4. 将 DISCOURSE_DEVELOPER_EMAILS
改为您的邮件地址。
5. 将 DISCOURSE_HOSTNAME
设置为 discourse.example.com
,
意思是您想要您的 Discourse 可以通过http://discourse.example.com/
访问。(你解析到这台服务器IP的域名)
6. 将您邮件发送的验证信息填在DISCOURSE_SMTP_ADDRESS
、DISCOURSE_SMTP_PORT
、DISCOURSE_SMTP_USER_NAME
和DISCOURSE_SMTP_PASSWORD
。
如果需要的话请确定删掉了这几行前面的多余空格和#
字符。
在下面添加
DISCOURSE_SMTP_AUTHENTICATION: login DISCOURSE_SMTP_OPENSSL_VERIFY_MODE: none DISCOURSE_SMTP_ENABLE_START_TLS: true
国外的邮件平台到达 QQ 邮箱可能会有问题。但是如果没有问题,将是最好选择。企业邮箱有发送阈值,切记自行查看.
完成这些编辑后,按下Ctrl+O之后再按Enter保存,再按Ctrl+X退出。
初始化 Discourse
保存好 app.yml
文件,然后开始初始化 Discourse:
cd /var/discourse
./launcher bootstrap app
运行这个命令大致要 8 分钟。它自动配置好您的 Discourse 环境。
需要在 bootstrap 后用 ./launcher enter app
进入容器内执行:
rails console SiteSetting.notification_email = '你的发件邮箱地址' (这里填写和上面SMTP同样的邮件地址)
命令行创建admin
./launcher enter app 或者 ./launcher ssh app (会需要容器密码)
sudo apt-get install rake
rake admin:create 角色管理:创建
exit
运行完成后,启动 Discourse:
./launcher start app
恭喜!您的 Discourse 可以使用了!
假设您配置好了 DNS 记录且也已生效,您就可以通过您前面输入的域名 discourse.example.com
访问了。如果不行,您可以直接通过服务器 IP 访问,例如 http://192.168.1.1
。
因为上面我们创建过管理帐号,所以我们可以直接用上面创建的帐号登录,进入后台管理.
安装后维护
我们强烈建议您打开 Ubuntu 的自动安全更新功能:
dpkg-reconfigure -plow unattended-upgrades
要 升级 Discourse 至最新版,访问 /admin/upgrade
并按照指示操作。
在 /var/discourse
下的 launcher
命令可以完成几种维护操作:
Usage: launcher COMMAND CONFIG [--skip-prereqs] Commands: start: 启动/初始化容器 stop: 关闭运行中的容器 restart: 重启容器 destroy: 关闭并删除容器 enter: 使用 nsenter 进入容器 ssh: 在运行中的容器中启动 bash shell logs: 容器的 Docker 日志 mailtest: 测试容器中的邮件配置 bootstrap: 基于配置文件预设模板初始化容器 rebuild: 重建一个容器(删除老容器,初始化,启动新容器)