以新建的 VM 为例, 下面是安装直到运行 的一些必要步骤
1, 首先是系统必须的软件包, 这里我用nginx作为HTTP服务器, 其他的也可以的:
sudo apt-get install build-essential nginx imagemagick
2, Discourse 需要的数据库和缓存. Wheezy 缺省的 postgresql 是 9.1 的, 可以参考这个来装 9.3:
sudo apt-get install postgresql-9.3 postgresql-server-dev-9.3 postgresql-contrib-9.3
sudo apt-get install redis-server
3, 添加 discourse 系统/数据库用户, 建DB, Discourse 将以此用户的身份运行(git clone 部分就省略了).
sudo adduser discourse –home /var/www/discourse
sudo su – postgres -c “createuser -s discourse”
sudo su – discourse -c “createdb discourse”
4, 下面以 discourse 用户的身份执行, 安装RVM以及各种 gems
curl -sSL https://get.rvm.io | bash -s stable
rvm install ruby 2.0
5, 编辑 discourse/config/discourse_quickstart.conf, 主要是填写 developer_emails, 以及 SMTP 配置
6, 复制 discourse/config/nginx.sample.conf, 修改例如 server_name 等需要定制的参数, 并链接到 /etc/nginx/site-enabled
7, 初始化DB, 编译素材:
cd /var/www/discourse
RAILS_ENV=production bundle exec rake db:migrate
RAILS_ENV=production bundle exec rake assets:precompile
8, 用 bluepill 启动 discourse:
gem install bluepill
echo ‘alias bluepill=”NOEXEC_DISABLE=1 bluepill –no-privileged -c ~/.bluepill”‘ >> ~/.bash_aliases
rvm wrapper $(rvm current) bootup bluepill
rvm wrapper $(rvm current) bootup bundle
RUBY_GC_MALLOC_LIMIT=90000000 RAILS_ROOT=/var/www/discourse RAILS_ENV=production NUM_WEBS=2 bluepill –no-privileged -c ~/.bluepill load /var/www/discourse/config/discourse.pill
然后如果有问题就看 logs 排错吧, 哈哈.
参考教程: https://github.com/discourse/discourse/blob/master/docs/INSTALL-ubuntu.md