Redmineをインストールしてみた

我らが中継職人、id:i_ogiさんの動画公開ブログ(笑)で、先日の第41回PHP勉強会の動画を見させて頂きました。
第41回PHP勉強会@関東のムービー - おぎろぐはてブロ

id:yandodさんの発表のRedmineがちょっと気になって、試しにインストールだけしてみました。以下、手順の備忘録…。

RubyRailsはインストール済みなので、その辺りの導入手順は省略。バージョンはそれぞれ、Rubyが1.8.4、Railsが2.1.2です。

手順は、Redmine.JPのインストール手順ページを参考にしました。まずはRedmineのインストールから。

$ cd ~/htdocs
$ svn checkout http://redmine.rubyforge.org/svn/branches/0.8-stable redmine

続いて、database.ymlの設定をして、DBのMigrateと初期データ投入を行います。

$ cd redmine
$ cp -i config/database.yml.example config/database.yml
$ vi config/database.yml
 :
production:
  adapter: postgresql
  database: redmine_production
  host: localhost
  username: user
  password: pass
  encoding: utf8
 :
$ createdb -U user -E utf8 redmine_production
$ rake db:migrate RAILS_ENV=production
$ rake load_default_data RAILS_ENV=production
Select language: bg, ca, cs, da, de, en, es, fi, fr, he, hu, it, ja, ko, lt, nl, no, pl, pt, pt-br, ro, ru, sk, sr, sv, th, tr, uk, vn, zh, zh-tw [en] ja

次に、メール周りの設定。

$ cp -i config/email.yml.example config/email.yml
$ vi config/email.yml
 :
production:
  delivery_method: :smtp
  smtp_settings:
    address: localhost
    port: 25
    domain: example.com
 :

後はscript/serverで起動すればいいんですが、手順に、"Apache上でRuby on Railsアプリケーションを動かす/Passenger(mod_rails for Apache)の利用"というのがあったので、そっちを試してみました。

$ gem install passenger
$ passenger-install-apache2-module
$ vi /etc/apache2/httpd.conf
 :
LoadModule passenger_module /usr/lib/ruby/gems/1.8/gems/passenger-2.1.2/ext/apache2/mod_passenger.so
PassengerRoot /usr/lib/ruby/gems/1.8/gems/passenger-2.1.2
PassengerRuby /usr/bin/ruby1.8
 :
$ cp -i dispatch.cgi.example dispatch.cgi
$ vi config/environment.rb
 :
ENV['RAILS_ENV'] ||= 'production'
 :

本当はバーチャルホストを切って、DocumentRootを設定するべきですが、ちょっと試してみるだけなので、今回はDocumentRoot直下に直接redmineディレクトリを突っ込んでいます。

ここまで設定したところでブラウザからアクセスしてみたら、無事にHome画面が表示されたので、とりあえず導入はうまくいったようです。

ちなみに、Passengerを使わずに、Mongrelで動かしてApache経由でアクセスする場合には、以下のようにします。

$ /usr/bin/ruby1.8 /usr/bin/mongrel_rails start -p 3001 -e production -P ./tmp/pids/mongrel.pid -d --prefix /redmine
$ cd ~/htdocs/redmine
$ vi .htaccess
RewriteEngine On
RewriteRule ^(.*)$ http://localhost:3001/redmine/$1 [P]

"script/server"だとprefixが指定できないので、Mongrelを直接実行しています。こうしてやると、ディレクトリ毎に違うポート番号でRailsを動かす事ができるので、なかなかに便利です。

少しだけ触ってみた感想

Passenger上で動く設定でちょっと触ってみたところ、レスポンスが非常に重たくてまともに使えそうになかったので、mongrel上で動かすようにして色々と触ってみました。*1

ざっと設定周りを見てみただけでちゃんと使ってはいないですが、かなり柔軟に色々設定できて、なかなか使い勝手は良さそうですね。

とりあえず個人的なBTSとして使ってみて、良さそうだったら本格的にバグ管理用に使ってみようかなと思います。

あとがき

ちょこちょこと手順は省いている部分もあるのであっさり導入できたように見えますが、実際にはところどころ躓きながらなので、導入完了まで結構な時間が掛かってしまいました。

id:yandodさんが発表の中で、「インストールは気合」とおっしゃってましたが、正にその通りだと思いました…。

バージョンがらみの問題で一旦ruby自体の入れ直しなんてしてしまったせいもあるんですが、「面白そうだからちょっと試してみよ。」と言うにはちょっと手間が掛かり過ぎてしまった感じがします。(-_-;)

最初にRailsを入れた時にやたらと苦労した事もあって、RailsRuby周りに対してはどうもあまりいい印象が無いんですよね…。まぁ、素人がおいそれと入ってはいけない聖域なんでしょうね、きっと…。

*1:Rails上のログだと処理にほとんど時間が掛かっていなかったので、Passengerが重たいんだと思いますが、何か設定が良くないのか、それともPassengerっていうのはこういうもんなんでしょうか…?