Redmine 0.9.4をTomcat 6で実行する方法

JRuby 1.5.0が出たのでうまくいくか試してみた
(以前やった方法>http://anond.hatelabo.jp/20100422043007)

環境は以下のとおり

JDK, Tomcat, JRubyはインストール済み

MySQLのインストール
yum install mysql-server
MySQLの起動
/etc/init.d/mysqld start
MySQLの設定

rootパスワードなどを設定する

mysql_secure_installation
Rubyモジュールのインストール

RubyGemsでモジュールをインストールする

jruby -S gem install rails
jruby -S gem install warbler
jruby -S gem install activerecord-jdbcmysql-adapter
MySQLRedmineデータベースを作成
mysql -u root -p
mysql> create database redmine character set utf8;
mysql> grant all privileges on redmine.* to 'redmine'@'localhost' identified by 'redmine';
mysql> exit

(ここでは、パスワードをredmineしているが自由に)

RedmineのDB設定

(任意の場所にRedmineを解凍して、解凍先のディレクトリに移動した後)

cp config/database.yml.example config/database.yml
vi config/database.yml

database.yml

production:
  adapter: jdbcmysql
  database: redmine
  host: localhost
  username: redmine
  password: redmine
  encoding: utf8
DBへのデータ投入
jruby -S rake generate_session_store
jruby -S rake db:migrate RAILS_ENV=production
jruby -S rake load_default_data RAILS_ENV=production
起動確認

script/serverで起動し、http://localhost:3000 にアクセスして正常に動作するか確認する

jruby script/server -e production
production.rbの修正

Tomcatで動かしたときにログ出力するための設定をする

vi config/environments/production.rb
config.logger = Logger.new(config.log_path)
config.logger.level = Logger::INFO
warblerの設定

warble.rbを生成

jruby -S warble config RAILS_ENV=production

warble.rbを修正

vi config/warble.rb
  config.dirs = %w(app config lib log vendor tmp extra files lang)
  config.gems << "activerecord-jdbcmysql-adapter"
  config.gems["rails"] = "2.3.5"
  config.gems["rack"] = "1.0.1"
  config.webxml.rails.env = "production"
  config.includes = FileList["vendor/gems/*/.specification"]

warファイルを作成

jruby -S warble RAILS_ENV=production

できたwarファイルをTomcatに配置して、Tomcatを起動する

mv redmine-0.9.4.war /usr/local/tomcat/webapps/redmine.war
/usr/local/tomcat/bin/startup.sh

http://localhost:8080/redmine/ にアクセスしてインストールできたか確認して完了!