Page tree

Contents

ご注意ください!

  • このページで公開されているドキュメントの内容は、弊社内で十分な検証が行われていません。
  • ドキュメントの内容について、弊社ではいかなる保証もいたしません。
  • ドキュメント利用することによって発生した損害に対して、弊社は状況を問わず一切の責任を負いません。

はじめに

このドキュメントでは、LinuxにインストールしたCrowdを使って、ConfluenceとJIRAをシングルサインオンで利用できるようにする手順を紹介します。
シングルサインオンを利用できるようにすると、一度のログインで複数のアプリケーションを使用できるようになります。アプリケーションリンクでConfluenceとJIRAを連携できるようにしたときなど、アプリケーション間を移動したときにログイン情報を入力する必要がなくなるので便利です。

使用する環境は以下を想定しています。

サーバー

オペレーティングシステムCentOS 6.3
HTTPサーバーApache HTTP Server 2.2.x
サーブレットコンテナ各アプリに同梱のApache Tomcatを使用
データベースPostgreSQL 8.4.x
Java

Java SE Development Kit 6 Update 35
(Java SE Development Kit 7 Update 7) 

Crowd 2.5.x (サポートプラットフォーム)

プログラムディレクトリ

/opt/atlassian/atlassian-crowd-2.5.x

データディレクトリ

/var/atlassian/application-data/crowd

コンテキストルート/crowd

サービス稼働ユーザー

crowd

DB

crowd_db

起動方法

サービスとして登録し、自動起動する

Confluence 4.3.x (サポートプラットフォーム)

プログラムディレクトリ

/opt/atlassian/atlassian-confluence-4.3.x

データディレクトリ

/var/atlassian/application-data/confluence

コンテキストルート/wiki

サービス稼働ユーザー

confluence

DB

conf_db

起動方法

サービスとして登録し、自動起動する

JIRA 5.1.x (サポートプラットフォーム)

プログラムディレクトリ

/opt/atlassian/atlassian-jira-5.1.x-standalone

データディレクトリ

/var/atlassian/application-data/jira

コンテキストルート/jira

サービス稼働ユーザー

jira

DB

jira_db

起動方法

サービスとして登録し、自動起動する

このドキュメントでは、最初にHTTPサーバーなど共通で使用するソフトウェアをインストールします。その後Crowdをインストールし、続いてConfluenceとJIRAをインストールします(どちらが先でも構いません)。最後に、アプリケーションの連携とシングルサインオンの設定を行います。
ご使用のコンピュータの環境により、ここで紹介している手順通りには作業が進まないことがあるかもしれません。適宜関連ドキュメントなどを参照しながらインストールを行なってください。

1、共通ソフトウェアのインストール

1-(1) Apache HTTP Server(httpd)のインストール

 最初にWEBサーバーのApache HTTP Server(httpd)をインストールします。オペレーティングシステムをインストールしたときのオプションによっては、最初から利用できるようになっているかもしれません。

コマンドプロンプトから「yum install httpd」を実行します。

# yum install httpd
Loaded plugins: fastestmirror, security
Loading mirror speeds from cached hostfile
 * base: ftp.iij.ad.jp
 * extras: ftp.iij.ad.jp
 * updates: ftp.iij.ad.jp
Setting up Install Process
Resolving Dependencies
--> Running transaction check
---> Package httpd.x86_64 0:2.2.15-15.el6.centos.1 will be installed
--> Processing Dependency: httpd-tools = 2.2.15-15.el6.centos.1 for package: httpd-2.2.15-15.el6.centos.1.x86_64
--> Processing Dependency: apr-util-ldap for package: httpd-2.2.15-15.el6.centos.1.x86_64
--> Processing Dependency: libaprutil-1.so.0()(64bit) for package: httpd-2.2.15-15.el6.centos.1.x86_64
--> Processing Dependency: libapr-1.so.0()(64bit) for package: httpd-2.2.15-15.el6.centos.1.x86_64
--> Running transaction check
---> Package apr.x86_64 0:1.3.9-5.el6_2 will be installed
---> Package apr-util.x86_64 0:1.3.9-3.el6_0.1 will be installed
---> Package apr-util-ldap.x86_64 0:1.3.9-3.el6_0.1 will be installed
---> Package httpd-tools.x86_64 0:2.2.15-15.el6.centos.1 will be installed
--> Finished Dependency Resolution
Dependencies Resolved
====================================================================================================
 Package                 Arch             Version                           Repository         Size
====================================================================================================
Installing:
 httpd                   x86_64           2.2.15-15.el6.centos.1            base              813 k
Installing for dependencies:
 apr                     x86_64           1.3.9-5.el6_2                     updates           123 k
 apr-util                x86_64           1.3.9-3.el6_0.1                   base               87 k
 apr-util-ldap           x86_64           1.3.9-3.el6_0.1                   base               15 k
 httpd-tools             x86_64           2.2.15-15.el6.centos.1            base               70 k
Transaction Summary
====================================================================================================
Install       5 Package(s)
Total download size: 1.1 M
Installed size: 3.5 M
Is this ok [y/N]: y    ←"y"を入力して継続する。
Downloading Packages:
(1/5): apr-1.3.9-5.el6_2.x86_64.rpm                                          | 123 kB     00:00
(2/5): apr-util-1.3.9-3.el6_0.1.x86_64.rpm                                   |  87 kB     00:00
(3/5): apr-util-ldap-1.3.9-3.el6_0.1.x86_64.rpm                              |  15 kB     00:00
(4/5): httpd-2.2.15-15.el6.centos.1.x86_64.rpm                               | 813 kB     00:00
(5/5): httpd-tools-2.2.15-15.el6.centos.1.x86_64.rpm                         |  70 kB     00:00
----------------------------------------------------------------------------------------------------
Total                                                               1.9 MB/s | 1.1 MB     00:00
Running rpm_check_debug
Running Transaction Test
Transaction Test Succeeded
Running Transaction
  Installing : apr-1.3.9-5.el6_2.x86_64                                                         1/5
  Installing : apr-util-1.3.9-3.el6_0.1.x86_64                                                  2/5
  Installing : apr-util-ldap-1.3.9-3.el6_0.1.x86_64                                             3/5
  Installing : httpd-tools-2.2.15-15.el6.centos.1.x86_64                                        4/5
  Installing : httpd-2.2.15-15.el6.centos.1.x86_64                                              5/5
  Verifying  : apr-1.3.9-5.el6_2.x86_64                                                         1/5
  Verifying  : httpd-2.2.15-15.el6.centos.1.x86_64                                              2/5
  Verifying  : apr-util-ldap-1.3.9-3.el6_0.1.x86_64                                             3/5
  Verifying  : apr-util-1.3.9-3.el6_0.1.x86_64                                                  4/5
  Verifying  : httpd-tools-2.2.15-15.el6.centos.1.x86_64                                        5/5
Installed:
  httpd.x86_64 0:2.2.15-15.el6.centos.1
Dependency Installed:
  apr.x86_64 0:1.3.9-5.el6_2                     apr-util.x86_64 0:1.3.9-3.el6_0.1
  apr-util-ldap.x86_64 0:1.3.9-3.el6_0.1         httpd-tools.x86_64 0:2.2.15-15.el6.centos.1
Complete!

yumコマンドを利用できないときは

以下のパッケージをrpmコマンドでインストールしてください。

  • apr-1.3.9-5.el6_2.x86_64.rpm
  • apr-util-1.3.9-3.el6_0.1.x86_64.rpm
  • apr-util-ldap-1.3.9-3.el6_0.1.x86_64.rpm
  • httpd-2.2.15-15.el6.centos.1.x86_64.rpm
  • httpd-tools-2.2.15-15.el6.centos.1.x86_64.rpm

インストールが終わったら、サービスとして起動するための設定を行います。

# chkconfig --list httpd
httpd           0:off   1:off   2:off   3:off   4:off   5:off   6:off
# chkconfig --level 35 httpd on
# chkconfig --list httpd
httpd           0:off   1:off   2:off   3:on    4:off   5:on    6:off

サービスとして登録したWEBサーバーを起動するには「service httpd start」と入力します。

# service httpd start
httpd を起動中: httpd: apr_sockaddr_info_get() failed for CentOS64.VMware
httpd: Could not reliably determine the server's fully qualified domain name, using 127.0.0.1 for ServerName
                                                           [  OK  ]

WEBサーバーを停止するときは「server httpd stop」です。

# service httpd stop
httpd を停止中:                                            [  OK  ]

1-(2) PostgreSQLのインストール

データベースサーバーのPostgreSQLをインストールします。各アプリは評価用にデータベースを内蔵していますが、実運用で使用するにはパフォーマンス面などで問題があります。このドキュメントでは、外部データベースとしてPostgreSQLを使用します。

サーバーモジュールも一緒にインストールするので、コマンドプロンプトから「yum install postgresql postgresql-server」と入力します。

# yum install postgresql postgresql-server
Loaded plugins: fastestmirror, security
Loading mirror speeds from cached hostfile
 * base: ftp.iij.ad.jp
 * extras: ftp.iij.ad.jp
 * updates: ftp.iij.ad.jp
Setting up Install Process
Resolving Dependencies
--> Running transaction check
---> Package postgresql.x86_64 0:8.4.13-1.el6_3 will be installed
--> Processing Dependency: postgresql-libs(x86-64) = 8.4.13-1.el6_3 for package: postgresql-8.4.13-1.el6_3.x86_64
--> Processing Dependency: libpq.so.5()(64bit) for package: postgresql-8.4.13-1.el6_3.x86_64
---> Package postgresql-server.x86_64 0:8.4.13-1.el6_3 will be installed
--> Running transaction check
---> Package postgresql-libs.x86_64 0:8.4.13-1.el6_3 will be installed
--> Finished Dependency Resolution
Dependencies Resolved
====================================================================================================
 Package                      Arch              Version                    Repository          Size
====================================================================================================
Installing:
 postgresql                   x86_64            8.4.13-1.el6_3             updates            2.8 M
 postgresql-server            x86_64            8.4.13-1.el6_3             updates            3.4 M
Installing for dependencies:
 postgresql-libs              x86_64            8.4.13-1.el6_3             updates            200 k
Transaction Summary
====================================================================================================
Install       3 Package(s)
Total download size: 6.4 M
Installed size: 29 M
Is this ok [y/N]: y    ←"y"を入力して継続する。
Downloading Packages:
(1/3): postgresql-8.4.13-1.el6_3.x86_64.rpm                                  | 2.8 MB     00:00
(2/3): postgresql-libs-8.4.13-1.el6_3.x86_64.rpm                             | 200 kB     00:00
(3/3): postgresql-server-8.4.13-1.el6_3.x86_64.rpm                           | 3.4 MB     00:00
----------------------------------------------------------------------------------------------------
Total                                                               5.5 MB/s | 6.4 MB     00:01
Running rpm_check_debug
Running Transaction Test
Transaction Test Succeeded
Running Transaction
  Installing : postgresql-libs-8.4.13-1.el6_3.x86_64                                            1/3
  Installing : postgresql-8.4.13-1.el6_3.x86_64                                                 2/3
  Installing : postgresql-server-8.4.13-1.el6_3.x86_64                                          3/3
  Verifying  : postgresql-server-8.4.13-1.el6_3.x86_64                                          1/3
  Verifying  : postgresql-libs-8.4.13-1.el6_3.x86_64                                            2/3
  Verifying  : postgresql-8.4.13-1.el6_3.x86_64                                                 3/3
Installed:
  postgresql.x86_64 0:8.4.13-1.el6_3            postgresql-server.x86_64 0:8.4.13-1.el6_3
Dependency Installed:
  postgresql-libs.x86_64 0:8.4.13-1.el6_3
Complete!

yumコマンドを利用できないときは

以下のパッケージをrpmコマンドでインストールしてください。

  • postgresql-8.4.13-1.el6_3.x86_64.rpm
  • postgresql-libs-8.4.13-1.el6_3.x86_64.rpm
  • postgresql-server-8.4.13-1.el6_3.x86_64.rpm

ソースコードからビルドするときは

PostgreSQLのソースコード本体に加えて、以下のライブラリが必要になることがあります。別途ダウンロードしておき、rpmコマンドでインストールしてください。

  • cloog-ppl-0.15.7-1.2.el6.x86_64.rpm
  • cpp-4.4.6-4.el6.x86_64.rpm
  • gcc-4.4.6-4.el6.x86_64.rpm
  • glibc-devel-2.12-1.80.el6.x86_64.rpm
  • glibc-headers-2.12-1.80.el6.x86_64.rpm
  • kernel-headers-2.6.32-279.el6.x86_64.rpm
  • mpfr-2.4.1-6.el6.x86_64.rpm
  • ncurses-devel-5.7-3.20090208.el6.x86_64.rpm
  • ppl-0.10.2-11.el6.x86_64.rpm
  • readline-devel-6.0-4.el6.x86_64.rpm
  • zlib-devel-1.2.3-27.el6.x86_64.rpm

 

1-(3) データベース領域の初期化

初期化で使うコマンドのファイルを修正します。パフォーマンス悪化防止のため、initdbコマンドのオプションとして「--no-locale -E UTF-8」を追加します。
/etc/rc.d/init.d/postgresql の以下の部分を変更してください。

/etc/rc.d/init.d/postgresql
(変更前)
        # Initialize the database
        $SU -l postgres -c "$PGENGINE/initdb --pgdata='$PGDATA' --auth='ident'" >> "$PGLOG" 2>&1 < /dev/null
 
(変更後)
        # Initialize the database
        $SU -l postgres -c "$PGENGINE/initdb --pgdata='$PGDATA' --no-locale -E UTF-8 --auth='ident'" >> "$PGLOG" 2>&1 < /dev/null

service postgresql initdb」コマンドを使用してデータベース領域を初期化します。

# service postgresql initdb
Initializing database: [  OK  ]

1-(4) データベース設定ファイルの修正

パフォーマンス調整

/var/lib/pgsql/data/postgresql.conf 内の「shared_buffers」「work_mem」「wal_buffers」の値を、以下のように編集します。「work_mem」と「wal_buffers」はコメントアウトされていますので、先頭の「#」を削除してコメントを解除してから編集してください。

これらの設定を行うことにより、データベースの使用するメモリ量を最適化してパフォーマンスを向上させます。詳細なメモリチューニングについては、PostgreSQLのドキュメント「サーバの設定」などを参照してください。

# vi /var/lib/pgsql/data/postgresql.conf

shared_buffers = 512MB
work_mem = 4MB
wal_buffers = 64kB

接続クライアント

/var/lib/pgsql/data/postgresql.conf 内の「listen_addresses」を修正し、PostgreSQLがリクエストを受け付けるために使用するIPアドレスを指定します。外部のサーバーのIPアドレスではなく、データベースの入っているサーバーのIPアドレスです。
通常は以下のように修正し、localhost から接続できるようにします。複数のアドレスを監視するようにするには、以下の「(info)ご参考」をご覧ください。
この行もコメントアウトされていますので、 先頭の「#」を削除してコメントを解除してから編集してください。

# vi /var/lib/pgsql/data/postgresql.conf

listen_addresses = 'localhost'

ご参考

外部のサーバーからデータベースを利用するときは、“localhost”の後ろにカンマ区切りで自分のIPアドレスを指定します。このように指定することで、IPアドレスを指定した接続を受け付けることができるようになります。

(例)
listen_addresses = 'localhost,xxx.xxx.xxx.xxx'

/var/lib/pgsql/data/pg_hba.conf 内を以下のように修正して、host接続の認証方式をパスワード認証(md5) にします。

# vi /var/lib/pgsql/data/pg_hba.conf
 
(修正前)
host    all         all        127.0.0.1/32         ident

(修正後)
host    all         all        127.0.0.1/32         md5

ご参考

外部のサーバーからデータベースを利用するときは、以下で修正している行を複製し、外部サーバーのIPアドレスを指定した行を作ります。

(例)
host    all         all         xxx.xxx.xxx.xxx/32    md5 

.設定ファイル修正後、PostgreSQLが起動していたら再起動して設定ファイルの修正を読み込ませます。

起動しているか確認するには「ps - ef | grep pgsql」コマンド、再起動には「service postgresql restart」コマンドを使用します。 

# ps -ef | grep pgsql
postgres 26395     1  0 11:53 ?        00:00:00 /usr/bin/postmaster -p 5432 -D /var/lib/pgsql/data
root     26434  2292  0 11:54 pts/0    00:00:00 grep pgsql
# service postgresql restart
Stopping postgresql service:                               [  OK  ]
Starting postgresql service:                               [  OK  ]

1-(5) データベースの自動起動設定

yumコマンドを使用してPostgreSQLをインストールすると、自動的にサービスとして登録されます。
ただし、自動起動するようには設定されていません。「chkconfig --level 35 postgresql on」コマンドを実行して、自動起動するように設定します。
chkconfig --list postgresql」コマンドは設定内容を確認するためのコマンドです。

# chkconfig --list postgresql
postgresql     	0:off	1:off	2:off	3:off	4:off	5:off	6:off
# chkconfig --level 35 postgresql on
# chkconfig --list postgresql
postgresql     	0:off	1:off	2:off	3:on	4:off	5:on	6:off

PostgreSQLのサービス起動と停止は、以下のコマンドで行います。

(サービスの起動)
# service postgresql start
Starting postgresql service:                               [  OK  ]
 
(サービスの停止)
# service postgresql stop
Stopping postgresql service:                               [  OK  ]
 
(サービスの再起動)
# service postgresql restart
Stopping postgresql service:                               [  OK  ]
Starting postgresql service:                               [  OK  ]

ご参考

yumコマンドを使わずにPostgreSQLをインストールしたときは、手動でサービスとして登録し、自動起動するように設定する必要があります。そのときは ソースコードからビルドするときの手順 を参考にしてください。

 

1-(6) Javaのインストール

JDK7インストール(Linux)」または「JDK6インストール(Linux)」を参照してインストールしてください。

2、Crowdのインストール

AtlassianのID管理ツールであるCrowdからインストールを始めます。Crowdは使用、管理、統合がとても簡単なシングルサインオンとユーザーID管理のためのツールです。
機能の詳細については、こちらのページもご確認ください。

2-(1) ダウンロード

Crowdは、Atlassianのホームページからダウンロードできます。
無料トライアル」からリンクをたどり、「Crowd 2.5.x - Standalone (TAR.GZ Archive)」をダウンロードしておいてください。ダウンロードしたファイルは、適当なディレクトリに保存してください。

2-(2) 解凍と配置

ダウンロードファイルを保存したディレクトリをカレントにします。「tar zxvf atlassian-crowd-2.5.1.tar.gz」コマンドを入力してダウンロードしたファイルを解凍してください。

# tar zxvf atlassian-crowd-2.5.1.tar.gz
atlassian-crowd-2.5.1/apache-tomcat/bin/startup.sh
atlassian-crowd-2.5.1/apache-tomcat/bin/tool-wrapper.sh
atlassian-crowd-2.5.1/apache-tomcat/bin/version.sh
atlassian-crowd-2.5.1/apache-tomcat/bin/setclasspath.sh
atlassian-crowd-2.5.1/apache-tomcat/bin/shutdown.sh
atlassian-crowd-2.5.1/apache-tomcat/bin/catalina.sh
atlassian-crowd-2.5.1/apache-tomcat/bin/digest.sh
atlassian-crowd-2.5.1/apache-tomcat/conf/
atlassian-crowd-2.5.1/apache-tomcat/temp/
atlassian-crowd-2.5.1/apache-tomcat/logs/
(省略)
atlassian-crowd-2.5.1/client/lib/commons-httpclient-3.1.jar
atlassian-crowd-2.5.1/client/lib/ehcache-1.5.0.jar
atlassian-crowd-2.5.1/apache-tomcat/lib/jtds-1.2.4.jar
atlassian-crowd-2.5.1/apache-tomcat/lib/ojdbc6-11.2.0.2.0.jar
atlassian-crowd-2.5.1/apache-tomcat/lib/postgresql-9.0-801.jdbc4.jar
atlassian-crowd-2.5.1/apache-tomcat/lib/activation-1.1.jar
atlassian-crowd-2.5.1/apache-tomcat/lib/mail-1.4.4.jar
atlassian-crowd-2.5.1/apache-tomcat/lib/jta-1.1.jar
atlassian-crowd-2.5.1/apache-tomcat/lib/hsqldb-1.8.0.10.jar
atlassian-crowd-2.5.1/apache-tomcat/tools/ant/lib/xmltask-1.16.jar

続いて、解凍したファイルをプログラムディレクトリに配置します。以下のコマンドを入力し、ディレクトリ作成と移動を行なってください。

# mkdir -p /opt/atlassian
# mv atlassian-crowd-2.5.1 /opt/atlassian/
# ls -l /opt/atlassian/atlassian-crowd-2.5.1/
合計 68
drwxr-xr-x. 11 root root  4096 10月 10 09:36 2012 apache-tomcat
-rw-r--r--.  1 1511 users  252  9月 17 15:05 2012 build.bat
-rw-r--r--.  1 1511 users  853  9月 17 15:05 2012 build.properties
-rwxr--r--.  1 1511 users  204  9月 17 15:05 2012 build.sh
-rw-r--r--.  1 1511 users 4253  9月 17 15:05 2012 build.xml
drwxr-xr-x.  4 root root  4096  9月 17 15:31 2012 client
drwxr-xr-x. 11 root root  4096 10月 10 09:36 2012 crowd-openidclient-webapp
drwxr-xr-x. 10 root root  4096 10月 10 09:36 2012 crowd-openidserver-webapp
drwxr-xr-x.  6 root root  4096 10月 10 09:36 2012 crowd-webapp
drwxr-xr-x.  4 root root  4096 10月 10 09:36 2012 demo-src
drwxr-xr-x. 11 root root  4096 10月 10 09:36 2012 demo-webapp
drwxr-xr-x.  2 root root  4096 10月 10 09:36 2012 etc
-rw-r--r--.  1 1511 users   99  9月 17 15:05 2012 start_crowd.bat
-rwxr--r--.  1 1511 users   70  9月 17 15:05 2012 start_crowd.sh
-rw-r--r--.  1 1511 users   98  9月 17 15:05 2012 stop_crowd.bat
-rwxr--r--.  1 1511 users   71  9月 17 15:05 2012 stop_crowd.sh

最後に、以下のコマンドでCrowdのプログラムディレクトリへのシンボリックリンクを作成します。作成したシンボリックリンクを使うと、Crowdバージョンアップ時にリンク先の変更のみで各種設定ファイルの修正を最小限にすることができます。

# cd /opt/atlassian
# ln -s atlassian-crowd-2.5.1/ crowd_latest
# ls -l
合計 4
drwxr-xr-x. 10 root root 4096 10月 10 11:40 2012 atlassian-crowd-2.5.1
lrwxrwxrwx.  1 root root   22 10月 10 11:42 2012 crowd_latest -> atlassian-crowd-2.5.1/

2-(3) データディレクトリの準備

Crowdのデータを保存するためのデータディレクトリを用意し、用意した場所をCrowdに設定します。

まずデータディレクトリを作成します。コマンドプロンプトで以下のコマンドを実行してください。

# mkdir -p /var/atlassian/application-data/crowd

作成したデータディレクトリの場所をCrowdに設定し、使用できるようにします。
エディタで /opt/atlassian/atlassian-crowd-2.5.1/crowd-webapp/WEB-INF/classes/crowd-init.properties を開き、以下のように21行目を編集してください。

/opt/atlassian/atlassian-crowd-2.5.1/crowd-webapp/WEB-INF/classes/crowd-init.properties
## You can specify your crowd.home property here or in your system environment variables.
###############
##           ##
##  WINDOWS  ##
##           ##
###############
## On Windows-based operating systems, uncomment the following
## line and set crowd.home to a directory Crowd should use to
## store its configuration.
## NOTE: use forward slashes instead of backward slashes.
#crowd.home=c:/data/crowd-home

###############
##           ##
##  UNIX     ##
##           ##
###############
## On Unix-based operating systems, uncomment the following
## line and set crowd.home to a directory Crowd should use to
## store its configuration.
crowd.home=/var/atlassian/application-data/crowd    ←この行を編集

2-(4) Crowd用データベースの準備

Crowdのデータを格納するためのデータベースを準備します。以下のコマンドを実行してください。ここでは以下の設定でデータベースを準備しています。

ユーザーcrowd_db_usr
パスワード(任意のパスワード)
データベースcrowd_db
# su - postgres
-bash-4.1$ psql
psql (8.4.13)
"help" でヘルプを表示します.
postgres=# create role crowd_db_usr PASSWORD '(任意のパスワード)' CREATEDB LOGIN;
CREATE ROLE
postgres=# create database crowd_db owner crowd_db_usr template=template0 encoding='utf-8';
CREATE DATABASE
postgres=# \q
-bash-4.1$ exit
logout

2-(5) 設定ファイルの編集

動作のため各種設定ファイルを修正していきます。

続いてApache WEB Serverの設定ファイルを修正し、コンテキストルート「/crowd」が含まれる要求をCrowdに同梱のTomcatへ渡すように設定します。

/etc/httpd/conf/httpd.conf をエディタで開き、設定ファイルの最後を以下のように編集します。ただし、“xxx.xxx.xxx.xxx”はデータベースサーバーのIPアドレスです。

/etc/httpd/conf/httpd.conf
#
# VirtualHost example:
# Almost any Apache directive may go into a VirtualHost container.
# The first VirtualHost section is used for requests without a known
# server name.
#
#<VirtualHost *:80>
#    ServerAdmin webmaster@dummy-host.example.com
#    DocumentRoot /www/docs/dummy-host.example.com
#    ServerName dummy-host.example.com
#    ErrorLog logs/dummy-host.example.com-error_log
#    CustomLog logs/dummy-host.example.com-access_log common
#</VirtualHost>

ProxyRequests     Off                                             ←この行を追加
ProxyPreserveHost On                                              ←この行を追加


ProxyPass        /crowd      http://xxx.xxx.xxx.xxx:8095/crowd    ←この行を追加
ProxyPassReverse /crowd      http://xxx.xxx.xxx.xxx:8095/crowd    ←この行を追加


<Location /crowd>                                                 ←この行を追加
  Order allow,deny                                                ←この行を追加
  Allow from all                                                  ←この行を追加
</Location>                                                       ←この行を追加

この設定を行うと、http://xxx.xxx.xxx.xxx/crowd というURLでCrowdを利用できるようになります。「503 Service Temporarily Unavailable」などのエラーメッセージが表示されるときは、セキュリティを考慮してSELinuxによりアクセスが制限されている可能性があります。 こちらの手順を参考に設定を変更してみてください。

2-(6) サービスとして設定する

Crowdを起動するときに必要な環境変数の設定を追加します。
エディタで /opt/atlassian/crowd_latest/apache-tomcat/bin/setenv.sh を開き、先頭にCROWD_HOMEJAVA_HOMEの設定を追加してください。 

/opt/atlassian/crowd_latest/apache-tomcat/bin/setenv.sh
export CROWD_HOME=/var/atlassian/application-data/crowd    ←この行を追加
export JAVA_HOME=/usr/java/jdkx.x.x_xx/                    ←この行を追加

JAVA_OPTS="-Xms128m -Xmx512m -XX:MaxPermSize=256m -Dfile.encoding=UTF-8 $JAVA_OPTS"

export JAVA_OPTS

最初にサービス実行用のユーザーを登録します。

# useradd -d /home/crowd -m crowd

crowd ← リンク先のファイルを /etc/rc.d/init.d に配置して下さい。

改行コードにご注意ください

このファイルの改行コードは、Linuxに合わせる必要があります。添付ファイルの改行コードを変更しないで、そのままサーバーに配置してください。
改行コードが間違っていると、

env: /etc/init.d/crowd: そのようなファイルやディレクトリはありません

というエラーが発生します。

サービス実行用のユーザーでCrowdを実行できるように、権限設定を変更します。

chown -R crowd /opt/atlassian/crowd/
chown -R crowd /var/atlassian/application-data/crowd/
chmod +x /etc/rc.d/init.d/crowd

Crowdをサービスとして登録します。

# chkconfig --add crowd
# chkconfig --list crowd
crowd           0:off   1:off   2:off   3:on    4:on    5:on    6:off

Crowdのサービスを起動するときは以下のコマンドを入力します。

# service crowd start
Using CATALINA_BASE:   /opt/atlassian/crowd_latest/apache-tomcat
Using CATALINA_HOME:   /opt/atlassian/crowd_latest/apache-tomcat
Using CATALINA_TMPDIR: /opt/atlassian/crowd_latest/apache-tomcat/temp
Using JRE_HOME:        /usr/java/jdk1.6.0_35
Using CLASSPATH:       /opt/atlassian/crowd_latest/apache-tomcat/bin/bootstrap.jar

サービスを停止するときは以下のコマンドです。

# service crowd stop
Using CATALINA_BASE:   /opt/atlassian/crowd_latest/apache-tomcat
Using CATALINA_HOME:   /opt/atlassian/crowd_latest/apache-tomcat
Using CATALINA_TMPDIR: /opt/atlassian/crowd_latest/apache-tomcat/temp
Using JRE_HOME:        /usr/java/jdk1.6.0_35
Using CLASSPATH:       /opt/atlassian/crowd_latest/apache-tomcat/bin/bootstrap.jar

サービスが起動しているか確認するときは、以下のコマンドを実行してCrowdのインスタンスが存在しているか調べます。
2つ表示されているインスタンスのうち、最初のものがCrowdを実行しているインスタンスです。2つめはこのリストを表示するために絞込みを行なっているインスタンスです。

# ps -ef | grep crowd
crowd     2117     1  1 09:43 ?        00:01:52 /usr/java/jdk1.6.0_35//bin/java -Djava.util.logging.config.file=/opt/atlassian/crowd_latest/apache-tomcat/conf/logging.properties -Xms128m -Xmx512m -XX:MaxPermSize=256m -Dfile.encoding=UTF-8 -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager -Djava.endorsed.dirs=/opt/atlassian/crowd_latest/apache-tomcat/endorsed -classpath /opt/atlassian/crowd_latest/apache-tomcat/bin/bootstrap.jar -Dcatalina.base=/opt/atlassian/crowd_latest/apache-tomcat -Dcatalina.home=/opt/atlassian/crowd_latest/apache-tomcat -Djava.io.tmpdir=/opt/atlassian/crowd_latest/apache-tomcat/temp org.apache.catalina.startup.Bootstrap start
root     10164  2404  0 12:10 pts/0    00:00:00 grep crowd

2-(7) セットアップウィザードの実行

Crowdを起動できたら、こちらを参考にセットアップウィザードを実行してください。

3、Confluenceのインストール

Crowdに続いてConfluenceをインストールします。Confluence (コンフルエンス) はシンプルかつ高機能な企業向けウィキであり、チームがコンテンツを作成、共有、議論するためのコンテンツコラボレーションツールです。
機能の詳細については、こちらのページもご確認ください。

(info) ConfluenceとJIRAはどちらを先にインストールしても構いません。

3-(1) ダウンロード

Confluenceは、Atlassianのホームページからダウンロードできます。
無料トライアル」からリンクをたどり、「Confluence 4.3.x - Standalone (TAR.GZ Archive)」をダウンロードしておいてください。ダウンロードしたファイルは、適当なディレクトリに保存してください。

3-(2) 解凍と配置

ダウンロードファイルを保存したディレクトリをカレントにします。「tar xvzf atlassian-confluence-4.3.1.tar.gz」コマンドを入力してダウンロードしたファイルを解凍してください。

# tar xvzf atlassian-confluence-4.3.1.tar.gz
atlassian-confluence-4.3.1/bin/OS X - Run Confluence In Terminal Window.command
atlassian-confluence-4.3.1/bin/catalina.sh
atlassian-confluence-4.3.1/bin/setenv.sh
atlassian-confluence-4.3.1/bin/start-confluence.sh
atlassian-confluence-4.3.1/bin/shutdown.sh
atlassian-confluence-4.3.1/bin/OS X - Stop Confluence.command
atlassian-confluence-4.3.1/bin/setclasspath.sh
atlassian-confluence-4.3.1/bin/version.sh
atlassian-confluence-4.3.1/bin/digest.sh
atlassian-confluence-4.3.1/bin/OS X - Run Confluence In Background.command
(省略)
atlassian-confluence-4.3.1/confluence/setup/setuppaths.vm
atlassian-confluence-4.3.1/confluence/setup/setupdata.vm
atlassian-confluence-4.3.1/confluence/setup/setupdb.vm
atlassian-confluence-4.3.1/confluence/setup/setupstandarddb-failed.vm
atlassian-confluence-4.3.1/confluence/content/render/xhtml/preview-macro-template.vm
atlassian-confluence-4.3.1/confluence/renderer/notationhelp.vm
atlassian-confluence-4.3.1/confluence/META-INF/maven/com.atlassian.confluence/
atlassian-confluence-4.3.1/confluence/META-INF/maven/com.atlassian.confluence/confluence-webapp/
atlassian-confluence-4.3.1/confluence/META-INF/maven/com.atlassian.confluence/confluence-webapp/pom.xml
atlassian-confluence-4.3.1/confluence/META-INF/maven/com.atlassian.confluence/confluence-webapp/pom.properties

続いて、解凍したファイルをプログラムディレクトリに配置します。以下のコマンドを入力してディレクトリを移動してください。
(配置先の /opt/atlassian ディレクトリは、Crowdのインストール時に作成済みです) 

# mv atlassian-confluence-4.3.1 /opt/atlassian/
# ls -l /opt/atlassian/atlassian-confluence-4.3.1/
合計 116
-rw-r--r--.  1 root root 38657  2月  3 11:04 2011 LICENSE
-rw-r--r--.  1 root root   574  2月  3 11:04 2011 NOTICE
-rw-r--r--.  1 root root  2318  9月 13 15:14 2012 README.html
-rw-r--r--.  1 root root  1239  9月 13 15:14 2012 README.txt
-rw-r--r--.  1 root root  8672  2月  3 11:04 2011 RELEASE-NOTES
-rw-r--r--.  1 root root  6836  2月  3 11:04 2011 RUNNING.txt
drwxr-xr-x.  2 root root  4096 10月 10 13:46 2012 bin
drwxr-xr-x.  2 root root  4096 10月 10 13:46 2012 conf
drwxr-xr-x. 25 root root  4096 10月 10 13:46 2012 confluence
drwxr-xr-x.  2 root root  4096 10月 10 13:46 2012 lib
drwxr-xr-x.  2 root root 12288 10月 10 13:46 2012 licenses
drwxr-xr-x.  2 root root  4096  2月  3 11:04 2011 logs
drwxr-xr-x.  2 root root  4096 10月 10 13:46 2012 temp
drwxr-xr-x.  2 root root  4096  9月 13 15:14 2012 webapps
drwxr-xr-x.  2 root root  4096  2月  3 11:04 2011 work

最後に、以下のコマンドでConfluenceのプログラムディレクトリへのシンボリックリンクを作成します。作成したシンボリックリンクを使うと、Confluenceバージョンアップ時にリンク先の変更のみで各種設定ファイルの修正を最小限にすることができます。

# cd /opt/atlassian/
# ln -s atlassian-confluence-4.3.1/ confluence_latest
# ls -l
合計 8
drwxr-xr-x. 11 root  root  4096  9月 13 15:14 2012 atlassian-confluence-4.3.1
drwxr-xr-x. 12 crowd users 4096 10月 10 12:02 2012 atlassian-crowd-2.5.1
lrwxrwxrwx.  1 root  root    27 10月 10 13:51 2012 confluence_latest -> atlassian-confluence-4.3.1/
lrwxrwxrwx.  1 root  root    22 10月 10 11:42 2012 crowd_latest -> atlassian-crowd-2.5.1/

3-(3) データディレクトリの準備

Confluenceのデータを保存するためのデータディレクトリを用意し、用意した場所をConfluenceに設定します。

まずデータディレクトリを作成します。コマンドプロンプトで以下のコマンドを実行してください。

# mkdir -p /var/atlassian/application-data/confluence

作成したデータディレクトリの場所をConfluenceに設定し、使用できるようにします。
エディタで /opt/atlassian/confluence_latest/confluence/WEB-INF/classes/confluence-init.properties を開き、以下のように編集してください。

/opt/atlassian/confluence_latest/confluence/WEB-INF/classes/confluence-init.properties
# This file allows you to set the directory for Confluence to store its configuration files.
#
###########################
# Note for Windows Users  #
###########################
#
# Each backslash in your path must be written as a forward slash.
# - For example:
# c:\confluence\data
#
# should be written as:
#
# c:/confluence/data
###########################
# Note for Unix Users     #
###########################
# - For example:
# confluence.home=/var/confluence
#
# NOTE: If the path of your confluence.home directory contains symlinks,
# please set confluence.home to the absolute path, otherwise problems may occur.
# - For example:
# confluence.home=/data/confluence/ (where /data is a symlink to -> /var/data/)
# should be written as:
# confluence.home=/var/data/confluence/
###########################
# Configuration Directory #
###########################
# specify your directory below (don't forget to remove the '#' in front)
confluence.home=/var/atlassian/application-data/confluence    ←この行を編集

3-(4) Confluence用データベースの準備

Confluenceのデータを格納するためのデータベースを準備します。以下のコマンドを実行してください。ここでは表の設定でデータベースを準備しています。

ユーザーconf_db_usr
パスワード(任意のパスワード)
データベースconf_db
# su - postgres
-bash-4.1$ psql
psql (8.4.13)
"help" でヘルプを表示します.
postgres=# create role conf_db_usr PASSWORD '(任意のパスワード)' CREATEDB LOGIN;
CREATE ROLE
postgres=# create database conf_db owner=conf_db_usr template=template0 encoding='utf-8';
CREATE DATABASE
postgres=# \q
-bash-4.1$ exit
logout

3-(5) 設定ファイルの編集

動作のため各種設定ファイルを修正していきます。

最初に /opt/atlassian/confluence_latest/conf/server.xml を編集します。変更箇所は以下の2点です。

  • <Connector>タグに「useBodyEncodingForURI="true"」を追加
  • <Context>タグのpath要素に「/confluence」を指定
/opt/atlassian/confluence_latest/conf/server.xml
<Server port="8000" shutdown="SHUTDOWN" debug="0">
    <Service name="Tomcat-Standalone">
        <Connector className="org.apache.coyote.tomcat4.CoyoteConnector" port="8090" minProcessors="5"
                   maxProcessors="75"
                   enableLookups="false" redirectPort="8443" acceptCount="10" debug="0" connectionTimeout="20000"
                   useURIValidationHack="false" URIEncoding="UTF-8"
                   useBodyEncodingForURI="true" />
              <!-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ここを修正 -->
        <Engine name="Standalone" defaultHost="localhost" debug="0">
            <Host name="localhost" debug="0" appBase="webapps" unpackWARs="true" autoDeploy="false">
                <Context path="/confluence" docBase="../confluence" debug="0" reloadable="false" useHttpOnly="true">
                   <!--  ~~~~~~~~~~~~~~~~~~ ここを修正 -->
                    <!-- Logger is deprecated in Tomcat 5.5. Logging configuration for Confluence is specified in confluence/WEB-INF/classes/log4j.properties -->
                    <Manager pathname="" />
                </Context>
            </Host>
        </Engine>
        <!--
            To run Confluence via HTTPS:
             * Uncomment the Connector below
             * Execute:
                 %JAVA_HOME%\bin\keytool -genkey -alias tomcat -keyalg RSA (Windows)
                 $JAVA_HOME/bin/keytool -genkey -alias tomcat -keyalg RSA  (Unix)
               with a password value of "changeit" for both the certificate and the keystore itself.
             * Restart and visit https://localhost:8443/
             For more info, see http://confluence.atlassian.com/display/DOC/Adding+SSL+for+Secure+Logins+and+Page+Security
        -->
<!--
        <Connector port="8443" maxHttpHeaderSize="8192"
                   maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
                   enableLookups="false" disableUploadTimeout="true"
                   acceptCount="100" scheme="https" secure="true"
                   clientAuth="false" sslProtocol="TLS" SSLEnabled="true"
                   URIEncoding="UTF-8" keystorePass="<MY_CERTIFICATE_PASSWORD>"/>
-->
    </Service>
</Server>

続いてApache WEB Serverの設定ファイルを修正し、URLに「/confluenece」が含まれる要求をConfluenceに同梱のTomcatへ渡すように設定します。

/etc/httpd/conf/httpd.conf の末尾に、以下のコードを参考にして ProxyRequests 以下の部分を追加してください。そのとき、「xxx.xxx.xxx.xxx」の部分はホスト名かIPアドレスに置き換えてください。

/etc/httpd/conf/httpd.conf
#<VirtualHost *:80>
#    ServerAdmin webmaster@dummy-host.example.com
#    DocumentRoot /www/docs/dummy-host.example.com
#    ServerName dummy-host.example.com
#    ErrorLog logs/dummy-host.example.com-error_log
#    CustomLog logs/dummy-host.example.com-access_log common
#</VirtualHost>

ProxyRequests     Off                                                  ←この行を修正する
ProxyPreserveHost On                                                   ←この行を修正する

ProxyPass        /confluence http://xxx.xxx.xxx.xxx:8090/confluence    ←この行を修正する
ProxyPassReverse /confluence http://xxx.xxx.xxx.xxx:8090/confluence    ←この行を修正する

<Location /confluence>                                                 ←この行を修正する
  Order allow,deny                                                     ←この行を修正する
  Allow from all                                                       ←この行を修正する
</Location>                                                            ←この行を修正する

この設定を行うと、http://xxx.xxx.xxx.xxx/confluence というURLでConfluenceを利用できるようになります。「503 Service Temporarily Unavailable」などのエラーメッセージが表示されるときは、セキュリティを考慮してSELinuxによりアクセスが制限されている可能性があります。 こちらの手順を参考に設定を変更してみてください。

3-(6) サービスとして設定する

Confluenceを起動するときに必要な環境変数の設定を追加します。
エディタで /opt/atlassian/confluence_latest/bin/setenv.sh を開き、先頭にJAVA_HOMEの設定を追加してください。 

/opt/atlassian/confluence_latest/bin/setenv.sh
export JAVA_HOME=/usr/java/jdkx.x.x_xx/    ←この行を追加

JAVA_OPTS="-Xms256m -Xmx512m -XX:MaxPermSize=256m $JAVA_OPTS -Djava.awt.headless=true "
export JAVA_OPTS

echo "If you encounter issues starting up Confluence Standalone, please see the Installation guide at http://confluence.atlassian.com/display/DOC/Confluence+Installation+Guide"

# set the location of the pid file
if [ -z "$CATALINA_PID" ] ; then
    if [ -n "$CATALINA_BASE" ] ; then
        CATALINA_PID="$CATALINA_BASE"/work/catalina.pid
    elif [ -n "$CATALINA_HOME" ] ; then
        CATALINA_PID="$CATALINA_HOME"/work/catalina.pid
    fi
fi
export CATALINA_PID

PRGDIR=`dirname "$0"`
if [ -z "$CATALINA_BASE" ]; then
  if [ -z "$CATALINA_HOME" ]; then
    LOGBASE=$PRGDIR
    LOGTAIL=..
  else
    LOGBASE=$CATALINA_HOME
    LOGTAIL=.
  fi
else
  LOGBASE=$CATALINA_BASE
  LOGTAIL=.
fi

PUSHED_DIR=`pwd`
cd $LOGBASE
cd $LOGTAIL
LOGBASEABS=`pwd`
cd $PUSHED_DIR

echo ""
echo "Server startup logs are located in $LOGBASEABS/logs/catalina.out"

最初にサービス実行用のユーザーを登録します。

# useradd -d /home/confluence -m confluence

confluence ← リンク先のファイルを /etc/rc.d/init.d に配置して下さい。

改行コードにご注意ください

このファイルの改行コードは、Linuxに合わせる必要があります。添付ファイルの改行コードを変更しないで、そのままサーバーに配置してください。
改行コードが間違っていると、

env: /etc/init.d/confluence: そのようなファイルやディレクトリはありません

というエラーが発生します。

サービス実行用のユーザーでConfluenceを実行できるように、権限設定を変更します。

# chown -R confluence /opt/atlassian/atlassian-confluence-4.3.1/
# chown -R confluence /opt/atlassian/confluence_latest/
# chown -R confluence /var/atlassian/application-data/confluence/
# chmod +x /etc/rc.d/init.d/confluence

Confluenceをサービスとして登録します。

# chkconfig --add confluence
# chkconfig --list confluence
confluence      0:off   1:off   2:off   3:on    4:on    5:on    6:off

Confluenceのサービスを起動するときは以下のコマンドを入力します。

# service confluence start
If you encounter issues starting up Confluence Standalone, please see the Installation guide at http://confluence.atlassian.com/display/DOC/Confluence+Installation+Guide
Server startup logs are located in /opt/atlassian/confluence_latest/logs/catalina.out
Using CATALINA_BASE:   /opt/atlassian/confluence_latest
Using CATALINA_HOME:   /opt/atlassian/confluence_latest
Using CATALINA_TMPDIR: /opt/atlassian/confluence_latest/temp
Using JRE_HOME:        /usr/java/jdk1.6.0_35/
Using CLASSPATH:       /opt/atlassian/confluence_latest/bin/bootstrap.jar
Using CATALINA_PID:    /opt/atlassian/confluence_latest/work/catalina.pid

サービスを停止するときは以下のコマンドです。

# service confluence stop
If you encounter issues starting up Confluence Standalone, please see the Installation guide at http://confluence.atlassian.com/display/DOC/Confluence+Installation+Guide
Server startup logs are located in /opt/atlassian/confluence_latest/logs/catalina.out
Using CATALINA_BASE:   /opt/atlassian/confluence_latest
Using CATALINA_HOME:   /opt/atlassian/confluence_latest
Using CATALINA_TMPDIR: /opt/atlassian/confluence_latest/temp
Using JRE_HOME:        /usr/java/jdk1.6.0_35/
Using CLASSPATH:       /opt/atlassian/confluence_latest/bin/bootstrap.jar
Using CATALINA_PID:    /opt/atlassian/confluence_latest/work/catalina.pid

サービスが起動しているか確認するときは、以下のコマンドを実行してConfluenceのインスタンスが存在しているか調べます。
2つ表示されているインスタンスのうち、最初のものがConfluenceを実行しているインスタンスです。2つめは、このリストを表示するために絞込みを行なっているインスタンスです。

# ps -ef | grep confluence
501      15601     1 99 14:04 ?        00:00:58 /usr/java/jdk1.6.0_35//bin/java -Djava.util.logging.config.file=/opt/atlassian/confluence_latest/conf/logging.properties -Xms256m -Xmx512m -XX:MaxPermSize=256m -Djava.awt.headless=true -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager -Djava.endorsed.dirs=/opt/atlassian/confluence_latest/endorsed -classpath /opt/atlassian/confluence_latest/bin/bootstrap.jar -Dcatalina.base=/opt/atlassian/confluence_latest -Dcatalina.home=/opt/atlassian/confluence_latest -Djava.io.tmpdir=/opt/atlassian/confluence_latest/temp org.apache.catalina.startup.Bootstrap start
root     15667 12200  0 14:05 pts/1    00:00:00 grep confluence

3-(7) セットアップウィザードの実行

Confluenceを起動できたら、こちらを参考にセットアップウィザードを実行してください。

4、JIRAのインストール

最後に、Atlassianの課題管理ツールであるJIRAをインストールをします。JIRA(ジラ)は、高度なカスタマイズ性により、ソフトウェア課題トラッキングの枠を超えて、タスク管理、工数管理、進捗管理、スケジュール管理などプロジェクト全般を広く管理するためのツールです。機能の詳細については、こちらのページもご確認ください。

(info) ConfluenceとJIRAは、どちらを先にインストールしても構いません。

4-(1) ダウンロード

JIRAは、Atlassianのホームページからダウンロードできます。
無料トライアル」からリンクをたどり、「JIRA 5.1.x (TAR.GZ Archive)」をダウンロードしておいてください。ダウンロードしたファイルは、適当なディレクトリに保存してください。

4-(2) 解凍と配置

ダウンロードファイルを保存したディレクトリをカレントにします。「tar xvzf atlassian-jira-5.1.x.tar.gz」コマンドを入力してダウンロードしたファイルを解凍してください。

# tar xvzf atlassian-jira-5.1.6.tar.gz
atlassian-jira-5.1.6-standalone/bin/catalina.sh
atlassian-jira-5.1.6-standalone/bin/version.sh
atlassian-jira-5.1.6-standalone/bin/startup.sh
atlassian-jira-5.1.6-standalone/bin/shutdown.sh
atlassian-jira-5.1.6-standalone/bin/setclasspath.sh
atlassian-jira-5.1.6-standalone/bin/tool-wrapper.sh
atlassian-jira-5.1.6-standalone/bin/digest.sh
atlassian-jira-5.1.6-standalone/bin/service.bat
atlassian-jira-5.1.6-standalone/
atlassian-jira-5.1.6-standalone/logs/
(省略)
atlassian-jira-5.1.6-standalone/lib/jotm-jrmp_stubs-1.4.3.jar
atlassian-jira-5.1.6-standalone/lib/jotm-1.4.3.jar
atlassian-jira-5.1.6-standalone/lib/slf4j-api-1.6.4.jar
atlassian-jira-5.1.6-standalone/lib/slf4j-log4j12-1.6.4.jar
atlassian-jira-5.1.6-standalone/lib/jul-to-slf4j-1.6.4.jar
atlassian-jira-5.1.6-standalone/lib/jcl-over-slf4j-1.6.4.jar
atlassian-jira-5.1.6-standalone/lib/log4j-1.2.16.jar
atlassian-jira-5.1.6-standalone/lib/hsqldb-1.8.0.5.jar
atlassian-jira-5.1.6-standalone/lib/jta-1.0.1B.jar
atlassian-jira-5.1.6-standalone/lib/ots-jts-1.0.jar

続いて、解凍したファイルをプログラムディレクトリに配置します。以下のコマンドを入力してディレクトリを移動してください。
(配置先の /opt/atlassian ディレクトリは、Crowdのインストール時に作成済みです) 

# mv atlassian-jira-5.1.6-standalone/ /opt/atlassian/
# ls -l /opt/atlassian/atlassian-jira-5.1.6-standalone/
合計 56
-rw-r--r--.  1 crowd crowd  574  2月  3 11:04 2011 NOTICE
-rw-r--r--.  1 crowd crowd 3749  9月 26 00:02 2012 README.html
-rw-r--r--.  1 crowd crowd 2043  9月 26 00:02 2012 README.txt
drwxr-xr-x. 16 crowd crowd 4096 10月 10 15:03 2012 atlassian-jira
drwxr-xr-x.  2 crowd crowd 4096 10月 10 15:03 2012 bin
drwxr-xr-x.  2 crowd crowd 4096 10月 10 15:03 2012 conf
drwxr-xr-x.  2 crowd crowd 4096 10月 10 15:03 2012 external-source
drwxr-xr-x.  2 crowd crowd 4096 10月 10 15:03 2012 lib
drwxr-xr-x.  2 root  root  4096 10月 10 15:03 2012 licenses
drwxr-xr-x.  2 crowd crowd 4096  2月  3 11:04 2011 logs
drwxr-xr-x.  2 crowd crowd 4096 10月 10 15:03 2012 temp
drwxr-xr-x.  2 root  root  4096 10月 10 15:03 2012 tomcat-docs
drwxr-xr-x.  2 crowd crowd 4096  9月 26 00:02 2012 webapps
drwxr-xr-x.  2 crowd crowd 4096  2月  3 11:04 2011 work

最後に、以下のコマンドでJIRAのプログラムディレクトリへのシンボリックリンクを作成します。作成したシンボリックリンクを使うと、JIRAバージョンアップ時にリンク先の変更のみで各種設定ファイルの修正を最小限にすることができます。

# cd /opt/atlassian/
# ln -s atlassian-jira-5.1.6-standalone/ jira_latest
# ls -l
合計 12
drwxr-xr-x. 11 root  root  4096  9月 13 15:14 2012 atlassian-confluence-4.3.1
drwxr-xr-x. 12 crowd users 4096 10月 10 12:02 2012 atlassian-crowd-2.5.1
drwxr-xr-x. 13 crowd crowd 4096  9月 26 00:02 2012 atlassian-jira-5.1.6-standalone
lrwxrwxrwx.  1 root  root    27 10月 10 13:51 2012 confluence_latest -> atlassian-confluence-4.3.1/
lrwxrwxrwx.  1 root  root    22 10月 10 11:42 2012 crowd_latest -> atlassian-crowd-2.5.1/
lrwxrwxrwx.  1 root  root    32 10月 10 15:07 2012 jira_latest -> atlassian-jira-5.1.6-standalone/

4-(3) データディレクトリの準備

JIRAのデータを保存するためのデータディレクトリを用意し、用意した場所をJIRAに設定します。

まずデータディレクトリを作成します。コマンドプロンプトで以下のコマンドを実行してください。

# mkdir /var/atlassian/application-data/jira

作成したデータディレクトリの場所をJIRAに設定し、使用できるようにします。
エディタで /opt/atlassian/jira_latest/atlassian-jira/WEB-INF/classes/jira-application.properties を開き、以下のように編集してください。

/opt/atlassian/jira_latest/atlassian-jira/WEB-INF/classes/jira-application.properties
# Do not modify this file unless instructed. It is here to store the location of the JIRA home directory only and is typically written to by the installer.
jira.home = /var/atlassian/application-data/jira    ←ここに設定

4-(4) JIRA用データベースの準備

JIRAのデータを格納するためのデータベースを準備します。以下のコマンドを実行してください。ここでは以下の設定でデータベースを準備しています。

ユーザーjira_db_usr
パスワード(任意のパスワード)
データベース

jira_db

# su - postgres
-bash-4.1$ psql
psql (8.4.13)
"help" でヘルプを表示します.
postgres=# create role jira_db_usr PASSWORD '(任意のパスワード)' CREATEDB LOGIN;
CREATE ROLE
postgres=# create database jira_db owner jira_db_usr template=template0 encoding='utf-8';
CREATE DATABASE
postgres=# \q
-bash-4.1$ exit
logout

4-(5) 設定ファイルの編集

動作のため各種設定ファイルを修正していきます。

まずserver.xmlを修正し、文字化け対策とコンテキストルートの設定を行います。 
/opt/atlassian/jira_latest/conf/server.xml をエディタで開き、以下の値を設定します。

 タグ変更内容
文字化け対策ConnectorURIEncoding="UTF-8" を追加
コンテキストルートContextpath="" を path="/jira" に変更

設定例は以下のとおりです。

/opt/atlassian/jira_latest/conf/server.xml(一部省略)
<?xml version="1.0" encoding="utf-8"?>
<Server port="8005" shutdown="SHUTDOWN">
    <Service name="Catalina">
        <Connector port="8080"
 
                   maxThreads="150"
                   minSpareThreads="25"
                   maxSpareThreads="75"
                   connectionTimeout="20000"
 
                   enableLookups="false"
                   maxHttpHeaderSize="8192"
                   protocol="HTTP/1.1"
                   useBodyEncodingForURI="true"
                   redirectPort="8443"
                   acceptCount="100"
                   disableUploadTimeout="true"
                   URIEncoding="UTF-8" />
 
        <Engine name="Catalina" defaultHost="localhost">
            <Host name="localhost" appBase="webapps" unpackWARs="true" autoDeploy="true">
                <Context path="/jira" docBase="${catalina.home}/atlassian-jira" reloadable="false" useHttpOnly="true">

Apache WEB Serverの設定ファイルを修正し、コンテキストルート「/jira」が含まれる要求をJIRAに同梱のTomcatへ渡すように設定します。
/etc/httpd/conf/httpd.conf をエディタで開き、ファイルの末尾に以下のように<Location>ディレクティブを追加してください。

/etc/httpd/conf/httpd.conf
ProxyRequests     Off
ProxyPreserveHost On

ProxyPass        /jira http://xxx.xxx.xxx.xxx:8090/jira
ProxyPassReverse /jira http://xxx.xxx.xxx.xxx:8090/jira


<Location /jira>
  Order allow,deny
  Allow from all
  SetEnv force-proxy-request-1.0 1
  SetEnv proxy-nokeepalive 1
</Location>

この設定を行うと、http://xxx.xxx.xxx.xxx/jira というURLでJIRAを利用できるようになります。「503 Service Temporarily Unavailable」などのエラーメッセージが表示されるときは、セキュリティを考慮してSELinuxによりアクセスが制限されている可能性があります。 こちらの手順を参考に設定を変更してみてください。

4-(6) サービスとして設定する

JIRAを起動するときに必要な環境変数の設定を追加します。
エディタで /opt/atlassian/jira_latest/bin/setenv.sh を開き、先頭にJAVA_HOMEの設定を追加してください。 

/opt/atlassian/jira_latest/bin/setenv.sh
export JAVA_HOME=/usr/java/jdkx.x.x_xx/
#
# One way to set the JIRA HOME path is here via this variable.  Simply uncomment it and set a valid path like /jira/home.  You can of course set it outside in the command terminal.  That will also work.

#
#JIRA_HOME=""
#
#  Occasionally Atlassian Support may recommend that you set some specific JVM arguments.  You can use this variable below to do that.
#
JVM_SUPPORT_RECOMMENDED_ARGS=""

#
# The following 2 settings control the minimum and maximum given to the JIRA Java virtual machine.  In larger JIRA instances, the maximum amount will need to be increased.
#
JVM_MINIMUM_MEMORY="256m"
JVM_MAXIMUM_MEMORY="768m"

最初にサービス実行用のユーザーを登録します。

# useradd -d /home/jira -m jira

jira ← リンク先のファイルを /etc/rc.d/init.d に配置して下さい。

改行コードにご注意ください

このファイルの改行コードは、Linuxに合わせる必要があります。添付ファイルの改行コードを変更しないで、そのままサーバーに配置してください。
改行コードが間違っていると、

env: /etc/init.d/jira: そのようなファイルやディレクトリはありません

というエラーが発生します。

サービス実行用のユーザーでJIRAを実行できるように、権限設定を変更します。

# chown -R jira /opt/atlassian/atlassian-jira-5.1.6-standalone/
# chown -R jira /opt/atlassian/jira_latest/
# chown -R jira /var/atlassian/application-data/jira/
# chmod +x /etc/rc.d/init.d/jira

JIRAをサービスとして登録します。

# chkconfig --add jira
# chkconfig --list jira
jira            0:off   1:off   2:off   3:on    4:on    5:on    6:off

JIRAのサービスを起動するときは以下のコマンドを入力します。

# service jira start
                .....
          .... .NMMMD.  ...
        .8MMM.  $MMN,..~MMMO.
        .?MMM.         .MMM?.
     OMMMMZ.           .,NMMMN~
     .IMMMMMM. .NMMMN. .MMMMMN,
       ,MMMMMM$..3MD..ZMMMMMM.
        =NMMMMMM,. .,MMMMMMD.
         .MMMMMMMM8MMMMMMM,
           .ONMMMMMMMMMMZ.
             ,NMMMMMMM8.
            .:,.$MMMMMMM
          .IMMMM..NMMMMMD.
         .8MMMMM:  :NMMMMN.
         .MMMMMM.   .MMMMM~.
         .MMMMMN    .MMMMM?.
      Atlassian JIRA
      Version : 5.1.6
Detecting JVM PermGen support...
PermGen switch is supported. Setting to 256m
If you encounter issues starting or stopping JIRA, please see the Troubleshooting guide at http://confluence.atlassian.com/display/JIRA/Installation+Troubleshooting+Guide

Server startup logs are located in /opt/atlassian/jira_latest/logs/catalina.out
Using CATALINA_BASE:   /opt/atlassian/jira_latest
Using CATALINA_HOME:   /opt/atlassian/jira_latest
Using CATALINA_TMPDIR: /opt/atlassian/jira_latest/temp
Using JRE_HOME:        /usr/java/jdk1.6.0_35/
Using CLASSPATH:       /opt/atlassian/jira_latest/bin/bootstrap.jar
Using CATALINA_PID:    /opt/atlassian/jira_latest/work/catalina.pid

サービスを停止するときは以下のコマンドです。

# service jira stop
                .....
          .... .NMMMD.  ...
        .8MMM.  $MMN,..~MMMO.
        .?MMM.         .MMM?.
     OMMMMZ.           .,NMMMN~
     .IMMMMMM. .NMMMN. .MMMMMN,
       ,MMMMMM$..3MD..ZMMMMMM.
        =NMMMMMM,. .,MMMMMMD.
         .MMMMMMMM8MMMMMMM,
           .ONMMMMMMMMMMZ.
             ,NMMMMMMM8.
            .:,.$MMMMMMM
          .IMMMM..NMMMMMD.
         .8MMMMM:  :NMMMMN.
         .MMMMMM.   .MMMMM~.
         .MMMMMN    .MMMMM?.
      Atlassian JIRA
      Version : 5.1.6
Detecting JVM PermGen support...
PermGen switch is supported. Setting to 256m
If you encounter issues starting or stopping JIRA, please see the Troubleshooting guide at http://confluence.atlassian.com/display/JIRA/Installation+Troubleshooting+Guide

Server startup logs are located in /opt/atlassian/jira_latest/logs/catalina.out
Using CATALINA_BASE:   /opt/atlassian/jira_latest
Using CATALINA_HOME:   /opt/atlassian/jira_latest
Using CATALINA_TMPDIR: /opt/atlassian/jira_latest/temp
Using JRE_HOME:        /usr/java/jdk1.6.0_35/
Using CLASSPATH:       /opt/atlassian/jira_latest/bin/bootstrap.jar
Using CATALINA_PID:    /opt/atlassian/jira_latest/work/catalina.pid

サービスが起動しているか確認するときは、以下のコマンドを実行してJIRAのインスタンスが存在しているか調べます。

3つ表示されているインスタンスのうち、最初のものがJIRAを実行しているインスタンスです。2つめはデータベース、3つめがこのリストを表示するために絞込みを行なっているインスタンスです。

# ps -ef | grep jira
jira     18046     1 99 14:51 ?        00:00:55 /usr/java/jdk1.6.0_35//bin/java -Djava.util.logging.config.file=/opt/atlassian/jira_latest/conf/logging.properties -XX:MaxPermSize=256m -Xms256m -Xmx768m -Djava.awt.headless=true -Datlassian.standalone=JIRA -Dorg.apache.jasper.runtime.BodyContentImpl.LIMIT_BUFFER=true -Dmail.mime.decodeparameters=true -XX:+PrintGCDateStamps -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager -Djava.endorsed.dirs=/opt/atlassian/jira_latest/endorsed -classpath /opt/atlassian/jira_latest/bin/bootstrap.jar -Dcatalina.base=/opt/atlassian/jira_latest -Dcatalina.home=/opt/atlassian/jira_latest -Djava.io.tmpdir=/opt/atlassian/jira_latest/temp org.apache.catalina.startup.Bootstrap start
postgres 18061  1926  2 14:51 ?        00:00:00 postgres: jira_db_usr jira_db 127.0.0.1(40842) idle
root     18107 12200  5 14:52 pts/1    00:00:00 grep jira

4-(7) セットアップウィザードの実行

JIRAを起動できたら、こちらを参考にセットアップウィザードを実行してください。

5、連携とシングルサインオンの設定

ここまででインストールしたCrowd、Confluence、JIRAの各製品を連携させて動作させます。

ご注意ください

以下の手順では、Crowdで行う手順は「(star) 以下の手順はCrowdで実施します。」、Confluenceで行う手順は「(blue star) 以下の手順はConfluenceで実施します。」、JIRAで行う手順は「(red star) 以下の手順はJIRAで実施します。」と表記しています。

5-(1) Crowdのユーザーディレクトリを使ってログインする

(star) 以下の手順はCrowdで実施します。

最初にログイン時の認証をCrowdで行うように設定します。

ここでは、例として以下のようにグループとユーザーが登録されていると想定します。

  • 既定の「crowd-administrators」(管理者)以外に、「Crowd-Developers」(開発者)、「Crowd-Users」(利用者)、「Crowd-Guests」(ゲスト)の各グループが存在しています。
  • それぞれのグループには、個別にユーザーが登録されています。

5-(1)-ア Crowdの準備

最初にCrowd側の準備を行います。Crowdと連携させるConfluenceとJIRAをApplicationsに登録し、Crowdの持っているユーザーディレクトリを参照できるようにします。以下でConfluenceを例に説明しますので、JIRAについても同様に設定を行なってください。

画面左上の「Applications」を選択し、左側のメニューから「Add Application」を選択します。「Add Application」画面が表示されるので、画面の各項目を入力していきます。

まず「Application Type」ドロップダウンリストから連携したいアプリケーションの種別を選択します。今回は「Confluence」を選択します。JIRAと連携したいときは「JIRA」を選択します。「Name」テキストボックスには、Crowdがアプリケーションを識別するための名前を入力します。他のアプリケーションと区別できる名前を指定してください。「Description」はアプリケーションに関する説明です。省略しても構いません。「Password」は、連携するアプリケーションがCrowdのユーザーディレクトリにアクセスするときに入力するパスワードです。あとでアプリケーション側の設定で使用するので、忘れないようにしてください。「Confirm Password」には確認用に「Password」と同じものを入力します。
各項目を入力できたら「Next」ボタンを押して次の画面に進みます。

続いて、連携したいアプリケーションのURLとIPアドレスを指定します。「URL」には、連携したいアプリケーションのベースURLを指定します。URLを入力して「Resolve IP Address」ボタンをクリックすると、URLからIPアドレスを自動的に調べて「Remote IP Address」テキストボックスに表示してくれます。
URLとIPアドレスを指定できたら「Next」ボタンをクリックします。 

アプリケーションで使用するCrowdのユーザーディレクトリを選択します。ここでは「TestCrowd」にチェックを付けて「Next」ボタンをクリックします。

前の画面で選択したユーザーディレクトリの中で、アプリケーションを利用できるグループを指定します。利用できるグループを個別に指定することもできますが、ここではすべてのグループで使用できるようにするため「Allow all users to authenticate」チェックをオンにします。
指定できたら「Next」ボタンをクリックします。 

登録内容を確認します。問題がなければ「Add Application」ボタンをクリックします。訂正したいときは「Cancel」ボタンをクリックしてください。

以上の手順を繰り返してConfluenceとJIRAを登録します。登録後、「Applications」の「Search Applications」を選択すると、以下の画面のようにConfluenceとJIRAが表示されています。

それぞれのアプリケーションで使用するグループの設定を行います。ここではConfluenceを例に説明します。JIRAについても同様に設定してください。
上の「Applications」の「Search Applications」の画面で「testconfluence」をクリックします。

 アプリケーションの設定画面が表示されるので「Groups」タブを選択します。ドロップダウンリストにディレクトリとグループの組み合わせが表示されているので、アプリケーションで使用したいものを選択し「Add」ボタンをクリックします。

以下の画面のように、必要なグループをすべて追加してください。

ここではConfluenceを例に手順を紹介しましたが、JIRAについても同様に設定を行なってください。

5-(1)-イ Confluence

(blue star) 以下の手順はConfluenceで実施します。

 続いて、ConfluenceのログインにCrowdを使用するように設定します。

Confluenceの管理画面を開き、画面左側のメニューから「ユーザー&セキュリティ」の「ユーザーディレクトリ」を選択します。

ユーザーディレクトリ画面では、最初は「Confluence Internal Directory」しか表示されていません。Crowdのユーザーディレクトリを使うようにするため、「ディレクトリの追加」ボタンをクリックします。

ディレクトリタイプを選択するドロップダウンリストがポップアップして表示されるので、リストから「Atlassian Crowd」を選択してください。選択できたら「次へ」ボタンをクリックします。

使用するCrowdサーバーの設定を行います。

名前」テキストボックスにはCrowdサーバーを識別するための名前を入力します。他と区別できる名前を入力してください。「サーバーURL」にはCrowdのベースURLを指定します。「アプリケーション名」と「アプリケーションのパスワード」はCrowdにConfluenceを登録するときに指定したものを入力します。

各項目を入力できたら「設定のテスト」 ボタンをクリックしてCrowdサーバーを利用できるか確認します。

入力した内容でCrowdが利用できると、画面上部に「接続テストに成功しました。」というメッセージが表示され、「保存およびテスト」ボタンが使用できる状態になります。テストに失敗したときは、代わりにエラーメッセージが表示されます。エラーの内容を確認して、対策を行なってください。

保存およびテスト」ボタンをクリックすると入力した内容が保存されてCrowdのユーザーディレクトリが利用できるようになります。

ユーザーディレクトリの画面に戻り、リストにCrowdのユーザーディレクトリが表示されています。この状態では、まだCrowdの持っている情報をConfluenceで取り込めていません。「同期」リンクを押してユーザーディレクトリを同期してください。Crowdに登録されているユーザーやグループの数によっては、同期処理に時間のかかることがあります。

Confluenceと他のアプリケーションを連携させたときのための設定もこのタイミングで行います。ConfluenceのリモートAPI機能を使って、リンク先アプリケーションが情報を取得できるように設定します。Confluenceの管理画面から「一般設定」を開き「機能設定」までスクロールします。最初は「リモートAPI」にチェックがついていない状態になっているので、「編集」リンクをクリックします。

一般設定画面の内容が編集できるようになるので「リモートAPI」のチェックをオンにします。

その後、画面下部の「保存」ボタンをクリックしてください。

権限の設定を行なってください

CrowdのユーザーがConfluenceを利用できるようにするため、グローバル権限、スペース権限などの設定を行なってください。

5-(1)-ウ JIRA

(red star) 以下の手順はJIRAで実施します。

JIRAについても同様に、ログインにCrowdを使用するように設定します。

JIRAの管理画面を開き、「ユーザー」の「ユーザーディレクトリ」を選択します。

ユーザーディレクトリ画面では、最初は「JIRA Internal Directory」しか表示されていません。Crowdのユーザーディレクトリを使うようにするため、「ディレクトリの追加」ボタンをクリックします。

ディレクトリタイプを選択するドロップダウンリストがポップアップして表示されるので、リストから「Atlassian Crowd」を選択してください。選択できたら「次へ」ボタンをクリックします。

使用するCrowdサーバーの設定を行います。

名前」テキストボックスにはCrowdサーバーを識別するための名前を入力します。他と区別できる名前を入力してください。「サーバーURL」にはCrowdのベースURLを指定します。「アプリケーション名」と「アプリケーションのパスワード」はCrowdにJIRAを登録するときに指定したものを入力します。

各項目を入力できたら「設定のテスト」 ボタンをクリックしてCrowdサーバーを利用できるか確認します。

入力した内容でCrowdが利用できると、画面上部に「接続テストに成功しました。」というメッセージが表示され、「保存およびテスト」ボタンが使用できる状態になります。テストに失敗したときは、代わりにエラーメッセージが表示されます。エラーの内容を確認して、対策を行なってください。

保存およびテスト」ボタンをクリックすると入力した内容が保存されてCrowdのユーザーディレクトリが利用できるようになります。

ユーザーディレクトリの画面に戻り、リストにCrowdのユーザーディレクトリが表示されています。この状態では、まだCrowdの持っている情報をJIRAで取り込めていません。「同期」リンクを押してユーザーディレクトリを同期してください。Crowdに登録されているユーザーやグループの数によっては、同期処理に時間のかかることがあります。同期できていると、下の画面のように最後に同期した日時が表示されています。

権限の設定を行なってください

Crowdのユーザーディレクトリに登録されているユーザーとグループがJIRAを利用できるようにするため、グローバル権限や各種スキームの設定を行なってください。

5-(2) ConfuluenceとJIRAのアプリケーションリンク設定

ConfluenceとJIRAの双方から相手側の持っているコンテンツを参照できるように、アプリケーションリンクを設定します。アプリケーションリンクはConfluenceとJIRAのどちらからでも設定できます。ここではConfluenceを使ってアプリケーションリンクを設定します。

(blue star) 以下の手順はConfluenceで実施します。

 Confluenceの管理画面を開き、「管理」の「アプリケーションリンク」を選択します。下の画面のように、最初はリンクが設定されていないので、アプリケーションリンクはないというメッセージが表示されています。新しくJIRAとのアプリケーションリンクを設定したいので「ここをクリックして新しく追加してください。」というリンクをクリックします。

リンク先のサーバーを指定する画面が表示されます。今回はJIRAとリンクさせたいので、「サーバーURL」テキストボックスにJIRAのベースURLを入力して「次へ」ボタンをクリックします。

相互リンクを作成するための画面が表示されます。リンク先のJIRAの管理者情報を「ユーザー名」「パスワード」テキストボックスに入力すると、ここでJIRAからConfluenceへのリンクを作成できます(ここでリンクを作成しなくても、あとからJIRAの管理画面でアプリケーションリンクを作成できます)。入力できたら「次へ」ボタンをクリックします。

続いてユーザーと信頼の設定を行います。今回は「これらのサーバーはお互いを完全に信頼しています。」にチェックを付けて「作成」ボタンをクリックします。

アプリケーションリンクの設定が終わると、管理画面にJIRAへのリンクが表示されます。

(red star) 以下の手順はJIRAで実施します。

この状態でJIRAの管理画面から「アプリケーションリンク」を開くと、Confluenceとのリンクが作成されていることを確認できます。

5-(3) ConfluenceのスペースとJIRAのプロジェクトのリンク設定

ここまでで設定したアプリケーションリンクを利用するため、ConfluenceのスペースとJIRAのプロジェクトをリンクさせます。この操作はConfluenceからでもJIRAからからでもできますが、ここではConfluenceからリンクを設定してみます。

(blue star) 以下の手順はConfluenceで実施します。

Confluenceで、リンクを設定したいスペースの管理画面を開きます。左側のメニューから「セキュリティ」の「アプリケーションリンク」を選択します。まだリンクを設定していないので「設定されたリンクはありません。」というメッセージが表示されています。新しくリンクを作成するため、右上の「リンクの追加」をクリックしてください。ポップアップメニューからリンク先を選択できるのでJIRAを選択します。

スペースにリンクするJIRAのプロジェクトを指定します。プロジェクトの名前、またはキーをテキストボックスに指定してください。入力候補から選択することもできます。
アプリケーションリンクを作成したときと同様に、JIRAのプロジェクトからConfluenceのスペースへのリンクを同時に作成するように指定できます。ここで作成しなくても、あとでJIRAのプロジェクトからリンクを作成することもできます。
リンク先の指定ができたら「作成」ボタンをクリックします。

ConfluenceのスペースとJIRAのプロジェクトの間でリンクを作成できました。

JIRAを開き、プロジェクトの管理画面から「アプリケーションリンク」を開くと、Confluenceのスペースとリンクしていることを確認できます。

ConfluenceのスペースとJIRAのプロジェクトをリンクさせると、ConfluenceのページからJIRAの課題へのリンクを作ったり、その逆もできるようになります。リンクをクリックすると、相手のアプリケーションの画面が開きます。

5-(4) シングルサインオンのための設定

ここまでの設定では、アプリケーションリンク機能を使ってJIRAとConfluenceの間を移動したときに、移動先のアプリケーションであらためてログイン操作が必要でした。操作を簡単にするため、Crowdのユーザーディレクトリを使って一度ログインすれば他のアプリケーションをログイン不要で利用できる(シングルサインオン)ように設定できます。

Confluenceの設定

(blue star) 以下の手順はConfluenceで実施します。

シングルサインオンの設定は、設定ファイルを編集して行います。設定前に、「service confluence stop」コマンドを実行してConfluenceを終了しておきます。「ps -ef | grep confluence」コマンドでConflluenceのインスタンスが終了していることを確認します。

# service confluence stop
If you encounter issues starting up Confluence Standalone, please see the Installation guide at http://confluence.atlassian.com/display/DOC/Confluence+Installation+Guide
Server startup logs are located in /opt/atlassian/confluence_latest/logs/catalina.out
Using CATALINA_BASE:   /opt/atlassian/confluence_latest
Using CATALINA_HOME:   /opt/atlassian/confluence_latest
Using CATALINA_TMPDIR: /opt/atlassian/confluence_latest/temp
Using JRE_HOME:        /usr/java/jdk1.6.0_35
Using CLASSPATH:       /opt/atlassian/confluence_latest/bin/bootstrap.jar
Using CATALINA_PID:    /opt/atlassian/confluence_latest/work/catalina.pid
Tomcat did not stop in time. PID file was not removed.
# ps -ef | grep confluence
root      2806  2671  0 09:08 pts/0    00:00:00 grep confluence

編集するファイルは「/opt/atlassian/confluence_latest/confluence/WEB-INF/classes/seraph-config.xml」です。以下のように、デフォルトではコメントアウトされている「authenticator」要素をコメント解除します。

/opt/atlassian/confluence_latest/confluence/WEB-INF/classes/seraph-config.xml
    <!-- Default Confluence authenticator, which uses the configured user management for authentication. -->
    <authenticator class="com.atlassian.confluence.user.ConfluenceAuthenticator"/>
 
    <!-- Custom authenticators appear below. To enable one of them, comment out the default authenticator above and uncomment the one below. -->
 
    <!-- Authenticator with support for Crowd single-sign on (SSO). -->
    <authenticator class="com.atlassian.confluence.user.ConfluenceCrowdSSOAuthenticator"/>    ←この行をコメント解除
 
    <!-- Specialised version of the default authenticator which adds authenticated users to confluence-users if they aren't already a member. -->
    <!-- <authenticator class="com.atlassian.confluence.user.ConfluenceGroupJoiningAuthenticator"/> -->

続いて、同じディレクトリにある「crowd.properties」も以下のように編集します。

/opt/atlassian/confluence_latest/confluence/WEB-INF/classes/crowd.properties
application.name                        testconfluence                        ←Crowdにアプリを登録したときの名前
application.password                    xxxxxxxx                              ←Crowdにアプリを登録したときのパスワード
application.login.url                   http://192.168.235.170/confluence/    ←ConfluenceのベースURLに変更
 
crowd.server.url                        http://192.168.235.170/crowd/services/    ←CrowdのベースURLに変更
crowd.base.url                          http://192.168.235.170/crowd/             ←CrowdのベースURLに変更
 
session.isauthenticated                 session.isauthenticated
session.tokenkey                        session.tokenkey
session.validationinterval              2
session.lastvalidation                  session.lastvalidation

JIRAの設定

(red star) 以下の手順はJIRAで実施します。

次に、JIRAでも同様の設定を行います。設定前に、「service jira stop」コマンドを実行してConfluenceを終了しておきます。「ps -ef | grep jira」コマンドでJIRAのインスタンスが終了していることを確認します。

# service jira stop
                .....
          .... .NMMMD.  ...
        .8MMM.  $MMN,..~MMMO.
        .?MMM.         .MMM?.
     OMMMMZ.           .,NMMMN~
     .IMMMMMM. .NMMMN. .MMMMMN,
       ,MMMMMM$..3MD..ZMMMMMM.
        =NMMMMMM,. .,MMMMMMD.
         .MMMMMMMM8MMMMMMM,
           .ONMMMMMMMMMMZ.
             ,NMMMMMMM8.
            .:,.$MMMMMMM
          .IMMMM..NMMMMMD.
         .8MMMMM:  :NMMMMN.
         .MMMMMM.   .MMMMM~.
         .MMMMMN    .MMMMM?.
      Atlassian JIRA
      Version : 5.1.7
Detecting JVM PermGen support...
PermGen switch is supported. Setting to 256m
If you encounter issues starting or stopping JIRA, please see the Troubleshooting guide at http://confluence.atlassian.com/display/JIRA/Installation+Troubleshooting+Guide

Server startup logs are located in /opt/atlassian/jira_latest/logs/catalina.out
Using CATALINA_BASE:   /opt/atlassian/jira_latest
Using CATALINA_HOME:   /opt/atlassian/jira_latest
Using CATALINA_TMPDIR: /opt/atlassian/jira_latest/temp
Using JRE_HOME:        /usr/java/jdk1.6.0_35
Using CLASSPATH:       /opt/atlassian/jira_latest/bin/bootstrap.jar
Using CATALINA_PID:    /opt/atlassian/jira_latest/work/catalina.pid
Tomcat did not stop in time. PID file was not removed.
# ps -ef | grep jira
root      4055  2671  0 09:35 pts/0    00:00:00 grep jira

編集するファイルは「/opt/atlassian/jira_latest/atlassian-jira/WEB-INF/classes/seraph-config.xml」です。以下のように、デフォルトではコメントアウトされている「authenticator」要素をコメント解除します。

/opt/atlassian/jira_latest/atlassian-jira/WEB-INF/classes/seraph-config.xml
        <init-param>
            <param-name>invalidate.session.exclude.list</param-name>
            <param-value>ASESSIONID,jira.websudo.timestamp</param-value>
        </init-param>
    </parameters>
    <!-- CROWD:START - If enabling Crowd SSO integration uncomment the following SSOSeraphAuthenticator and comment out the JiraSeraphAuthenticator below -->
    <authenticator class="com.atlassian.jira.security.login.SSOSeraphAuthenticator"/>    ←この行のコメントを解除
    <!-- CROWD:END -->

    <!-- CROWD:START - The authenticator below here will need to be commented out for Crowd SSO integration -->
    <authenticator class="com.atlassian.jira.security.login.JiraSeraphAuthenticator"/>
    <!-- CROWD:END -->

    <!-- NB: the URL to redirect to is now specified by login.url above -->
    <services>
        <service class="com.atlassian.seraph.service.PathService">
            <init-param>
                <param-name>config.file</param-name>
                <param-value>seraph-paths.xml</param-value>
            </init-param>
        </service>

次に、Confluenceと同様にcrowd.propertiesファイルを編集するのですが、JIRAの場合は雛形となるファイルをCrowdからコピーする必要があります。以下のコマンドを実行してファイルをコピーしてください。

cp /opt/atlassian/crowd_latest/client/conf/crowd.properties /opt/atlassian/jira_latest/atlassian-jira/WEB-INF/classes/

コピーしたファイルは、次のように編集します。

/opt/atlassian/jira_latest/atlassian-jira/WEB-INF/classes/crowd.properties
application.name                        testjira                        ←Crowdにアプリ登録したときの名前
application.password                    xxxxxxxx                        ←Crowdにアプリ登録したときのパスワード
application.login.url                   http://192.168.235.170/jira/    ←JIRAのベースURL

crowd.server.url                        http://192.168.235.170/crowd/services/    ←CrowdのベースURLに変更
crowd.base.url                          http://192.168.235.170/crowd/             ←CrowdのベースURLに変更


session.isauthenticated                 session.isauthenticated
session.tokenkey                        session.tokenkey
session.validationinterval              2
session.lastvalidation                  session.lastvalidation

連携動作確認

設定が終わったら停止していたアプリケーションを起動し、動作を確認します。ConfluenceのページにJIRAの課題へのリンクを作成するなどして、ConfluenceからJIRAに移動するときに再ログインがいらないことを確認してください。

付録

付録-(1) httpdとTomcatがうまく連携できないとき

オペレーティングシステムのセキュリティ設定の影響で連携できなくなっている可能性があります。以下のコマンドを実行してみてください。
このコマンドを実行することにより、Apache HTTP Server(httpd)にネットワークへの接続を許可します。 

# getsebool httpd_can_network_connect
httpd_can_network_connect --> off
# setsebool -P httpd_can_network_connect 1
# getsebool httpd_can_network_connect
httpd_can_network_connect --> on

付録-(2) セットアップウィザード実行中に「Proxy Error」が表示されたとき

セットアップウィザードを使って設定を行なっていると、画面が移動するタイミングで以下のようなエラー画面が表示されることがあります。
このような場合は、データベースの処理時に時間がかかるなどして、WEBサーバーの応答がタイムアウトしている可能性があります。 

この場合は、ブラウザーにURLを入力しなおして、セットアップウィザードを開き直してください。セットアップウィザードはどの画面まで進んだかを覚えているので、次に入力の必要な画面からセットアップウィザードが再開されます。

付録-(3) アプリケーションが起動しないとき、正常に動作していないと思われるとき

アプリケーションが起動しないとき、正常に動作していないと思われるときは、ログファイルを確認してエラーや例外が発生していないか確認してください。その原因に対して、弊社のテクニカルFAQやAtlassianのAnswersサイトを検索し、該当する記事を参考に対策を行います。

各アプリケーションのログファイルは以下の位置に出力されていますので参考にしてください。

Crowd/var/atlassian/application-data/crowd/logs/atlassian-crowd.log
JIRA/var/atlassian/application-data/jira/log/atlassian-jira.log
Confluence/var/atlassian/application-data/confluence/logs/atlassian-confluence.log
  • No labels

This page has no comments.