こんにちは KEYチームの円城寺です。

せっかく Atlassian Expert なので Atlassian の記事を書いてみよう第2弾ということで、
今回は Crowd サーバーのインストールをしてみます。

下記の環境に Crowd をインストールしていきたいと思います。

  • OS : CentOS 7
  • Java : OpenJDK 1.7
  • mariadb : 5.5
  • Atlassian : Crowd 2.8

K. 仮想環境の準備

今回は 予算の都合上 実験ということで、MacOSX 上の「VirtualBox+Vagrant」の仮想環境に環境を構築します。
専用のサーバーを用意されている方はこの部分は読み飛ばして頂いて結構ですが、
気軽に壊せる環境というのも便利ですので、今回の実験用に試しに構築してみるのもよろしいかと思います。

 Virtualbox のインストール

Virtualbox の以下サイトより、お使いのプラットフォームに合わせたバイナリをダウンロードして、セットアップしてください。
https://www.virtualbox.org/wiki/Downloads

 Vagrant のインストール

Vagrant の以下サイトより、お使いのプラットフォームに合わせたバイナリをダウンロードし、セットアップしてください。
https://www.vagrantup.com/downloads.html

 VMの準備

1. vagrant box を準備する

        $ vagrant box add centos7.0 [任意のCentOS7のBoxファイルURL]
        $ mkdir crowd
        $ cd crowd
        $ vagrant init centos7.0


2. Vagrantfile の下記部分のコメントを外して、内部IPで通信できるようにする
config.vm.network "private_network", ip: "192.168.33.10"

3. VM を起動する

        $ vagrant up


これでひと通り仮想環境の準備は完了です。

E. Crowd のインストール

さて、環境も整いましたので、いよいよ Crowd のインストールと参ります。

 前提条件の準備

早速 Crowd をインストールといきたいところですが、Crowd を動かすための前提ソフトウェアをまずインストールしましょう。

1. Java のインストール
まずは Java をインストールします。
今回は yum で簡単にインストールできる OpenJDK を使用しましたが、
Oracle の JDK(こちらのほうが無難という噂もあり)をご使用される場合は適宜インストールをお願いします。

        $ sudo yum install java-1.7.0-openjdk


2. mariadb のインストール
次に Crowd のデータ保存先であるデータベースのインストールです。
今回は MySQL ではなく、CentOS7 系なので、mariadb を使用します。

        $ sudo yum install mariadb-server


3. mariadb の起動

        $ systemctl start mariadb


 Crowd のインストール

さて、とうとう Crowd のインストールです。
基本的には 公式ドキュメント( https://confluence.atlassian.com/display/CROWD/Installing+Crowd )にそってインストールを行っていきます。

1. 最新版のダウンロード
まずは、以下公式サイトより最新版をダウンロードします。
https://www.atlassian.com/software/crowd/download
今回は Crowd Standalone 版をダウンロードします。

        $ wget http://www.atlassian.com/software/crowd/downloads/binary/atlassian-crowd-2.8.0.tar.gz


2. 展開と配置
次にダウンロードしたバイナリを Crowd のインストール先ディレクトリに展開します。
今回は便宜上、

  • Crowd のインストール先を /opt/atlassian/
  • crowd home を /var/atlassian/crowd

としていますので、 /opt/atlassian にダウンロードしたバイナリを展開します。

        $ tar -xf atlassian-crowd-2.8.0.tar.gz
        $ sudo mkdir /opt/atlassian
        $ sudo mv atlassian-crowd-2.8.0 /opt/atlassian/
        $ sudo ln -s /opt/atlassian/atlassian-crowd-2.8.0 /opt/atlassian/crowd


3. crowd home の準備
次に、Crowd のデータ保存先になる crowd home を準備します。

        $ sudo mkdir -p /var/atlassian/crowd


4. 設定ファイルの編集
次に、Crowd の環境依存部分の設定を設定ファイルに設定します。
対象のファイルは以下。
${crowdインストール先}/crowd-webapp/WEB-INF/classes/crowd-init.properties
このファイルの crowd.home を下記のように先ほど作成したディレクトリに変更します。

crowd.home=/var/atlassian/crowd


 Crowd 用データベースの準備

次に Crowd のデータ保存先であるデータベースを準備します。

1. データベースの作成

        create database crowd character set utf8 collate utf8_bin;


2. Crowd ユーザーを作成し、権限を付与

        GRANT ALL PRIVILEGES ON crowd.* TO 'crowduser'@'localhost' IDENTIFIED BY 'crowdpass';


3. Crowd 用に mariadb に設定を追加
/etc/my.cnf の[mysqld]セクションに以下の4設定を追加

[mysqld]
---中略---
character-set-server=utf8
collation-server=utf8_bin
default-storage-engine=INNODB
transaction-isolation = READ-COMMITTED


4. mariadb(mysql)の Java ドライバをインストール

        $ yum install mysql-connector-java.noarch
        $ cp /usr/share/java/mysql-connector-java.jar /opt/atlassian/crowd/apache-tomcat/lib/.


Y. Crowd の起動

さて、準備が整いましたので、Crowd を起動してみます。

 Crowd の起動

        $ cd /opt/atlassian/crowd/
        $ ./start_crowd.sh


 Crowd の初期設定

1. Crowd 初期設定画面へアクセスする
Crowd の初期設定画面 http://localhost:8095 にアクセスします。
設定画面へは、Crowd のサーバー上からしかアクセス出来ないようなので、
別サーバーからつなぐ場合は SSH トンネルなどを用意します。
(例)

        $ ssh vagrant@192.168.33.10 -i ~/.vagrant.d/insecure_private_key -L 8095:localhost:8095


初期設定画面にアクセス出来た後は、画面の指示にしたがって必要な情報を入力してゆきます。

以降は今回の設定例です。必要に応じで参考にしてください。
あくまでテスト用の設定ですのでご注意ください。

Set up Crowdボタンを押して設定をスタートします。

ライセンスを入力します。お試しの場合は、ライセンス入力エリアの下にあるリンクより評価ライセンスを取得することが出来ます。

ライセンスを入力します。お試しの場合は、ライセンス入力エリアの下にあるリンクより評価ライセンスを取得することが出来ます。

今回は新規インストールなので、 New instllationにチェックをしてContinueします。

今回は新規インストールなので、 New instllationにチェックをしてContinueします。

先ほど設定したデータベースの接続情報を設定します。

先ほど設定したデータベースの接続情報を設定します。

設定を確認してContinue

設定を確認してContinue

今はメールサーバーを設定しないので、Laterを選んでContinue

今はメールサーバーを設定しないので、Laterを選んでContinue

今回は初期設定でContinue

今回は初期設定でContinue

初期管理者の情報を入力してContinue

初期管理者の情報を入力してContinue

今回はこのままContinueします。

今回はこのままContinueします。

これで初期設定は完了です。

ログイン画面より、先ほど設定した管理者アカウントでログインできるようになっていると思います。

次回は、Crowd と他の Atlassian プロダクトを連携させてみたいと思います。