Community_Engine –社区化平台(SNS)
CE是Rails下的一个SNS插件(官网:http://communityengine.org/),通过这个插件可以很轻松的搭建一个社区化网络平台,实现好友管理,博客,论坛,相册管理,活动等社区化的功能。目前我们希望基于这个插件来开发我们的应用。
现在来看下如何搭建这个平台:
整个搭建的顺序是参考了官网给出的一个安装指南:
http://github.com/bborn/communityengine
Linux版本
前提条件:【很重要!】
1、CE目前指定的Rails版本是2.3.4,推荐也使用这个版本,不然后面在安装过程中会遇到一些小问题。如果是Linux用户,运行$sudo gem instaoll –v=2.3.4 (通过这个命令来指定安装的版本)
2、安装ImageMagick (>6.4) ,这个是用来做图片处理的插件,这个我在Linux下面没有装,只是装了rmagick相关的插件,但是发现最后CE还是可以正常运行的,建议装一下吧,安装方法可以去官网查一下。
3、一些gems包:
rmagick
hpricot
htmlentities
rake 0.8.3
haml 2.0.5
calendar_date_select
ri_cal
authlogic
searchlogic
aws-s3 (if using s3 for photos)(可选,这个用来选择图片服务器用的。)
说明:以上插件是CE运行所需要的,建议装的时候耐心点,如果有安装不成功的可以搜索下响应的安装方法。在Linux环境下基本可以通过$sudu gem install xxx的方式来进行安装
这里看下rmagick的安装:
$ sudo apt-get install libmagick9-dev
$ sudo gem install rmagick --include-dependencies
通过以上两个命令即可安装rmagick
安装过程:
1.、创建一个Rails应用程序:
$rails your_app –database=mysql
2、安装desert
$ sudo gem install desert
3、下载CE插件到rails下的vendor/plugins/community_engine
,并将插件的名字命名为:community_engine。
4、修改config/database.yml下的配置,创建数据库。
5、删除public/index.html下的文件
6、修改环境配置文件:environment.rb
RAILS_GEM_VERSION = '2.3.4' unless defined? RAILS_GEM_VERSION
require File.join(File.dirname(__FILE__), 'boot')
require 'desert'
Rails::Initializer.run do |config|
config.plugins = [:community_engine, :white_list, :all]
config.plugin_paths+=["#{RAILS_ROOT}/vendor/plugins/community_engine/plugins"]
config.gem 'calendar_date_select'
config.gem 'icalendar'
config.gem 'authlogic'
config.gem 'searchlogic'
config.action_controller.session = {
:key => '_your_app_session',
:secret => 'secret'
}
config.time_zone = 'UTC'
end
require "#{RAILS_ROOT}/vendor/plugins/community_engine/config/boot.rb"
7、修改开发、测试、生产环境development.rb, test.rb, and production.rb
# development.rb, production.rb, and test.rb should include something like:
APP_URL = "http://localhost:3000" (or whatever your URL will be for that
particular environment)
8、修改routes.rb
# Add this after any of your own existing routes, but before the default rails routes:
map.routes_from_plugin :community_engine
# Install the default routes as the lowest priority.
map.connect ':controller/:action/:id'
map.connect ':controller/:action/:id.:format'
9、Generate the community engine migrations(这一步不知道做什么用,如果有知道的麻烦告诉我一下)
$ ruby script/generate plugin_migration
10、运行数据库的迁移:
rake db:migrate
11、如果不适用基于cookies的session的话,在application.rb增加以下配置:
protect_from_forgery # :secret => 'your_secret_string'
12、运行测试,看下我们的CE是否能够正常跑通
$ rake community_engine:test
(我这边的测试结果显示只有1个Error,应该是我插件安装的版本问题,还挺满意)
13、启动我们的server,去看下程序运行是否正常吧。
$ ./script/server
说明:程序运行时,在注册一个用户以后,系统会发送一封邮件要求激活,这个时候你需要配置下你的mail,才能收到邮件。或者查看数据库的action_code来手动产生激活的链接。
Windows版本
如果大家觉得上面的安装过程比较麻烦,我在Linux下安装的CE版本放到了windows下,发现基本也可以正常运行的,毕竟在windows下开发还是有很多便利之处的,尤其对于界面的开发。因此大家可以把我安装好的程序直接拷贝到本机运行即可,如果有需要可以联系我。
步骤:
1、前提条件(同Linux版本的配置);
2、配置数据库;rake db:create ; rake db:migrate
3、运行测试:rake community_engine:test
4、启动服务器 ruby /script/server
推荐大家在Linux下进程程序的安装,平时开发的时候可以在windows平台、后续可以通过搭建CSV Server进行程序的同步。