midPointのインストール

# はじめに

AdventCalendar2日目は、midPointのインストール方法について紹介いたします。
本記事では2019/11時点で最新バージョンのmidPoint v4.0.1をCentOS7環境下でインストールしました。

また今回は一番シンプルな構成（単体構成・DBは内包のH2 Database使用）となっております。
本番環境を想定した構成については明日の記事を参考にしてください。

まず、midPointを利用するにあたって下記のスペックが必要となります。
インストール前にスペックの確認をお願い致します。
<img width="549" alt="midPoint0.JPG" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/534839/52b93ab6-fab5-0077-4e8a-74f44eb1197d.jpeg">
引用元：https://wiki.evolveum.com/display/midPoint/System+Requirements

# 1.バイナリファイルからインストールする場合

## 1-1.事前準備

midPointはJavaアプリケーションであり、利用するためにはJDKが必要です。
midPoint v4.0.1ではOpenJDK11が推奨されています。

まだOpenJDKをインストールされていない方は、下記URLにあるOpenJDK11をダウンロードしてください。
http://jdk.java.net/archive/

CentOS7にて、私は下記コマンドでダウンロードいたしました。

```
curl -OL https://download.java.net/java/ga/jdk11/openjdk-11_linux-x64_bin.tar.gz
```

その後ダウンロードファイルを解凍するとjdk-11フォルダが作成されます。
jdk-11フォルダが作成されましたら、`JAVA_HOME`のパス設定をしてください。

CentOS7にて、私は`.bash_profile`に下記の通りパス設定いたしました。

```
export JAVA_HOME=/(jdk-11を配置したパス)/jdk-11
export PATH=$PATH:$JAVA_HOME/bin
```


## 1-2.midPointのダウンロード

下記URLにあるBinary Distributionをダウンロードします。
https://wiki.evolveum.com/display/midPoint/Installing+midPoint+v4.0.1
https://evolveum.com/downloads/midpoint/4.0.1/downloads/

CentOS7にて、私は下記コマンドでダウンロードいたしました。

```
curl -OL https://evolveum.com/downloads/midpoint/4.0.1/downloads/midpoint-4.0.1-dist.tar.gz
```

ダウンロードしたファイルを解凍すると、midpoint-4.0.1というフォルダが作成されます。

## 1-3.midPointの実行

midpoint-4.0.1フォルダにて、下記コマンドを実行します。

```
bin/start.sh
```

windowsの場合はダウンロードしたファイルを解凍後に
下記バッチファイルを実行すればmidPointを実行できます。

```
bin\start.bat
```

コマンド実行後に http://(IPアドレス または localhost):8080/midpoint/ へアクセスすると下記画面へアクセスできます。

<img width="646" alt="midPoint1.JPG" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/534839/523655db-33f9-f705-58ec-1bd4f8ebd060.jpeg">


管理ユーザ名と初期パスワードは下記の通りです。

|管理ユーザ名|初期パスワード|
|---|---|
|administrator|5ecr3t|
引用元：https://wiki.evolveum.com/display/midPoint/First+Steps

ログインすると、下記画面に遷移できます。

<img width="637" alt="midPoint2.JPG" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/534839/faeca1d7-e945-a6f9-dcc7-b5b07b80659f.jpeg">

# 2.ソースコードからインストールする場合

## 2-1.事前準備

ソースコードからインストールする場合は、1-1で実施した作業に加えて
Maven3のインストールが必要です。


下記URLからMaven3をダウンロードし、ダウンロードファイルを解凍後`M2_HOME`のパス設定をしてください。
http://maven.apache.org/download.cgi

CentOS7にて、私は下記コマンドでダウンロードいたしました。

```
curl -OL http://ftp.kddilabs.jp/infosystems/apache/maven/maven-3/3.6.2/binaries/apache-maven-3.6.2-bin.tar.gz
```

また、下記の通りパス設定いたしました。

```
export M2_HOME=/(apache-maven-3.6.2を配置したパス)/apache-maven-3.6.2
export PATH=$PATH:$M2_HOME/bin
```

## 2-2.midPointのダウンロード

GitからmidPointのソースコードを入手します。

```
git clone -b v4.0.1 https://github.com/Evolveum/midpoint.git
```

クローンしたディレクトリに移動後、下記コマンドを実行してソースコードをビルドします。

```
mvn install
```

こちらのコマンドは自動テストも動作するため、とても時間がかかります。
ビルドだけしたい方は下記の通り実行すればテストをスキップできます。

```
mvn install -DskipTests=true
```

ビルドが成功すると、バイナリファイルが`dist/target`配下に作成されます。
midPointを実行するときは、1-3.midPointの実行と同様に`start.sh`を実行してください。

# 3.Dockerを用いてインストールする場合

Dockerのイメージは下記コマンドでダウンロードできます。

```
docker pull evolveum/midpoint
```

実行する際は、下記コマンドとなります。

```
docker run -p 8080:8080 --name midpoint evolveum/midpoint
```

# 参考情報

midPoint公式Wiki
https://wiki.evolveum.com/display/midPoint/Installation+Guide