由於 Ruby/Rails 在 MacOSX 跟 Linux 相對比較友善,所以要找 Redmine on Windows 的安裝教學實在不太好找,中文資料更是寥寥可數。加上 Rails 進步迅速,很多 07~09 年的資料其實很可能都已經過時,所以乾脆自己研究完寫一篇XD
不過由於現在實在沒什麼空寫網誌,所以簡單的把方法跟過程記錄一下....
這邊主要是根據 http://www.redmine.org/projects/redmine/wiki/RedmineInstall 上面的說明,而 Redmine 安裝相依於特定的 rails 與 ruby 版本,可以參考前面這個連結裡面的表格。而我這邊以 Ruby 1.9.3 + Rails 3.2.13 + Redmine 2.3.0 為目標。
以下為安裝步驟:(注意!安裝過程中的路徑最好都不要有中文,如果出現奇怪的問題,請先嘗試把目錄或檔案放到沒有中文路徑的位置。目前我已經碰到某些 gem file 放在中文路徑會沒辦法安裝)
- 下載 Ruby installer 與 Development Kit (這邊我都選 32-bit 版本)
http://rubyinstaller.org/downloads - 下載 Redmine (點第一段的 RubyForge 連結)
http://www.redmine.org/projects/redmine/wiki/Download - 安裝 Ruby
雙擊 ruby installer 並一直 Next,注意中途應選擇「Add Ruby executables to your PATH」 - 安裝 Development Kit
將 Development Kit 解壓縮到 C:\Ruby193\DevKit,並打開命令提示字元執行以下指令ruby C:\Ruby193\DevKit\dk.rb init ruby C:\Ruby193\DevKit\dk.rb install
- 解壓縮 Redmine 至特定目錄,在此以「$REDMINE」表示
- 進入 $REDMINE\config\ 目錄中,複製 database.yml.example 至 database.yml
- 根據自己的環境,設定 database.yml。
在此我打算使用 SQLite3 作為 production (雖然官方不建議),所以只需要很簡單的3行production: adapter: sqlite3 database: db/redmine.sqlite3
- 安裝相依 gems
cd $REDMINE gem install bundler bundle install --without development test rmagick # rmagick 還需要額外安裝其他東西,乾脆就先不用了
- 設定 Redmine
set RAILS_ENV=production rake generate_secret_token rake db:migrate rake redmine:load_default_data ruby script/rails server webrick -e production
- 到這裡,Redmine server 應該已經 run 起來了,連上 http://localhost:3000/ 看看吧!
通常應該這樣就結束了,但是發現某些文章提到用 mongrel,他似乎也是個 ruby 寫的 web server 吧....查了一下資料發現,有個更新的東西叫做 thin,根據 thin 的說法,它用了 mongrel parser....然後效能比 mongrel 好.....哎呀反正我也不太懂,反正試試看就對了XD
安裝 thin 很簡單:
gem install thin執行則是
thin start結果竟然跑不起來?找了一些資料才發現,原來要加上 Gemflie.local 才行....反正結論是,應該這樣安裝
- 先編輯 $REDMINE\Gemfile.local
gem 'thin'
- 執行以下指令
bundle install thin start
在 $REDMINE 下,執行 bundle package,就可以在 $REDMINE\vender\cache\ 裡面找到目前配置下所需的所有 gems,但有趣的是,bundler 自己不在裡面.....XD 要找到 bundler 的 gem 的話,可以去 C:\Ruby193\lib\ruby\gems\1.9.1\cache\ 裡面撈...找到 bundle 與 bundler 這兩個 gem,直接複製即可。(別問我,我不曉得這兩個分別是幹嘛的....)
另外,我們還得偷帶走 $REDMINE\Gemfile.lock 這個檔案,這樣 bundle 才能在沒有網路連線的情況下,了解 gems 之間的相依性。既然都拿 Gemfile.lock 了,那剛剛安裝 thin 用的 Gemfile.local 也順便帶走吧!所以,想要離線安裝,先準備好以下這些檔案
- Ruby Installer
- Development Kit
- Redmine
- 挖出來的 gems (包含 bundler, bundle, 以及 bundle package 產生的那些)
- Gemfile.local 與 Gemfile.lock
然後根據以下步驟安裝
- 進行上面一般安裝步驟的第 3~7 步
- 安裝 gems (假設我把檔案放在 C:\Ruby193\gems.local)
cd C:\Ruby193\gems.local gem install -l *
- 把 Gemfile.local 與 Gemfile.lock 丟回 $REDMINE
- 執行以下指令
cd $REDMINE bundle install --without development test rmagick --local
- 進行一般安裝步驟第 9 步
- 完成!
希望上面的筆記也可以對其他人有幫助.....
好啦我知道這篇文章排版很糟糕...但我實在沒空調整了orz 再抱怨一次 Blogger 的寫文章介面實在不太好用 :(