かなりインターバルが開いたけど、Issue trackingネタの続き。
間が開きすぎて、フリーじゃなくなった(挙句に日本語情報サイトまで消えてる)activecollabみたいなのもいるけど、新顔(当時あまりメジャーじゃなかったので知らなかっただけ)も増えてる。ということで、そんな新顔の中からRedmineを試用中。
RMagickを使った時にgemも導入済みなので、日本語情報サイトのインストール手順をなぞって、WEBrickでの動作確認までは何の問題も無く終了。
問題はその先。日本語情報サイトではPassengerの利用を推奨しているけど、これが今や骨董品的存在となっているRHEL3ではapache用モジュールのbuild時にエラーが出る。エラーメッセージを見ると、どうもBoostのヘッダが見つからない、ということらしい。今時のLinuxなら標準添付かも知れないが、RHEL3にそんなものを求められても。
ということで、次案としてmod_proxy + thinを試すことに。実のところ、thinより速いという噂のEbbも試してみたんだけど、結果的にはthinやmongrelに比べるとまだ機能不足だった(理由は後述)。
thinのインストール自体は
で終了。この辺りの記述を参考にthinの設定ファイルを作成して、起動も一見成功したように見えた。ところがlogの最後にアボートしましたの文字。本当に日本語で表示されてるところを見ると、これは多分rubyのエラーメッセージ。要はdaemonになれずにプロセスが死んでる。
gem install thin
あれこれ調べた挙句に行き着いたのがこれ。thinが利用してるEventMachineが2.6カーネルにしかないepoll(7)を使うのを抑制する、という話。判んねーよ、こんなの。
mod_proxyの方の設定については、サブドメインを立てる権限の無い身としてはこちらを参考に。ちなみにEbbだと、mongrelやthinの--prefix相当のオプションが無いので、ここでつまづくことになる。mod_proxyの設定を
とすることで、トップページはかろうじて表示されるけど、肝心のログイン画面へのリンクやCSSなどが
ProxyPass /redmine/ http://127.0.0.1:4904/redmine/
ProxyPassReverse /redmine/ http://127.0.0.1:4904/redmine/
と、サブディレクトリが含まれない形式に置換されるため、Ebbではまともに動かない。
http://example.com/foo
とりあえず動くようにはなったけど、鬼門のActiveDirectoryとの連携をクリアしないと、実務レベルでは使えないんだよなぁ…