如何在Ubuntu上安装Discourse?


8

我有一台备用的Ubuntu计算机,我想在其上安装Discourse

我该怎么做呢?我正在运行Ubuntu 13.04。


1
这些说明假定您需要安装Ubuntu的游民,并且显然适合主要使用Windows或Mac的用户,他们将受益于单独的VM进行安装和使用。如果Seth已经安装了13.04的“ ubuntu机器”,他可以克隆git repo并在本地进行设置。
roadmr

另外,直接在此站点上获得有关Ubuntu的说明对我们很有用。希望由这样做的人给。
塞斯(Seth)2013年

在此处记录了本地和手动设置的内容:github.com/discourse/discourse/blob/master/docs/…。但是看起来确实有些复杂,流浪者VM已经预先配置了所有必需的服务(pgsql,redis),因此可能更容易上手。
roadmr

@chaskes并非严格要求,如我的第二条评论所述,您可以手动安装和配置所需的服务。看起来使用Vagrant似乎更容易。
roadmr

Answers:


7

这些说明假定您需要安装Ubuntu的游民,并且显然适合主要使用Windows或Mac的用户,他们将受益于单独的VM进行安装和使用。如果Seth已经安装了13.04的“ Ubuntu机器在附近”,他可以克隆git repo并在本地进行设置。

在GitHub上记录了本地和手动设置的事情。但是看起来确实有些复杂,流浪者VM已经预先配置了所有必需的服务(pgsql,redis),因此可能更容易上手。

就是说,如果您觉得自己很勇敢,可以按照以下步骤在本地Ubuntu计算机上进行安装和配置。

免责声明,这一个涉及许多活动部件的复杂过程,我在新安装的13.04系统上测试了此过程,但是如果出现问题,则应该准备解密错误消息并修复问题。您应该对以下内容感到满意:

  • Ubuntu软件包安装。
  • 文本文件编辑。
  • 了解Postgres命令行用法。
  • 至少对Ruby,Rails和rubygems熟悉。
  • 某些git并没有什么坏处,但仅用于初始克隆阶段

好啦来啦

安装所需的软件包:

sudo apt-get install git ruby ruby-bundler build-essential libxml2-dev libxslt1-dev redis-server postgresql libpq-dev postgresql-contrib-9.1

创建一个postgresql数据库,并将权限授予要运行话语的用户(我假设它的名称为“ john”,它可以/应该是您的用户名):

sudo -u postgres createdb discourse_development
sudo -u postgres psql -c "create user john with password 'whatever' "
sudo -u postgres psql -c "grant all privileges on database discourse_development to john"
#This is a bit of postgresql magic to add the required hstore and pg_trgm extensions
sudo -u postgres psql discourse_development -c "create extension hstore; create extension pg_trgm"

克隆存储库:

git clone https://github.com/discourse/discourse
cd discourse

使用Bundler安装ruby gem和依赖项,包括rails:

bundle install

您可能会在这里遇到依赖性问题,因为可能需要其他软件包来构建本机扩展。如果在此步骤中看到带有错误的黄色文本,请查看错误消息以找出要安装的软件包(使用apt-get)。

配置数据库数据(postgres和redis):

cp config/redis.yml.sample config/redis.yml
cp config/database.yml.sample config/database.yml
# Now edit config/database.yml and in the discourse_development section add
# username: john
# password: whatever
# Follow the format for the other entries (adapter:, database:)

运行迁移以初始化数据库,然后为其播种:

bundle exec rake db:migrate
bundle exec rake db:seed_fu
sudo -u postgres psql discourse_development < pg_dumps/production-image.sql

然后启动开发Web服务器:

bundle exec rails s

最后,打开浏览器并连接到本地开发服务器

http://localhost:3000

不幸的是,这对我没有用。我所有的bundle命令都出错。自您发布指示以来,它们似乎是由“话语”的更改引起的。我可能会再试一次,但我可能不会。.我会让您知道会发生什么。
赛斯

嗯,我清洗了一次又一次,在这里遵循类似的指令:2buntu.com/1332/installing-discourse-on-ubuntu我真的不知道为什么那些工作..
赛斯

推荐使用Vagrant映像进行开发,因为它可以使您以最少的努力启动并运行测试。
MikeyB

6

云部署(使用Juju)

如果您有云提供商,并且想跳过很多手动操作,则可以使用Juju charm

你之后成功的自举的环境中,运行以下命令:

juju deploy cs:~marcoceppi/discourse
juju deploy postgresql

然后建立关系

juju add-relation discourse postgresql:db-admin

话语需要db-admin级别访问权限才能启用hstore插件。最后,揭露话语:

juju expose discourse

Charm的README中可以找到配置和其他注意事项。这些选项包括配置管理员,在何处获取Discourse源代码,版本固定以及其他调整选项。

免责声明,我是这种魅力的作者。


1
我实际上比我更喜欢这个答案:)(Juju FTW)。我唯一要担心的是,您说的是“如果您有云提供商”,但是OP显然提到他只是有一台备用Ubuntu计算机。您能否提供或指向有关如何将这台单机设置为juju提供程序的说明?(也许将其设置为本地提供者,但我在此方面取得了不同程度的成功)。然后,这似乎是部署话语的最简单方法。
roadmr




0

您可以使用Cloud 66 EasyDeploy

云66 EasyDeploy

这意味着您只需单击几下,便可以在AWS,DigitalOcean,Rackspace,Linode或Joyent上部署Discourse(并获得很多类似数据库备份,扩展和监视的功能!)

免责声明:我为Cloud 66工作。


1
您能否在回答中提供一些说明呢?
赛斯

这项服务免费吗?
jokerdino

部署带有Cloud 66的Discourse所需要做的就是在cloud66.com上注册一个帐户,并使用Gi​​t URL构建新的堆栈。整个过程都是向导,因此应该非常简单,您可以在help.cloud66.com/getting-started/your-first-stack.html
Khash

您可以在www.cloud66.com上找到有关功能和价格的信息
Khash
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.