WAR 版 JIRA のインストール方法

前回に引き続き、また JIRA の話になります。WAR 版 JIRA のインストール方法です。「WAR 版 JIRA の環境構築なら前回書いただろ!」と言われるかもしれませんが、、、前回の記事についていたブックマークに「WAR版のデプロイ方法がわからなかったので助かります。」というコメントをいただき、需要があるんだなーと思って記事を読み返していたら、すいません、若干手順を間違えていました。本当に申し訳ありません。ちょうど、Jiemamy サーバ上の JIRA のバージョンアップを行う機会があったので、その際の作業ログがてら、WAR 版 JIRA のインストール方法をご紹介します。

環境

以下で紹介する WAR 版 JIRA のインストールに使用している環境は次の通りです。

インストール手順

1. JIRA 用の $CATALINA_BASE を用意します。前回の記事でも紹介した通り、せっかくなので TomcatFedora で提供されている rpm で管理していきましょう。その方がアップデートの時も楽です。

$ sudo mkdir -m 0775 /usr/share/jira \
    /usr/share/jira/bin \
    /etc/jira \
    /var/log/jira \
    /var/cache/jira \
    /var/cache/jira/temp \
    /var/cache/jira/work \
    /opt/jira \
    /opt/jira/webapps
$ sudo mkdir /usr/share/java/jira
$ sudo ln -s /etc/jira /usr/share/jira/conf
$ sudo ln -s /usr/share/java/jira /usr/share/jira/lib
$ sudo ln -s /var/log/jira /usr/share/jira/logs
$ sudo ln -s /var/cache/jira/temp /usr/share/jira/temp
$ sudo ln -s /opt/jira/webapps /usr/share/jira/webapps
$ sudo ln -s /var/cache/jira/work /usr/share/jira/work
$ sudo chown -R root:tomcat /usr/share/jira \
    /etc/jira \
    /var/log/jira \
    /var/cache/jira \
    /opt/jira
$ sudo ln -s /usr/share/tomcat6/bin/tomcat-juli.jar /usr/share/jira/bin/tomcat-juli.jar
$ sudo cp -p /etc/tomcat6/server.xml /etc/jira/
$ sudo ln -s /etc/tomcat6/catalina.properties /etc/jira/catalina.properties
$ sudo cp -p /etc/sysconfig/tomcat6 /etc/sysconfig/jira
$ sudo ln -s /etc/init.d/tomcat6 /etc/init.d/jira
$ sudo chkconfig --add jira

2. WAR 版 JIRA をダウンロードして、/opt/jira/ ディレクトリ配下に展開します。

3. /opt/jira/atlassian-jira-4.4.4-war/edit-webapp/WEB-INF/classes/jira-application.properties を編集し、jira.home を適切に設定します。ここは、JIRA のデータをどこに置くかを指定しますので、用意するディレクトリのアクセス権は tomcat ユーザで書き込みできる必要があります。

4. 必要に応じて、war に含めなければならないプラグイン等を /opt/jira/atlassian-jira-4.4.4-war/edit-webapp/ ディレクトリ配下に配置したり設定を行います。

5. JIRA をビルドします。build.sh を叩けばいいだけです。

$ cd /opt/jira/atlassian-jira-4.4.4-war/
$ sudo JAVA_HOME=/usr/java/default sh build.sh

6. JIRA が接続するデータベースの JDBC ドライバを Tomcat の lib ディレクトリに入れます。ここでは、データベースに PostgreSQL を使っており、rpm 版の PostgreSQL JDBC ドライバを入れていますので、その jar ファイルに向けてシンボリックリンクを張ります。

$ sudo ln -s /usr/share/java/postgresql-jdbc.jar /usr/share/java/jira/postgresql-jdbc.jar

7. JIRA の稼働に必要な Tomcat 用のライブラリを、Tomcat の lib ディレクトリに入れます。必要なライブラリは、JIRA のドキュメントにリンクが記載されています。参照:Installing JIRA on Tomcat 6.0 - JIRA 4.4 - Atlassian Documentation

$ cd /usr/share/java/jira
$ sudo unzip jira-jars-tomcat-distribution-4.4-tomcat-6x.zip

8. JIRA のデプロイ用コンテキスト xml を書きます。JIRA をビルドしたら、/opt/jira/atlassian-jira-4.4.4-war/dist-tomcat/tomcat-6/ ディレクトリ配下に jira.xml というデフォルトのデプロイ用コンテキスト xml がありますので、これを参考に設定します。

$ sudo cp /opt/jira/atlassian-jira-4.4.4-war/dist-tomcat/tomcat-6/jira.xml /etc/jira/Catalina/localhost/
$ sudo vim /etc/jira/Catalina/localhost/jira.xml

9. Tomcat の server.xml を適切に変更します。デフォルトのままでもいいですが、コネクタのポート番号を変えたいときとか、結構設定変更する部分はあるかと思います。

$ sudo vim /etc/jira/server.xml

10. Tomcat環境変数を適切に変更します。

$ sudo vim /etc/sysconfig/jira

CATALINA_BASE と CATALINA_TMPDIR と CATALINA_PID の設定は忘れずに行いましょう。あと、JAVA_OPTS を適切に設定する必要があります。推奨値は JIRA のドキュメントにも記載されています。

CATALINA_BASE="/usr/share/jira"
CATALINA_TMPDIR="/var/cache/jira/temp"
CATALINA_PID="/var/run/jira.pid"
JAVA_OPTS="-Xms128m -Xmx512m -XX:MaxPermSize=256m -Dorg.apache.jasper.runtime.BodyContentImpl.LIMIT_BUFFER=true -Dmail.mime.decodeparameters=true"

11. 起動します。これでインストール作業が終わりです!

$ sudo /sbin/service jira start