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-cliredis 127.0.0.1:6379> set foo barOKredis 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_admindef require_admin if not Setting.admin_emails.include?(current_user.email) render_404 endend
12、差不多就這麼多了,Deploy部分是互連網環境部署時才會用到的。 不要在學習環境中執行。config/config.yml 還有其他的一些配置選項,,一看就懂的。
最後感謝 ruby-china.org 社區各位大大。新手上路,請多指導。