Redmine
(日本語サイト
)は Ruby on Rails
フレームワークベースの Web アプリケーションとして実装されている、柔軟なプロジェクト管理用のツールです。Redmine には複数プロジェクトの管理機能、ロールベースの管理機能、プロジェクトごとに管理できる forums/wikis/SCM といった "ユージュアル・サスペクツ (※訳者注:プロジェクト管理ツールに通常期待されるような一般的な機能)" から LDAP 認証、他言語対応といったエンタープライズ向けの機能まで、とても多彩な機能
が備わっています。
Redmine はプラットフォームやデータベースを選ばず、GlassFish v3
上にもとてもいいカンジに配備することができます。
GlassFish v3 はモジュラー性・拡張性が高く、Rails アプリケーションを特に手を加えることなく
配備することが可能となっています(War 化する必要もありません)。このブログでは Redmine をGlassFish 上に配備する手順について説明し、あわせていくつかのスクリーンショットをお見せします。
より詳しいドキュメントは Redmine ガイド(英語)
にてご覧ください。
1. 次のコマンドを実行し、 Redmine の安定版リリースをチェックアウトします。
~/testbed/redmine >svn co http://redmine.rubyforge.org/svn/branches/0.7-stable redmine-0.7
redmine> svn checkout http://redmine.rubyforge.org/svn/trunk/
2. データベースの設定
~/testbed/redmine >sudo mysqld_safe --user root Starting mysqld daemon with databases from /usr/local/mysql/data
~/testbed/redmine/redmine-0.7 >../jruby-1.1.1/bin/jruby -S rake db:create (in /Users/arungupta/testbed/redmine/redmine-0.7)
※実際には redmine\config\database.yml が database.yml.example という名前になっているため、これを database.yml とRename する必要があります。 また、 database.yml を開いて DB ユーザのパスワードも書き換える必要があります。
~/testbed/redmine/redmine-0.7 >../jruby-1.1.1/bin/jruby -S rake db:migrate
(in /Users/arungupta/testbed/redmine/redmine-0.7)
== 1 Setup: migrating =========================================================
-- create_table("attachments", {:force=>true})
-> 0.2840s
-- create_table("auth_sources", {:force=>true})
-> 0.0540s
-- create_table("custom_fields", {:force=>true})
-> 0.0430s
-- create_table("custom_fields_projects", {:id=>false, :force=>true})
-> 0.0080s
-- create_table("custom_fields_trackers", {:id=>false, :force=>true})
-> 0.0500s
. . .
== 90 ChangeVersionsNameLimit: migrating ======================================
-- change_column(:versions, :name, :string, {:limit=>nil})
-> 0.0220s
== 90 ChangeVersionsNameLimit: migrated (0.0220s) =============================
== 91 ChangeChangesetsRevisionToString: migrating =============================
-- change_column(:changesets, :revision, :string, {:null=>false})
-> 0.0210s
== 91 ChangeChangesetsRevisionToString: migrated (0.0230s) ====================
== 92 ChangeChangesFromRevisionToString: migrating ============================
-- change_column(:changes, :from_revision, :string)
-> 0.0130s
== 92 ChangeChangesFromRevisionToString: migrated (0.0150s) ===================
3. GlassFish v3 のダウンロード / インストールおよび設定
から GlassFish v3 をダウンロードします。
JRUBY_HOME="/Users/arungupta/testbed/redmine/jruby-1.1.1"
4. Redmine の配備:
~/testbed/redmine >./glassfishv3-tp2/glassfish/bin/asadmin deploy redmine-0.7 Command deploy executed successfully.
... GlassFish のコンソールには次のように表示されます:
May 21, 2008 4:58:30 PM com.sun.enterprise.rails.RailsDeployer registerAdapter INFO: Loading application redmine-0.7 at /redmine-0.7 May 21, 2008 4:58:30 PM INFO: Starting Rails instances May 21, 2008 4:58:37 PM SEVERE: JRuby limited openssl loaded. gem install jruby-openssl for full support. http://wiki.jruby.org/wiki/JRuby_Builtin_OpenSSL May 21, 2008 4:58:42 PM com.sun.grizzly.jruby.RubyObjectPool$1 run INFO: Rails instance instantiation took : 11979ms May 21, 2008 4:58:42 PM com.sun.enterprise.v3.deployment.DeployCommand execute INFO: Deployment of redmine-0.7 done is 12091 ms
これでアプリケーションを使う準備は完了です!私が試してみた時のスクリーンショットをいくつかお見せしましょう。
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
なお、Rails powered by the GlassFish Application Server (英文)
には、 Ruby-on-Rails の伝統的な配備モデルに変わって GlassFish を採用すべき理由が余すところなく説明されています。
また、このアプリケーションについては、 Sang "with Passion" Shin(英語)
によるFREE 20-week Ruby-on-Rails course (英語)
の一部である LAB 5539
でも解説されています。