redmineインストール

ちょっと使い方を習得しておきたかったので、redmineをインストールしてみた。 以下そのログ。

改造することを考えて、手元にリポジトリをチェックアウトし、capistranoでデプロイする形にした。 まずsubversionリポジトリをチェックアウトし、gitリポジトリにする。

svn checkout http://redmine.rubyforge.org/svn/trunk/ redmine
cd redmine
git init .

なぜかtrunkなのは気にしない。 以下インストールガイドを参考にしつつ。 まずdatabase.ymlを書き換え、deploy.rbを追加(いつものレシピをコピペ)。 ついでにcapifyを実行してcapistranoでデプロイできるようにしておく。 次にセッション暗号化鍵を作成。

rake config/initializers/session_store.rb

.gitignoreを編集してdatabase.yml、email.yml、session_store.rbを無視リストから外す。 以上を設定して

cap deploy:setup
cap deploy:cold

でデプロイし、サーバ上で

RAILS_ENV=production rake db:create
RAILS_ENV=production rake db:migrate
RAILS_ENV=production rake redmine:load_default_data

で初期設定。 ここまではいつもの手順だったが、セッションまわりでうまく動作せず。 config/environment.rbに

config.action_controller.session = { :key => "_redmine_session", :secret => ランダムな文字列 }

を追加する必要があるようだ。自動的にランダム生成するよう、

chars = ('a'..'z').to_a + ('A'..'Z').to_a + ('0'..'9').to_a
secret = Array.new(60){chars[rand(chars.size)]}.join
config.action_controller.session = { :key => "_redmine_session", :secret => secret }

の三行を追加。これでどうにか動いた。 後は例によってapacheのリバースプロキシを設定したりして終了。

しかし、既存のリポジトリを読み込ませると時々フリーズする。そうなるとmongrelのプロセスが刺さってkill -KILLしなければならない。うーん…どうしたものか。