如何在Ubuntu 14.04安装Discourse

来自第Discourse

介绍

Discourse是互联网的下一个十年建立了一个开放源码的讨论平台。我们将介绍在DigitalOcean Droplet上运行Discourse所需的所有步骤。

先决条件

在开始之前,我们首先需要设置一些内容:
  • Ubuntu 14.04 Droplet(64位),至少有2 GB RAM。如果您需要这部分帮助, 本教程将让你开始。 Discourse推荐为小型社区提供1 GB的RAM,为更大的社区提供2 GB的RAM。如果您使用1 GB的RAM,它还需要一个交换文件。尽管交换通常被推荐用于使用传统旋转硬盘驱动器的系统,但是使用SSD交换可能导致硬件随时间的退化问题。由于这一考虑,我们不建议在DigitalOcean或任何其他使用SSD存储的提供商上启用交换。这样做会影响您和您的邻居的底层硬件的可靠性。因此,我们建议至少使用2 GB的RAM在DigitalOcean Droplet上运行Discourse。请参阅如何在Ubuntu 14.04添加交换有关使用掉的细节。 如果您需要提高服务器的性能,我们建议您升级您的Droplet。这将导致一般更好的结果,并将降低可能影响您的服务的硬件问题的可能性。
  • 您可以使用IP地址作为域名进行测试,但对于一个生产服务器,你应该有一个解析到你的Droplet的域。 本教程可以帮助。
  • 使用sudo特权的非root用户( 与Ubuntu 14.04初始服务器设置介绍了如何设置起来。)
  • 在免费帐户山魈获得SMTP凭据 。预先测试这些凭证的有效性不会受到伤害,虽然你可以第一次使用Discourse。
本教程中的所有命令都应以非root用户身份运行。 如果需要该命令的root访问权限,它会在前面加 sudo与Ubuntu 14.04初始服务器设置介绍了如何添加用户,并给他们sudo访问。

第1步 - 安装Git

在本节中,我们将安装 的Git下载Discourse源文件。 Git是一个开源的分布式版本控制和源代码管理系统。 在开始之前,强烈建议您确保系统是最新的。 SSH作为root用户加入您的Droplet:
ssh sammy@your-server-ip
在Droplet上执行以下命令以更新系统:
sudo apt-get update
sudo apt-get upgrade
一旦完成,通过运行以下命令安装Git:
sudo apt-get install git

第2步 - 安装Docker

在本节中,我们将安装 多克 ,这样的Discourse将在其中运行的隔离环境。 Docker是一个开源项目,可以在轻量级容器中打包,运送和运行任何应用程序。 有关Docker更详细介绍,请参见 本教程 。 Docker提供了一个公共脚本来获得Docker的安装:
wget -qO- https://get.docker.io/ | sh
您需要将非root用户添加到 docker组能够运行一个Docker容器作为该用户:
sudo usermod -aG docker sammy
您还必须注销并以该用户身份重新登录以启用更改:
exit
su - sammy

第3步 - 下载Discourse

在本节中,我们将下载Discourse。 创建 在/ var /Discourse文件夹,所有的Discourse,相关文件将驻留:
sudo mkdir /var/discourse
克隆的 DiscourseDocker官方图片进入这个 在/ var /Discourse文件夹:
sudo git clone https://github.com/discourse/discourse_docker.git /var/discourse

第4步 - 配置Discourse

在本节中,我们将配置您的初始Discourse设置。 切换到在 / var /Discourse目录:
cd /var/discourse
样品/ standalone.yml文件复制到 containers文件夹 app.yml
sudo cp samples/standalone.yml containers/app.yml
编辑在Discourse配置 app.yml文件:
sudo nano containers/app.yml
该配置文件将在打开 的纳米文本编辑器 。 找到 ENV部分,并与您的自定义电子邮件域和SMTP服务器信息更新,如下图所示。在示例块之后解释各行:
app.yml
...
env:
  LANG: en_US.UTF-8
  ## TODO: How many concurrent web requests are supported?
  ## With 2GB we recommend 3-4 workers, with 1GB only 2
  #UNICORN_WORKERS: 3
  ##
  ## TODO: List of comma delimited emails that will be made admin and developer
  ## on initial signup example 'user1@example.com,user2@example.com'
  DISCOURSE_DEVELOPER_EMAILS: 'me@example.com'
  ##
  ## TODO: The domain name this Discourse instance will respond to
  DISCOURSE_HOSTNAME: 'discourse.example.com'
  ##
  ## TODO: The mailserver this Discourse instance will use
  DISCOURSE_SMTP_ADDRESS: smtp.mandrillapp.com         # (mandatory)
  DISCOURSE_SMTP_PORT: 587                        # (optional)
  DISCOURSE_SMTP_USER_NAME: login@example.com      # (optional)
  DISCOURSE_SMTP_PASSWORD: 9gM5oAw5pBB50KvjcwAmpQ               # (optional)
  ##
  ## The CDN address for this Discourse instance (configured to pull)
  #DISCOURSE_CDN_URL: //discourse-cdn.example.com
  ...

以下是需要更改的各行: 1) 设置管理员的电子邮件 选择您要用于Discourse管理帐户的电子邮件地址。它可以完全与您的Discourse域无关,可以是任何您觉得方便的电子邮件地址。坐落在 DISCOURSE_DEVELOPER_EMAILS行此电子邮件地址。一旦用户注册该电子邮件,此电子邮件地址将默认为Discourse管理员。稍后当您从其Web控制面板设置Discourse时,您需要此电子邮件地址。
DISCOURSE_DEVELOPER_EMAILS: 'me@example.com'
替换 me@example.com与您的电子邮件。 创建和激活初始管理员帐户需要开发者电子邮件设置。 2) 设置域 设置 DISCOURSE_HOSTNAMEdiscourse.example.com。 这意味着你希望你的Discourse论坛,可于 http://discourse.example.com/ 。如果您还没有域指向您的服务器,您可以在这里使用IP地址。此处仅列出一个域(或IP)。
DISCOURSE_HOSTNAME: 'discourse.example.com'
与您的域名替换 discourse.example.com。需要主机名才能从Web访问您的Discourse实例。 3) 设置邮件证书 我们建议山魈为您的SMTP邮件服务器。 获得来自山魈您的SMTP凭据 。 在 DISCOURSE_SMTP_ADDRESS,DISCOURSE_SMTP_PORT,DISCOURSE_SMTP_USER_NAMEDISCOURSE_SMTP_PASSWORD线路输入SMTP凭据。 (请确保您从这些线路中必要的开头删除注释 字符)。
DISCOURSE_SMTP_ADDRESS: smtp.mandrillapp.com         # (mandatory)
DISCOURSE_SMTP_PORT: 587                        # (optional)
DISCOURSE_SMTP_USER_NAME: login@example.com      # (optional)
DISCOURSE_SMTP_PASSWORD: 9gM5oAw5pBB50KvjcwAmpQ               # (optional)
从您的Discourse实例发送邮件需要SMTP设置;例如,发送注册电子邮件,密码重置电子邮件,回复通知等。 无法设置邮件凭据?见Discourse 电子邮件故障排除指南 。 需要设置邮件凭据,否则您将无法引导您的Discourse实例。凭证必须正确,否则您将无法注册论坛的用户(包括管理员用户)。 4) 可选:调整内存设置(首选1 GBDroplet) 另外在配置文件中的 ENV部分,设置 db_shared_buffers128MB,UNICORN_WORKERS 2让你有更多的内存空间。
db_shared_buffers: "128MB"
UNICORN_WORKERS: 2
调整这些内存设置将优化1 GB Droplet上的Discourse性能。 注:上述变化是强制性的,不应该被忽略,否则你将有一个破碎的Discourse论坛。 保存 app.yml文件,并退出文本编辑器。

第5步 - 引导Discourse

在本节中,我们将引导Discourse。 首先,我们需要确保Docker可以访问所需的所有外部资源。打开Docker设置文件 /etc/default/docker
sudo nano /etc/default/docker
取消对 DOCKER_OPTS线使Docker使用谷歌的DNS:
/ etc / default / docker
...

# Use DOCKER_OPTS to modify the daemon startup options.
DOCKER_OPTS="--dns 8.8.8.8 --dns 8.8.4.4"

...
重新启动Docker以应用新设置:
sudo service docker restart
注意:如果你不运行引导命令之前更改Docker的DNS设置,你可能会得到一个错误,如“致命的:无法访问” https://github.com/SamSaffron/pups.git/“:无法解析主机:github.com“。 现在使用引导进程来构建Discourse并使用您在上一节中配置的所有设置初始化它。这也启动了Docker容器。你必须在 / var /Discourse目录:
cd /var/discourse
引言Discourse:
sudo ./launcher bootstrap app
此命令将在配置您的Discourse环境时运行大约8分钟。 (早在这个过程中,你会被要求生成一个SSH密钥;按 Y键接受。) 引导过程完成后,启动Discourse:
sudo ./launcher start app   
恭喜!你现在有你自己的Discourse实例!

第6步 - 访问Discourse

访问您的Web浏览器中的域或IP地址(您之前为Discourse主机名设置)以查看默认的Discourse网页。 Discourse 如果您收到502错误网关错误,请尝试等待一两分钟,然后刷新,以便Discourse可以完成开始。

第7步 - 注册并创建管理员帐户

使用 注册按钮在页面的右上角注册一个新的Discourse帐户。 您应该使用您在 DISCOURSE_DEVELOPER_EMAILS预先设定提供的电子邮件地址。确认您的帐户后,该帐户将自动获得管理员权限。 注册 一旦你注册并登录,您应该看到员工议题和 管理快速入门指南 。它包含进一步配置和自定义您的Discourse安装的后续步骤。 您可以通过访问 /管理员访问管理控制台。 短跑 如果你 没有得到签约任何电子邮件,并且无法注册一个新的管理员帐户,请参阅Discourse 电子邮件故障排除清单 。 如果仍无法注册通过电子邮件新的管理员帐户,请 从控制台创建管理员帐户演练,但请注意, 你将有一个破碎的网站 ,直到你得到正常的SMTP电子邮件的工作。 而已!您现在可以让用户注册并开始管理您的Discourse论坛。

安装后升级

升级Discourse到最新版本 ,请访问 /admin/upgrade ,并按照指示。 升级
赞(52) 打赏
未经允许不得转载:优客志 » 系统运维
分享到:

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

支付宝扫一扫打赏

微信扫一扫打赏