OpenAM 14を最速で構築する10分間クッキング

# OpenAM14動作環境を用意する
OpenAM14の動作要件は単純で以下4つです。
　1. JDK8以降
　2. Tomcat7以降
　3. OpenAMのwarファイル
　4. 運用するならSSL証明書とApache-HTTP

できる限り手数が少ない手段を選ぶなら、CentOS7（最小構成）の仮想マシンを用意して、以下のコマンドを実行すると必要な物は全てインストールされ、シアワセになります。

```terminal
# yum -y install tomcat mod_ssl
```

## OpenAM14の入手
OpenAMコンソーシアムのgithubから[openam-14.0.0.war](https://github.com/openam-jp/openam/releases/download/14.0.0/openam-14.0.0.war)をダウンロードします。
※ライセンスはCDDLの範囲で用途に制限は無いです。

## OpenAMの初期設定をする準備
ここからは、想定環境がCentOS7かAmazonLinuxなので、別の環境の方は適宜読み替えて下さい。ubuntuはもちろんですが、Windows、macOSあたりでも動作します。
普通にLinuxが使える(vim等)人であればココから完了までの所要時間は10分程度です。

### FQDNの決定
アクセスURLがlocalhostやドメイン部が無い名前だと動作しません。
 **openam14.example.com** など適宜FQDNを決めてhostsファイルに登録しておいて下さい。
一番目の行のlocalhostの前に追加しておきます。
**[/etc/hosts]** 

```
127.0.0.1 openam14.example.com localhost localhost.localdomein ...
::1       localhost  localhost.localdomein ...
```

ホスト名も同じにしておくといろいろ楽です
**[/etc/hostname]**

```
openam14.example.com
```

### HTTPSでつながるようにする
証明書の話は本題では無いので書きませんが、運用するなら正規のSSL証明書を取得して設定してください。
httpd+tomcatでHTTPS接続できるように設定するには、**/etc/httpd/conf.d/ssl.conf** の下から2行目に以下の行を追加します。

```conf
ProxyPass /openam ajp://localhost:8009/openam　<--追加
</VirtualHost>
```

firewalldの設定にもhttpsポートを追加します。
sshの下にhttpsのエントリーを追加します。
**[/etc/firewalld/zones/public.xml]**

```
  <service name="ssh"/>
  <service name="https"/>　＜ーー追加
  <service name="dhcpv6-client"/>
```

### httpdとtomcatの自動起動設定
httpdとtomcatを自動起動するように設定します。

```
# systemctl enable httpd
# systemctl enable tomcat
```

### selinuxをキル
Linuxの場合、selinuxは邪魔なのでdisabledにします。
**[/etc/selinux/config]**

```
#     disabled - No SELinux policy is loaded.
SELINUX=disabled
```

## Tomcatへのデプロイ
openam-14.0.0.warをTomcatのwebappsディレクトリへコピーします。
このときopenam-14.0.0.warから、 **openam.war** にファイル名を変更するほうが、アクセスのURLが簡単になります。
/var/lib/tomcat/webapps/openam.warとしてファイルを置いたら、所々設定反映のため仮想マシンを再起動します。

```
# reboot
```

# OpenAM初期設定開始
 サーバーの起動が終わったTomcatへアクセスし、OpenAM管理アカウントのパスワード等の初期設定をします。
手元のブラウザを起動し、アクセスURLを入力します。
※設定が無い場合は自動的に初期設定画面へリダイレクトされます。

https://openam14.example.com/openam

## 証明書の警告
証明書を正規の物にしていない場合は以下の画面が出てしまいます。
問題になる場合は証明書を取得してください。
![sslwarn.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/316098/3033f505-ae8a-d54b-5cbe-aa45c73213b7.png)


## 1. 初期画面
初期設定画面では「デフォルト設定の作成」を選びます。
※アドレスバーのURLはスクリーンショット取得の関係で違いますキニシナイでください。
![openam1.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/316098/75c10887-5ea7-d452-ccf4-2d540ce6d287.png)

## 2. ライセンスCDDL表示
CDDLライセンスへの同意画面が開きます。
右のスクロールバーで下までスクロールします。
![openam2.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/316098/2367e800-5e88-a777-cb9d-3e7bd672171c.png)

## 3. ライセンスへ同意
じっくり読んでいただいて同意するのであれば、チェックを入れて「Continue」を選びます。
![openam3.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/316098/0c2e6e0e-72f0-2d3b-0882-1926146af359.png)


## 4. 管理アカウントパスワード設定
[デフォルトユーザー amadmin 管理アカウント]と[デフォルトポリシーエージェントのパスワードを決めます。決めたら「設定の作成」を選びます。
![openam4.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/316098/5bd99ab0-58f2-0d18-d83e-3c827117c5d2.png)

## 5. 設定中
設定が開始され画面上に処理内容が表示されます。
![openam5.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/316098/a5f02f1d-6be8-9852-47d1-d85c416072cd.png)


## 6. 設定完了
設定が滞りなく完了すると、ログインするように促されます。
![openam6.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/316098/ef40cf23-942d-7715-413b-5943c8e7da96.png)

## 7. ログイン画面
ログイン画面ではamadminでログインします。
![openam7.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/316098/58229a84-822d-a77e-b522-5ad4f59c86db.png)

## 8. ログイン後の画面
amadminでログインし、この画面が表示されれば初期設定は完了です。
![openam8.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/316098/92cc2611-11dc-e7a3-d799-a543b796e1df.png)

# ユーザーを登録してログインする
引き続き、テスト用のユーザーを作成してログインしてみます。

## 1.レルムを選択
最上位のレルム（テナント）を開きます。
![openam8.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/316098/87112489-1b4a-de0d-8ba7-25c66b006a89.png)

## 2.ユーザー一覧
「対象」がユーザー一覧です。
![openam9.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/316098/2d6137e0-199d-bbdc-6ac0-85b13b11bc7d.png)

## 3.不要ユーザーを消す
demoとanonymousは不要なのでチェックを入れて[削除]ボタンで消しておきます。
[新規]ボタンを押し、ユーザーを登録します。
![openam10.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/316098/297385dc-0795-818d-f246-bcc739b85ea8.png)


## 4.新規ユーザー登録
新規ユーザー情報を入力します。一番上の[ID]がログインIDになります。
入力できたら右上の[了解]を押して保存します。
![openam11.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/316098/55ccf432-d037-1698-6961-4584590fd7ac.png)


## 5.登録済み確認
ユーザー一覧に表示されれば登録完了です。
右上の[ログアウト]からログアウトし、ログインできるか確認します。
![openam12.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/316098/b1581a3f-ca33-c193-7fa7-3280c6a23d05.png)

## 6.ログイン
作成したIDでログインします。
![openam13.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/316098/ae21229a-5b93-e557-c7ea-66e933845d7a.png)

## 7.プロファイル画面
一般ユーザーはログイン後の初期画面はプロファイル画面です。
この画面が表示されればログイン成功です。
![openam14.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/316098/2c7af1d4-daed-ca21-6d79-3dbe5b630f0d.png)

# この後は？
追加で基本的な構築内容を投稿していますので参考にしてみて下さい。
SAML IdPを構築したり、[OpenAM 14 SAML IdP(認証基盤)構築 10分間クッキング](https://qiita.com/tonoki/items/771d35f6dd3416ddede5)
パスワードレス設定をしたり、[OpenAM 14のパスワードレス設定10分間クッキング](https://qiita.com/tonoki/items/9cd3b6ff427bf9916ed0)

# 初期設定をやり直す、初期化する
tomcatサービスを止めて、以下のディレクトリを削除します。
これで初期設定からやり直せます。

```
# systemctl stop tomcat
# rm -rf /usr/share/tomcat/openam
# systemctl start tomcat
```