免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 2479 | 回复: 2
打印 上一主题 下一主题

【学习笔记*原创】Ruby-China网站源代码包的本地安装 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2012-02-26 21:10 |只看该作者 |倒序浏览
【学习笔记*原创】Ruby-China网站源代码包的本地安装











1、Ruby-China网站源代码包: https://github.com/huacnlee/ruby-china

?$ cd ~/workspace
$ git clone https://github.com/huacnlee/ruby-china.git

2、如果想要省心一点,请千万不要尝试在WINDOWS下安装。昨晚上花了30分钟尝试WINDOWS下安装,还安装了git的WINDOWS客户端,各种报错,解决了几个,后来太晚了,睡觉作罢。

3、今天使用UBUNTU LINUX 11.10来安装。上午花了半小时。晚上,边安装,边学习又花了近2小时。已在本地完成全部部署,测试暂未发现问题。(安装LOG在这里:http://ruby-china.org/topics/1398

===================================================

接下来才是正文,是整个安装过程的整理。

1、在/home/yourname/下建个目录放ruby-china的源代码。编辑GemFile: 加入execjs 和 TheRubyRacer

?$ cd ~/project
$ git clone https://github.com/huacnlee/ruby-china.git

?$ vi ~/project/ruby-china/GemFile

   加入
   gem 'execjs'

   gem 'therubyracer'

2、安装MongoDB:  (MongoDB是一种文件导向数据库:http://zh.wikipedia.org/zh/MongoDB

     sudo apt-get install mongodb

     安装完即可,不用过多配置。不过需要手工建立  /data/db 目录: sudo mkdir -p /data/db  && sudo chmod 755 -R /data/db

     测试 (启动 sudo mongod,每次开机系统会自动启动)

?$ mongo
> db.foo.save( { a : 1 } )
> db.foo.find()  

3、安装redis: (Redis是一个开源的使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库 http://zh.wikipedia.org/wiki/Redis

     sudo apt-get install redis-server

     同样不用过多配置。测试(

?niuniuqiu@niuniuqiu:~/projects/ruby-china$ redis-cli
redis 127.0.0.1:6379> set foo bar
OK
redis 127.0.0.1:6379> get foo
"bar"

  Redis命令参考简体中文版 ( http://redis.readthedocs.org/en/latest/index.html

4、按照官方文档做:

cp config/config.yml.default config/config.yml
cp config/mongoid.yml.default config/mongoid.yml
cp config/redis.yml.default config/redis.yml

bundle install
bundle update rails

rake assets:precompile
thin start -O -C config/thin.yml

可能需要:  chmod +x ./script/resque
./script/resque start

bundle exec rake sunspot:solr:start

5、安装 python-setuptools

sudo apt-get install python-setuptools

6、继续按照官方文档做:

sudo easy_install pygments  # 或者 sudo pip install pygments

7、安装数据库

rake db:migrate

8、我下载的Ruby-China网站源代码包中对db/seeds.rb 相关的 插入代码的语句,已被注释了?

导致 发帖子的时候选择主题类型没用东西可以选,发不了贴。提交:Node 不能为空字符

去掉注释后运行 rake db:seed 即可将这些数据插入。

BTW:现在突然想到其实这部分数据之所以被注释是因为,应该由管理员从后台来维护这部分数据。可是现在不能创建用户,也建立不了管理员用户?好像变成了一个悖论?

9、这时候可以启动WEB服务器了

rails server                  (缩写rails s)

10、一个BUG?

发现用户无法退出,出现http://ruby-china.org/topics/1364 所说的情况(用户登录后,我想注销,鼠标点到用户名上,下拉菜单出不来)时,,按照 回帖中指明的方法处理后,恢复正常。

【quakewang : 看上去是precompile的asset导致的,你清空 public/assets 然后清理一下浏览器缓存就能够恢复正常。开发环境下请求获得的application.js内容不应该包含其他js。】

11、管理员后台登陆。

先在前台用户注册中注册一个普通用户,记住邮件地址。然后修改config/config.yml 中的 admin_emails: "likeyu@gmail.com likeyulikeme@gmail.com" (源代码中写成了两行,貌似需要移动到同一行中,多个用户可以用空格分隔),

普通用户即变成了管理员用户。进入后台管理界面  http://localhost:3000/cpanel 。

管理员检测的相关代码:projects/ruby-china/app/controllers/cpanel/application_controller.rb (RoR就是这么简练)
  1. ?before_filter :require_admin
  2.   
  3. def require_admin
  4.   if not Setting.admin_emails.include?(current_user.email)
  5.     render_404
  6.   end
  7. end
复制代码
12、差不多就这么多了,Deploy部分是互联网环境部署时才会用到的。 不要在学习环境中执行。config/config.yml 还有其他的一些配置选项,,一看就懂的。

论坛徽章:
0
2 [报告]
发表于 2012-02-26 21:11 |只看该作者
谢谢分享

论坛徽章:
0
3 [报告]
发表于 2012-02-28 21:35 |只看该作者
谢谢分享啊
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP