概要
自前でIdPを構築できるOpenAMをインストールしてみます。
環境
注意事項
以下の設定をしておかないとOpenAMをインストールできても設定途中でコケたり、設定中にサービスが死んだりします
- システムのメモリは2G以上用意
- Tomcatのメモリは最低で
JAVA_OPTS="-Xmx1024m -XX:MaxPermSize=256m"
- OpenAMサーバを見るとき、IP指定やlocalhost指定はダメ。hostsでFQDNを設定する。
- OpenAMサーバのFQDNは3フレーズ以上。良い例:
sso.example.com
。悪い例:example.com
インストール
JDKインストール
$ sudo aptitude install openjdk-7-jdk
Tomcatインストール
$ sudo aptitude install tomcat7 tomcat7-admin tomcat7-common tomcat7-docs tomcat7-examples tomcat7-user
デフォルトのサービスを一旦落とし、インスタンスを作ってそこから起動します。
$ sudo service tomcat7 stop
OpenAM用のインスタンスtest
を作成
$ tomcat7-instance-create test
環境変数の変更
メモリの量を変更します。test/bin/setenv.sh
を以下のように変更。
# Default Java options if [ -z "$JAVA_OPTS" ]; then JAVA_OPTS="-Djava.awt.headless=true -Xmx128M" fi ↓ # Default Java options if [ -z "$JAVA_OPTS" ]; then JAVA_OPTS="-Xmx1024m -XX:MaxPermSize=256m" fi
変更したら実行して反映します。
$ ./test/bin/setenv.sh
OpenAMのwarファイルをダウンロード
OpenAM Nightly Builds - ForgeRock Community
こちらのWAR
と書いてあるやつです。一応wgetするようにしますがダウンロード出来ない場合は上のリンクから落としてください。
$ wget http://download.forgerock.org/downloads/openam/OpenAM-13.0.0-SNAPSHOT_20141218.war
OpenAM起動
ダウンロードしたwarファイルをtest/webapps
フォルダに移動して起動します。
$ mv OpenAM-13.0.0-SNAPSHOT_20141218.war openam.war $ cp openam.war test/webapps/ $ ./test/bin/startup.sh
warファイルをリネームしないとアクセスするときのURLが長くなるのでご注意。
/etc/hosts
の編集
設定上IPでなくFQDNが必要なので、接続するクライアントPCの/etc/hosts
に追加します。
OpenAMサーバが今回192.168.33.10
とすると、
192.168.33.10 openam.example.com
といった感じに追加します。
設定
http://openam.example.com:8080/openamにアクセス
右側の「カスタム設定」をクリック
同意してContinue
管理者パスワードの設定です。今回は
- ID: amAdmin
- PW: hogehoge
という組み合わせにします。
サーバURLの設定。FQDNで記述しないとこの先コケます。今回はhttp://openam.example.com:8080
です。
ポートはそれぞれ任意です。空いているポートを使用してください。
OpenAMのユーザデータストアを選択
ロードバランサは使用しないので「いいえ」
ポリシーエージェントユーザの設定。こちらは
- ID: UrlAccessAgent
- PW: fugafuga
とします。
これまでの設定の確認画面。「設定の作成」をクリックします。
設定に問題が無ければ上記の完了画面が表示されます。
もう一度http://openam.example.com:8080/openamにアクセスするときちんとログイン画面が表示されます。
今回はインストールまでなので以上です。お疲れ様でした。