【學習筆記*原創】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:現在突然想到其實這部分數據之所以被注釋是因為,應該由管理員從后台來維護這部分數據。可是現在不能創建用戶,也建立不了管理員用戶?好像變成了一個悖論?

8 插入初始化數據:

rake db:seed

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就是這么簡練)

before_filter :require_admin

def require_admin
  if not Setting.admin_emails.include?(current_user.email)
    render_404
  end
end

12、差不多就這么多了,Deploy部分是互聯網環境部署時才會用到的。 不要在學習環境中執行。config/config.yml 還有其他的一些配置選項,,一看就懂的。

最后感謝 ruby-china.org 社區各位大大。新手上路,請多指導。

 


 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM