JIRA と Apache の統合
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 の設定により可能です:
- Directly on its own domain: http://jira.com
- As a subdomain of another domain: http://jira.atlassian.com
- It can also be accessed on a context path on either a domain or subdomain: http://atlassian.com/jira
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.
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.
- Jira を停止します。
Edit Tomcat's
server.xmlto include the required JIRA context path. The below example usespath="jira"- this means JIRA is accessible onhttp://jiraserver:8080/jiragiven 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>Ensure the
pathvalue is set with a prepending forward slash (/) . For example,path="/jira"rather thanpath="jira".- Jira を起動します。
- 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
Windows/その他の OS
2.2 これらのモジュールを使用するように、Apacheを設定します
Debian/Ubuntu
Windows/その他の OS
ステップ 3: JIRA を設定する
- Set Use gzip compression to OFF as in Configuring JIRA Options. GZIP compression is known to cause performance issues using a reverse-proxy, especially if the proxy is also compressing the traffic.
- 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.
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.
- Test by accessing JIRA on the FQDN (e.g.: http://jira.atlassian.com), ensuring that JIRA is accessible and all dashboard gadgets correctly display.
トラブルシューティング
- セッションのハイジャック: mod_cache モジュールが有効になっているときにユーザー セッションがハイジャックされることがある問題が報告されています。この問題が発生した場合、
mod_cacheモジュールを無効にしてみてください。一部の Apache HTTP Server バージョン 2 ディストリビューションではこのモジュールが既定で有効になっています。
- 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.
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.
- Too many redirects: Both Tomcat & Apache are redirecting, when only one should be. Disable redirection in Tomcat (revert any changes as in Running JIRA over SSL or HTTPS) and check that there is only one redirection in Apache.
- その他の一般的なトラブル :
- ブラウザーのキャッシュを削除してからもう一度試みます。
- Ensure that JIRA works as expected when running directly from Tomcat and bypassing Apache. For example, accessing
http://jiraserver:8080instead of http://jira.atlassian.com. - より多くの Apache デバッグ情報を得られるようにログレベルを変更して再起動します。
- JIRA にアクセスし、エラーに対応する Apache ログファイル情報を確認します。
- アトラシアン Answers に質問を出して助言を求めます。
参考情報
- SSL を利用して JIRA と Apache を統合する方法
- AJP プロトコルを利用して Apache リバースプロキシを構成する
- For more advanced
mod_webappconfigurations (eg. SSL), see this mod_proxy guide. - Apache 仮想ホストドキュメント