RedmineをJettyで動かす覚え書き。

Rails系アプリもこれで動くはず。。。
RedmineのためにMySQLを入れたくないので、今回はSQLiteを使用する。

環境準備

下記参照(これを書いている時点のバージョンは1.5.6)
http://jruby.org/

gemsのダウンロードは下記から
http://rubyforge.org/frs/?group_id=126&release_id=9501

RailsをGemから入れます。

jruby -S gem install rails
  • SQLite3のインストール

SQliteJDBCドライバとActiveRecoardのAdapterをgemからインストール

jruby -S gem install jdbc-sqlite3
jruby -S gem install activerecord-jdbcsqlite3-adapter
  • Jettyのダウンロード&インストール

★下記参照
http://www.eclipse.org/jetty/

  • Jettyの設定

webdefault.xmlの設定 dirAllowedをFalseに
この設定を行わないとRedmineが正しく表示されません。#フックされない。

    <init-param>
      <param-name>dirAllowed</param-name>
      <param-value>false</param-value><!-- 無効にします。 -->
    </init-param>

【Warの準備】

Redmineのダウンロード

SVNから落としてみました。

$ svn checkout http://redmine.rubyforge.org/svn/branches/1.0-stable redmine

Redmineの設定

  • database.ymlの設定
production:
  adapter: jdbcsqlite3
  database: db/development.sqlite3
  timeout: 5000
  • セッション暗号化用鍵の生成
jruby -S rake generate_session_store
jruby -S rake db:migrate RAILS_ENV=production
jruby -S rake redmine:load_default_data RAILS_ENV=production

Redmineのテスト起動

jruby -S script/server -e production

Webrickが起動してブラウザから確認できればOK

Warbleのインストール

jruby -S gem install warbler
  • Warbleの設定をします。

まず下記コマンドを実行しconfingファイルを作成します。

jruby -S warble config

適当なエディタで編集します・

vim config config/warble.rb

変更箇所は下記の通り

  #config.dirs = %w(app config lib log vendor tmp)
  config.dirs = %w(app config lib log vendor tmp extra files lang db)

  # config.gems += ["activerecord-jdbcmysql-adapter", "jruby-openssl"]
  config.gems += ["activerecord-jdbcsqlite3-adapter", "jruby-openssl"]

Warファイルを作成します。

jruby -S warble

上記コマンドを実行すると redmine.watというファイルが作成されます。

Jettyにインストール

作成したwarファイルをJettyにデプロイして完了です。