Redmineを運用するためのイロハを身につけよう
第7回 Javaプラットフォームでの運用
前回は軽量WEBサーバであるlighttpdを利用することでRedmineをより良いパフォーマンスで動かすための方法を紹介しました。今回はRedmineをJava EEのアプリケーションサーバで運用するための方法を紹介します。
読者の方には既にJava環境で他システムを運用している方もいらっしゃるかと思います。そのような場合に,Java EEのアプリケーションサーバとJRubyを利用することで,既存の環境に出来るだけ手を加えずにRedmineを運用したいという要望を実現することができます。
Java EEのアプリケーションサーバは数多く存在しますが,今回はその中でも多くの機能を兼ね備えており,注目度が高いオープンソース・プロダクトであるGlassfishで運用するための方法を解説します。
Glassfish以外にもRailsアプリケーションを運用することができるアプリケーションサーバには以下のようなものもあります(※1)。
- Tomcat
- WebSphere
- Oracle OC4J
- BEA Weblogic
それでは始めに,Javaで実装されたRubyであるJRubyを利用することのメリットと,Java EEのアプリケーションサーバで運用するメリットを整理しておきます。
- ※1)
- 筆者が実際に稼動確認をしたわけではありませんが,これらのアプリケーションサーバでの運用方法がこちらにまとめられていますので参考にしてください。
JRubyを利用することで得られるメリット
- Rubyの特性がそのままメリットとなる
- Javaとの連携が可能でJavaライブラリを活用する事ができる
- JDBCドライバを利用することで対応DBを増やすことができる
Java EEのアプリケーションサーバで運用することで得られるメリット
- Java EEの運用環境の良さをそのまま得られる
- 情報量が豊富で,多くの運用実績がある
- パフォーマンス・安定性を獲得できる
- 運用監視が充実している
- スケールアウトしやすい
上記のように数多くの恩恵を受けることができます。それでは,RedmineをJava EEのアプリケーションサーバで稼動させる方法を紹介していきます。運用する環境にRubyを導入するのが難しいという方は,JRubyと glassfishを利用してJavaプラットフォーム上でRedmineを稼動させてみましょう。
環境構築
Redmineを運用するサーバと動作確認を行うサーバ(テストサーバ)が異なっている場合,それぞれのサーバで必要となるミドルウェアが異なります。今回は,テストサーバでWARファイルを作成してからテストサーバのglassfishにデプロイし,動作確認を済ませた後に,運用サーバの glassfishにWARファイルをデプロイさせて運用するというスタイルを前提に解説していきます。
以上の前提より,テストサーバおよび運用サーバでは,以下のものが必要となります。
- テストサーバ
- JRubyもしくはRuby
- warファイル生成のためのプラグインであるgoldspike
- マイグレートするためのrakeパッケージ
- JDBC接続用のgemパッケージ
- jdbc-mysql
- activerecord-jdbcmysql-adapter
- activerecord-jdbc-adapter
- glassfish
- 運用サーバ
-
- JRubyもしくはRuby
- マイグレートするためのrakeパッケージ
- glassfish
本連載の第1回でRubyおよびrubygemsのインストール方法は紹介しましたので,今回は,JRubyのインストール方法を解説します。
JRubyの導入
JRubyを利用するためには Java SE 5.0 以降が必要となります。今回は JDK 6.0 Update6 を /usr/local 以下にインストールしておきます。ダウンロードすべきファイルおよびインストール手順はJava SE Downloadsサイトに紹介されていますので,そちらを参考にしてください。
続いて以下のURLにアクセスし,JRubyのバイナリ版をダウンロードします。
$ wget http://dist.codehaus.org/jruby/jruby-bin-1.1.2.tar.gz
ダウンロードしたファイルを今回は /usr/local 以下に展開します。
$ tar xvzf jruby-bin-1.1.2.tar.gz
このままではコマンド実行時にフルパスを指定しなければならないため,ホームディレクトリ以下の.bashrcを編集し環境変数を設定します。
JAVA_HOME=/usr/local/jdk1.6.0_06
JRUBY_HOME=/usr/local/jruby-1.1.2
また,PATHの最後部に,${JAVA_HOME}/bin:${JRUBY_HOME}/bin を追加します。編集したファイルの設定を反映するために以下のコマンドを実行します。
$ source ~/.bashrc
続いて以下のコマンドを実行し,Javaが利用可能な状態になっていることを確認します。
$ java -version java version "1.6.0_06" Java(TM) SE Runtime Environment (build 1.6.0_06-b02) Java HotSpot(TM) Client VM (build 10.0-b22, mixed mode, sharing)


