【學(xué)習(xí)筆記*原創(chuàng)】Ruby-China網(wǎng)站源代碼包的本地安裝
1、Ruby-China網(wǎng)站源代碼包: https://github.com/huacnlee/ruby-china
?$ cd ~/workspace
$ git clone https://github.com/huacnlee/ruby-china.git
2、如果想要省心一點(diǎn),請(qǐng)千萬(wàn)不要嘗試在WINDOWS下安裝。昨晚上花了30分鐘嘗試WINDOWS下安裝,還安裝了git的WINDOWS客戶端,各種報(bào)錯(cuò),解決了幾個(gè),后來(lái)太晚了,睡覺(jué)作罷。
3、今天使用UBUNTU LINUX 11.10來(lái)安裝。上午花了半小時(shí)。晚上,邊安裝,邊學(xué)習(xí)又花了近2小時(shí)。已在本地完成全部部署,測(cè)試暫未發(fā)現(xiàn)問(wèn)題。(安裝LOG在這里:http://ruby-china.org/topics/1398 )
===================================================
接下來(lái)才是正文,是整個(gè)安裝過(guò)程的整理。
1、在/home/yourname/下建個(gè)目錄放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是一種文件導(dǎo)向數(shù)據(jù)庫(kù):http://zh.wikipedia.org/zh/MongoDB)
sudo apt-get install mongodb
安裝完即可,不用過(guò)多配置。不過(guò)需要手工建立 /data/db 目錄: sudo mkdir -p /data/db && sudo chmod 755 -R /data/db
測(cè)試 (啟動(dòng) sudo mongod,每次開(kāi)機(jī)系統(tǒng)會(huì)自動(dòng)啟動(dòng))
?$ mongo
> db.foo.save( { a : 1 } )
> db.foo.find()
3、安裝redis: (Redis是一個(gè)開(kāi)源的使用ANSI C語(yǔ)言編寫(xiě)、支持網(wǎng)絡(luò)、可基于內(nèi)存亦可持久化的日志型、Key-Value數(shù)據(jù)庫(kù) http://zh.wikipedia.org/wiki/Redis )
sudo apt-get install redis-server
同樣不用過(guò)多配置。測(cè)試(
?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命令參考簡(jiǎn)體中文版 ( 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、繼續(xù)按照官方文檔做:
sudo easy_install pygments # 或者 sudo pip install pygments
7、安裝數(shù)據(jù)庫(kù)
rake db:migrate
8、我下載的Ruby-China網(wǎng)站源代碼包中對(duì)db/seeds.rb 相關(guān)的 插入代碼的語(yǔ)句,已被注釋了?
導(dǎo)致 發(fā)帖子的時(shí)候選擇主題類型沒(méi)用東西可以選,發(fā)不了貼。提交:Node 不能為空字符
去掉注釋后運(yùn)行 rake db:seed 即可將這些數(shù)據(jù)插入。
BTW:現(xiàn)在突然想到其實(shí)這部分?jǐn)?shù)據(jù)之所以被注釋是因?yàn),?yīng)該由管理員從后臺(tái)來(lái)維護(hù)這部分?jǐn)?shù)據(jù)?墒乾F(xiàn)在不能創(chuàng)建用戶,也建立不了管理員用戶?好像變成了一個(gè)悖論?
9、這時(shí)候可以啟動(dòng)WEB服務(wù)器了
rails server (縮寫(xiě)rails s)
10、一個(gè)BUG?
發(fā)現(xiàn)用戶無(wú)法退出,出現(xiàn)http://ruby-china.org/topics/1364 所說(shuō)的情況(用戶登錄后,我想注銷,鼠標(biāo)點(diǎn)到用戶名上,下拉菜單出不來(lái))時(shí),,按照 回帖中指明的方法處理后,恢復(fù)正常。
【quakewang : 看上去是precompile的asset導(dǎo)致的,你清空 public/assets 然后清理一下瀏覽器緩存就能夠恢復(fù)正常。開(kāi)發(fā)環(huán)境下請(qǐng)求獲得的application.js內(nèi)容不應(yīng)該包含其他js。】
11、管理員后臺(tái)登陸。
先在前臺(tái)用戶注冊(cè)中注冊(cè)一個(gè)普通用戶,記住郵件地址。然后修改config/config.yml 中的 admin_emails: "likeyu@gmail.com likeyulikeme@gmail.com" (源代碼中寫(xiě)成了兩行,貌似需要移動(dòng)到同一行中,多個(gè)用戶可以用空格分隔),
普通用戶即變成了管理員用戶。進(jìn)入后臺(tái)管理界面 http://localhost:3000/cpanel 。
管理員檢測(cè)的相關(guān)代碼:projects/ruby-china/app/controllers/cpanel/application_controller.rb (RoR就是這么簡(jiǎn)練)- ?before_filter :require_admin
-
- def require_admin
- if not Setting.admin_emails.include?(current_user.email)
- render_404
- end
- end
復(fù)制代碼 12、差不多就這么多了,Deploy部分是互聯(lián)網(wǎng)環(huán)境部署時(shí)才會(huì)用到的。 不要在學(xué)習(xí)環(huán)境中執(zhí)行。config/config.yml 還有其他的一些配置選項(xiàng),,一看就懂的。
|