教程 Ruby-china 开源社区系统 Homeland 搭建配置教程

ting5202 · 2017年12月25日 · 312 次阅读

一、前言

由于有很多人询问我搭建homeland的方式,特发此教程。类似的还有phphub。此教程为ruby china社区衍生的小众社区开源代码homeland的搭建教程(本文只介绍源码搭建方式)。Homeland 包含一个论坛的必要功能,简约而不简单,同时页面浏览有非常快速的响应。如需搭建此系统,你至少应该满足以下条件:

  • ubuntu 14.04
  • 2核4g,硬盘40G

二、服务器初始化

1.初始化服务器

sudo apt-get update
sudo apt-get install -y curl
curl -sSL https://git.io/vVHhe | bash

2.安装必备组件

sudo apt-get install memcached postgresql postgresql-contrib redis-server imagemagick ghostscript

3.确保环境

  • Ruby 2.4.0 +
  • PostgreSQL 9.4 + (Mongodb)
  • Redis 2.8 +
  • Memcached 1.4 +
  • Elasticsearch 2.0 +

三、开始安装

创建帐号

假设你已经用 root 帐号通过 SSH 登陆服务器。

出于安全考虑,不要使用 root 帐号运行 web 应用。这里新建一个专门用于部署的用户,例如 deploy 或者其它你喜欢的名字。运行以下命令创建用户:

useradd -m -s /bin/bash deploy

将用户加入 sudo 群组,以便使用 sudo 命令:

adduser deploy sudo

为 deploy 用户设置密码:

passwd deploy

退出当前 SSH 链接,用 deploy 帐号重新登陆。

安装 RVM 和 Ruby

更新 apt,并安装 curl:

$ sudo apt-get update
$ sudo apt-get install curl

然后安装 RVM:

$ \curl -sSL https://get.rvm.io | bash

RVM 安装完毕后,重新登陆 SSH,让 RVM 配置生效。然后安装 Ruby 2.1.2:

安装rvm

curl -L get.rvm.io | bash -s stable   

$ rvm use --install --default 2.1.2

Ruby 安装过程会请求 apt-get update 的权限,并自动安装系统依赖。安装完毕后,确认目前的 Ruby 版本:

$ ruby -v

应该看到 ruby 2.1.2 字样。

安装 Passenger

Passenger 是一个 app server,支持基于 Rack 框架的 Ruby app(包括 Rails)。Passenger 的特点是需要作为模块编译到 Nginx 中,优点是配置简单,不需要自己写启动脚本。

安装 Passenger 最简单的方法是通过 apt 安装,首先导入 Passenger 的密钥(官方文档):

$ sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 561F9B9CAC40B2F7

安装 apt 插件以支持 https 传输:

sudo apt-get install apt-transport-https ca-certificates

添加 apt 源(对应 Ubuntu 14.04 LTS):

$ sudo sh -c 'echo deb https://oss-binaries.phusionpassenger.com/apt/passenger trusty main > /etc/apt/sources.list.d/passenger.list'
$ sudo apt-get update

安装 Passenger 的包:

$ sudo apt-get install nginx-extras passenger

现在修改 nginx 配置,编辑 /etc/nginx/nginx.conf,找到这两行注释:

passenger_root /usr/lib/ruby/vendor_ruby/phusion_passenger/locations.ini;
passenger_ruby /usr/bin/ruby;

将它修改为:

passenger_root /usr/lib/ruby/vendor_ruby/phusion_passenger/locations.ini;
passenger_ruby /home/deploy/.rvm/wrappers/default/ruby;

这会打开 Passenger 支持,并且指定使用之前用 rvm 安装的 ruby 版本。

数据库配置

取决于你的应用,这里需要安装数据库等其他系统组件,可以使用Mongodb或者PostgreSQL,这里以postgresql为例:

$ sudo apt-get install postgresql libpq-dev

开始配置

进行此操作前,请先修改配置文件,这里不作详细说明。

配置完毕之后,进行如下操作

bundle install
RAILS_ENV=production rake db:create
RAILS_ENV=production rake db:migrate
RAILS_ENV=production rake db:seed
RAILS_ENV=production rake assets:precompile
rails s -e production

至此,配置完毕,你可以进行访问了~~

如果你有任何疑问或者建议,欢迎留言评论~~~

暂无回复。
需要 登录 后方可回复, 如果你还没有账号请点击这里 注册