Documentation for JIRA 5.2. Documentation for other versions of JIRA is available too.

The content on this page relates to platforms which are not supported by JIRA. Consequently, Atlassian can not guarantee providing any support for it. Please be aware that this material is provided for your information only and using it is done so at your own risk.

This page describes how to integrate Apache HTTP Server (also referred to as httpd) with JIRA, utilising mod_proxy so that Apache operates as a reverse-proxy over HTTP. If HTTPS configuration is required, please see our Integrating JIRA with Apache using SSL documentation. Configuring Apache allows for running JIRA on non-standard HTTP port (such as 8080) and users will be able to access JIRA over standard HTTP as their traffic will be routed through the proxy.

JIRA への以下のどのアクセス方式も、Apache の設定により可能です:

This documentation will cover a straightforward implementation of mod_proxy using the above three configurations. If a more complication solution is required, refer to the Apache HTTP Server Version Documentation, consult with the Apache SME within your organisation and if need be raise a question on Atlassian Answers or look at getting in touch with one of our Atlassian Experts.

  1. JIRA を、外部からアクセスできない (ルーター/ファイアウォールがアクセスをポート 8080 に転送しない) LAN 内のサーバのポート 8080 で実行します。
  2. Apache は外部から HTTP (ポート 80) アクセスが可能な別のサーバー (または JIRA と同一のサーバー) 上で実行されている。
  3. Apache is then accessed over HTTP on the appropriate URL (VirtualHost), routing the traffic to and from the JIRA server.


On this page:

ステップ 1: Tomcat を設定する

This step is only required if JIRA will be accessed on a context path, for example http://atlassian.com/jira. If this is not required, this step can be skipped.

  1. Jira を停止します。
  2. Edit Tomcat's server.xml to include the required JIRA context path. The below example uses path="jira" - this means JIRA is accessible on http://jiraserver:8080/jira given the default JIRA port is used.

            <Engine defaultHost="localhost" name="Catalina">
                <Host appBase="webapps" autoDeploy="true" name="localhost" unpackWARs="true">
                    <Context docBase="${catalina.home}/atlassian-jira" path="/jira" reloadable="false" useHttpOnly="true">
    
                        <!--
                         ====================================================================================
                         Note, you no longer configure your database driver or connection parameters here.
                         These are configured through the UI during application setup.
                         ====================================================================================
                        -->
                        <Resource auth="Container" factory="org.objectweb.jotm.UserTransactionFactory" jotm.timeout="60" name="UserTransaction" type="javax.transaction.UserTransaction"/>
                        <Manager pathname=""/>
                    </Context>
                </Host>

    (info) Ensure the path value is set with a prepending forward slash (/) . For example, path="/jira" rather than path="jira".

  3. Jira を起動します。
  4. Test that JIRA is accessible on the new context path, for example http://jiraserver:8080/jira.

ステップ 2: Apache HTTP サーバを設定する

Apache のインストールおよび DNS の構成に関しては、本ドキュメントでは扱っていません。また、Apache 2.2 がインストール済みであり、DNS エントリーが JIRA ドメイン向けに設定されているものと想定しています。Apache の設定は利用する OS によって異なるため、現在のドキュメントは一部のディストリビューションの設定のみとなっています。

2.1 プロキシモジュールを有効化する

Debian/Ubuntu
  1. 以下の方法で、モジュールを有効化します:

    $ sudo a2enmod proxy_http
    Considering dependency proxy for proxy_http:
    Enabling module proxy.
    Enabling module proxy_http.
    To activate the new configuration, you need to run:
      service apache2 restart
  2. Apache を再起動します。
Windows/その他の OS
  1. httpd.conf ファイルを編集し、以下の行を加えます:

    LoadModule proxy_module modules/mod_proxy.so 
    LoadModule proxy_connect_module modules/mod_proxy_connect.so 
    LoadModule proxy_http_module modules/mod_proxy_http.so
  2. Apache を再起動します。

2.2 これらのモジュールを使用するように、Apacheを設定します

Debian/Ubuntu
  1. root ユーザーに切り替えます。
  2. Backup the existing site or create a new one. Creating a new site is not covered within this documentation (copying the default should be sufficient).
  3. Modify the existing site within $APACHE_INSTALL/sites-available, for example default.
  4. Add the following inside the VirtualHost, replacing jiraserver with the hostname of the JIRA server and also modifying the port if required.

    自らのドメインまたはサブドメインへアクセスする場合:
    # JIRA Proxy Configuration:
    <Proxy *>
     Order deny,allow
     Allow from all
    </Proxy>
    
    ProxyRequests Off
    ProxyPreserveHost On
    ProxyPass / http://jiraserver:8080/
    ProxyPassReverse / http://jiraserver:8080/

    (info) URLの前の/(スラッシュ)を忘れると、プロキシーエラーが発生しますので必ず付け加えてください。

    コンテキストパスを利用する場合:
    # JIRA Proxy Configuration:
    <Proxy *>
     Order deny,allow
     Allow from all
    </Proxy>
    
    ProxyRequests Off
    ProxyPreserveHost On
    ProxyPass /jira http://jiraserver:8080/jira
    ProxyPassReverse /jira http://jiraserver:8080/jira

    (info) The path used must be identical to the Tomcat context path. For example, forwarding /jira to /jira520 cannot be done without considerable rewrite rules that are not always reliable.

  5. (任意): 次のようにサイトを有効化します

    # a2ensite jira
    Enabling site jira.
    To activate the new configuration, you need to run:
    service apache2 reload

    (info) これは、デフォルトを利用するのではなく新たなサイトが作成された場合においてのみ必要となります。

  6. Apache の設定をリロードします。
  7. Test by accessing JIRA through Apache, for example http://jira.com or http://atlassian.com/jira.
Windows/その他の OS
  1. httpd.conf ファイルを見つけて編集します。
  2. Add the following inside the VirtualHost, replacing jiraserver with the hostname of the JIRA server and also modifying the port if required.

    自らのドメインまたはサブドメインへアクセスする場合:

    # JIRA Proxy Configuration:
    <Proxy *>
     Order deny,allow
     Allow from all
    </Proxy>
    
    ProxyRequests Off
    ProxyPreserveHost On
    ProxyPass / http://jiraserver:8080/
    ProxyPassReverse / http://jiraserver:8080/

    (info) URLの前の/(スラッシュ)を忘れると、プロキシーエラーが発生しますので必ず付け加えてください。

    コンテキストパスを利用する場合:

    # JIRA Proxy Configuration:
    <Proxy *>
     Order deny,allow
     Allow from all
    </Proxy>
    
    ProxyRequests Off
    ProxyPreserveHost On
    ProxyPass /jira http://jiraserver:8080/jira
    ProxyPassReverse /jira http://jiraserver:8080/jira

    (info) The path used must be identical to the Tomcat context path. For example, forwarding /jira to /jira520 cannot be done without considerable rewrite rules that are not always reliable.

  3. Apache を再起動します。
  4. Test by accessing JIRA through Apache, for example http://jira.com or http://atlassian.com/jira.

ステップ 3: JIRA を設定する

  1. Configuring JIRA Options にあるように、gzip 圧縮を利用するOFF に設定します。GZIP 圧縮では、リバースプロキシを利用するとパフォーマンス上の課題が生じる事が分かっており、プロキシがトラフィックを圧縮している場合は特にこれが発生します。
  2. Set the Base URL to be the FQDN that JIRA will be accessed on, for example http://jira.atlassian.com. This is also located in Configuring JIRA Options.
    (warning) JIRA can only be configured to respond to a single URL and the Base URL (as in Configuring JIRA Options) must match the URL end-users are accessing. Misconfiguration of this may cause significant problems within JIRA such as the Activity Stream and Dashboard Gadgets failing to function correctly.
  3. Test by accessing JIRA on the FQDN (e.g.: http://jira.atlassian.com), ensuring that JIRA is accessible and all dashboard gadgets correctly display.

トラブルシューティング

  • Hijacked Sessions: Some users have reported problems with user sessions being hijacked when the mod_cache module is enabled. If these problems are encountered, try disabling the mod_cache module. 
    (info) This module is enabled by default in some Apache HTTP Server version 2 distributions.
  • SELinux を使用する Linux ディストリビューションで mod_proxy (および mod_jk) を有効化した際の Permission Denied エラー : mod_proxy (および mod_jk) を動作させようとすると "permission denied" エラーが発生することが多くのユーザーから報告されています。これは SELinux (/etc/selinux/config) を無効化することで解決できます。
  • Running Mac OS X: Disable webperfcache, which proxies port 80 by default. A user reported this as the likely cause of JIRA session problems, in the form of users' identities becoming mixed up, as below.
    (warning) Additionally we do not recommend using Max OS X as it is not supported, as in our Supported Platforms.

The OSX Servers enable webperfcache by default for Virtual Hosts, which for static content would be great, but for dynamic sites (which ALL of ours are) it is Evil and causes many issues. 
Of note recently was the jira session issue. Also see :-
http://developer.apple.com/documentation/Darwin/Reference/ManPages/man8/webperfcache.8.html
Unfortunately even if you disable webperfcache for a site, if there is a single site enabled then all sites will still proxy through webperfcache with resulting session problems.

  • 過剰なリダイレクト : Tomcat と Apache のどちらかでリダイレクトが行われれば十分である場合において両方でリダイレクトが行われてしまう問題です。これに対しては、Tomcat でのリダイレクトを無効化し、(Running JIRA over SSL or HTTPS の説明に従って設定の変更を元に戻します。) その後リダイレクトが Apache のみで行われることを確認します。
  • その他の一般的なトラブル :
    1. ブラウザーのキャッシュを削除してからもう一度試みます。
    2. Ensure that JIRA works as expected when running directly from Tomcat and bypassing Apache. For example, accessing http://jiraserver:8080 instead of http://jira.atlassian.com.
    3. Increase the LogLevel for Apache to debug and restart it.
    4. Attempt to access JIRA and check the Apache Log Files for any errors.
    5. Raise a question on Atlassian Answers for assistance.

参考情報