Atlassian 製品を IIS と統合して利用する方法

【 この記事は、3931人に読まれています】


はじめに


Windows 環境に JIRA や Confluence, Stash, Bamboo などをセットアップした場合や、開発や外部向けの Web サーバーとして IIS を使用している場合、Atlassian 製品を http://hogelassian.jp/jira のように、指定したい場合があると思います。

通常だと、各製品ごとに、http://hogelassian.jp:8080 を JIRA に、http://hogelassian.jp:8090 を Confluence にとポートを切る形となります。もちろん、Apache を Web サーバーとして利用する方法もありますが、今回は、Windows なあなた向けに。

要するに Tomcat と IIS を連携させる方法ということです。

 

設定についてのドキュメント


設定についてのドキュメントは、オンラインで公開されています。

Integrating JIRA with IIS


こちらにしたがっていただければ、基本的に実現いただくことができます。ただ、英語ドキュメントであること、英語環境を前提に記載されていること、そして、すこし情報が古いことから今回は、日本語環境で構築した際の情報を共有したいと思います。

また、ドキュメントでも記載されているように、

スクリーンショット 2014-11-26 16.55.03
ということで、この設定についてはサポート対象外となります。各自のリスクでの運用となる点をご注意ください。

また、ドキュメントは、上記を正とし、このブログ投稿はあくまで参考としてみてください。

では、ここからは設定をしていきましょう。

 

JIRA の設定


JIRA での設定については、基本的に、JIRA をインストールしたフォルダ (以下、C:\Atlassian\JIRA とします) の下の conf フォルダにある server.xml を変更します。

C:\Atlassian\JIRA\conf\server.xml


スクリーンショット 2014-11-26 17.00.41
実施する設定は、以下の3点です。

  • コンテキスト パスの変更
  • プロキシ リクエストの追記
  • AJP/1.3 プロトコルの追記

 

コンテキスト パスの変更


 

既定では、”ルート” になっているコンテキスト パスを任意に変更します。今回は、JIRA なら、/jira でアクセスできるようにします。

変更は、以下のようになります。

[変更前]
<Context docBase=”${catalina.home}/atlassian-jira” path=”” reloadable=”false” useHttpOnly=”true”>

 

[変更後]
<Context docBase=”${catalina.home}/atlassian-jira” path=”/jira” reloadable=”false” useHttpOnly=”true”>


変更はこれだけですが、後で、JIRA のベース URL もこれに合わせて設定変更をしますので、忘れないように注意してください。

 

プロキシ リクエストの追記


http/1.1 プロトコルに、プロキシの設定を追記します。ちなみに、JIRA では既定で、8080 ポートを使うようになっているあの設定項目です。

[変更前]
<Connector acceptCount=”100″ connectionTimeout=”20000″ disableUploadTimeout=”true” enableLookups=”false” maxHttpHeaderSize=”8192″ maxThreads=”150″ minSpareThreads=”25″ port=”8080″ protocol=”HTTP/1.1″ redirectPort=”8443″ useBodyEncodingForURI=”true”  />

 

[変更後]
<Connector acceptCount=”100″ connectionTimeout=”20000″ disableUploadTimeout=”true” enableLookups=”false” maxHttpHeaderSize=”8192″ maxThreads=”150″ minSpareThreads=”25″ port=”8080″ protocol=”HTTP/1.1″ redirectPort=”8443″ useBodyEncodingForURI=”true” proxyName=”hogelassian.com” proxyPort=”80″ />


proxyName は、ドメイン名などを指定します。 http://hogelassian.com/jira の hogelassian.com にあたる部分ですね。ポートは、任意のポートです。普段使っている IIS の Web サーバーで運用ということなら、この例のように 80 ポートを指定します。

 

AJP/1.3 プロトコルの追記


最後に、Tomcat と Apache がお話しする設定をまるまる追記します。

[追記]
<Connector port=”8009” redirectPort=”8443″ enableLookups=”false” protocol=”AJP/1.3″ URIEncoding=”UTF-8″/>


内部的に使われますので、あまり気にする必要はありませんが、JIRA だけでなく、Confluence や Stash, Bamboo なども同様に設定したい場合は、ポートが被らないように注意してください。たとえば、JIRA は、8009, Confluence は、8010, Stash は、8011, Bamboo は 8012 などとするとよいでしょう。

server.xml  の設定は、以上になります。

 

IIS の設定


次に、IIS から JIRA へフォワードする設定を行います。こちらはちょっと複雑です。ご注意くださいませ。

 

拡張機能の確認と追加


IIS では、「ISAPI フィルター」を使いますので、IIS のロール サービスとして追加していない場合は追加します。

スクリーンショット 2014-11-27 9.40.23
 

必要ファイルの入手


次に、入手したいものがいくつかります。


入手したこれらのファイルは、以下のようなフォルダに格納していきます。オンラインドキュメントにあるとおりにすると、入手した設定ファイルの変更が最小限ですみます。

  1. フォルダを作る
    C:\tomcat_iis_connector フォルダを作成する
  2. ISAPI Redirect DLL をこのフォルダに格納する
    DLL は ZIP から解凍して格納してくださいね (念のため記載)
  3. isapi_redirect.properties ファイルもこのフォルダに格納する
  4. C:\tomcat_iis_connector\conf と C:\tomcat_iis_connector/logs フォルダを作成する
  5. conf に、uriworkemap.properties と workers.properties.minimal ファイルを格納する

スクリーンショット 2014-11-27 9.56.58
 

スクリーンショット 2014-11-27 9.58.23
 

設定の変更


isapi_redirect.properties については、フォルダを既定のままにしている場合は、変更不要です。C:\tomcat_iis_connector 以外にしている場合は、この箇所をすべて変更してください。

uriworemap.properties については、JIRA については、設定されていますので /jira で良ければ設定変更は不要です。/jira 以外の場合や、Confluence などの設定もしたい場合は、必要に応じて変更、追記してください。私の環境では以下に設定変更しています。

 

worker.list=worker1,worker2,worker3,worker4

/jira/*=worker1
/confluence/*=worker2
/stash/*=worker3
/bamboo/*=worker4


次に、workers.properties.minimal の変更と追記です。こちらは、先に server.xml で追記した内容に依存しますので、ご注意ください。

私の環境では以下に設定変更しています。

worker.worker1.type=ajp13
worker.worker1.host=localhost
worker.worker1.port=8009

 

worker.worker2.type=ajp13
worker.worker2.host=localhost
worker.worker2.port=8010

 

worker.worker3.type=ajp13
worker.worker3.host=localhost
worker.worker3.port=8011

 

worker.worker4.type=ajp13
worker.worker4.host=localhost
worker.worker4.port=8012


AJP/1.3 のポート設定を uriworemap.properties で設定した worker とマップして追記する必要があります。私の環境では、JIRA の AJP/1.3 ポートを 8009 としていて、/jira は、worker1 と定義しているので、worker.worker1.port=8009 となるわけです。

 

IIS での設定


まず、「インターネット インフォメーション サーボス (IIS) マネージャー」を起動します。コントロールパネルから管理ツールを開くとあります。

 

ISAPI フィルターの追加


IIS サーバー名(全体設定したい場合)または、Default Web Site (サイト別に設定したい場合(そのサイト名)) をクリックして、「ISAPI フィルター」をクリックします。

スクリーンショット 2014-11-27 10.12.26
ISAPI フィルターを追加します。

フィルター名は、tomcat、実行可能ファイルには、isapi_redirect.dll を設定します。

image
 

ISAPI 制限への追加


IIS のサーバー名をクリックして、「ISAPI および CGI の制限」をクリックします。

image
追加で、パスとして、isapi_redirect.dll を指定します。「拡張パスの実行を許可する」にチェックを入れます。


Jakarta 仮想ディレクトリを作成


次に、ISAPI リダイレクト用の仮想ディレクトリを Web サイトに作成します。Default Web Site ならそのは以下に作成する形になります。

image
エイリアス名は、jakarta、物理パスには、isapiリダイレクト用に作成したフォルダを指定します。既定だと、C:\tomcat_iis_connector です。

仮想ディレクトリを作成できたら、クリックして、「ハンドラー マッピング」を開きます。

操作ペインにある「機能のアクセス許可の編集…」をクリックして、スクリプトの「実行」のチェックを ON にします。

image
 

JIRA の仮想ディレクトリを作成


Default Web Site 以下に JIRA 用の仮想ディレクトリを作成します。こちらは、http://hogelassian.com/jira の /jira にあたる箇所です。それに応じて仮想ディレクトリ名を変えてください。

物理パスは、どこでもいいです。中身も空でOKです。

同様に、 Confluence, Stash, Bamboo なども仮想ディレクトリを作成します。

 

IIS の再起動


IIS を再起動すると設定が反映されます。

 

JIRA の再起動


JIRA も同様に再起動します。

 

JIRA の設定変更


JIRA にシステム管理者権限でログインします。このときの URL はすでに http://hogelassian.com/jira のようになっていますので、気を付けてください。従来の http://hogelassian.com:8080 ではないです。

 

ベース URL の変更


http://hogelassian.com:8080 のようになっているベース URL を http://hogelassian.com/jira のように変更します。

image
 

gzip 圧縮の使用をオフに変更


gzip 圧縮をオンにしている場合は、オフにします。パフォーマンスに影響があるという報告があるそうです。

image
 

これで、設定は、終わりです。

 

Confluence, Stash, Bamboo での設定の注意点


最後に、JIRA と同様に Confluence, Stash, Bamboo でもこの設定は可能です。AJP/1.3 ポートなど上述していますので、そのあたりの注意点をみて設定してください。

server.xml についてですが、製品によって、既定で設定されているものや、コメントアウトしてあるもの、さらから追記しなければならないものが若干異なりますので、注意してください。

ただし、注意点はそれくらいです。あとは、ベース URL の設定変更を忘れないでおいてくださいというあたりですね。

【 この記事は、3931人に読まれています】

One thought on “Atlassian 製品を IIS と統合して利用する方法

コメントを残す