[CentOS6][OpenAM10] OpenAMを試す - OpenAMのシングルサインオン(SSO)を試す(1/4)


Create: 2014/02/10
LastUpdate: 2014/02/22
≪ メニューに戻る

ここでは、OpenAMのテスト環境を構築したときの手順の一部を紹介します。
テスト環境の概要は、メニューを参照してください。
OpenAMにログイン(SSO)することで、「テスト用WEBサイト」も認証済みとなり、ヒトがログイン操作しなくてもページを参照できるようにようにします。
リバースプロキシサーバには、OpenAMのPolicyAgentを導入して、OpenAMと連携して動くようにします。
PolicyAgentがOpenAMに問い合わせを行い、認証済みであれば、WEBサーバのアクセスを許可し、未認証であれば、OpenAMのログイン画面を表示します。
システム構成のイメージは以下のとおり。
OpenAMサーバは CentIS6.4 + Tomcat6 + OpenAM とします。


ユーザ端末:192.168.1.91
OpenAMサーバ:192.168.1.92
リバースプロキシサーバ:192.168.1.93
WEBサーバ:192.168.1.94

環境構築と動作確認の手順は、以下のとおり。
  1. OpenAMサーバの構築( CentIS6.4 + Tomcat6 + OpenAM)
  2. OpenAMの設定
  3. リバースプロキシサーバにOpenAMのPolicyAgentを導入
  4. 動作確認

1.OpenAMサーバの構築


CentOS6 + Tomcat6 + OpenAMの組み合わせでSSOの機能をもったOpenAMサーバを構築します。

1.1.CentOS6のインストール


CentOS6のインストール手順は、「 [XenServer 6.1.0] CentOS6.4(32bit)のネットワーク・インストール」を参照してください。
今回は、以下のような設定にします。
  • OS:CentOS6.4 (32bit)
  • SELinux:無効
  • ファイヤーウォール:無効
  • タイムゾーン:Asia/Tokyo
  • 言語:ja_JP.UTF-8
  • パッケージ:最小構成
  • ホスト名: exam01.example.com
  • IPアドレス: 192.168.1.92
OpenAMを導入するサーバのホスト名は、FQDNで設定します。
/etc/sysconfig/network でホスト名を設定できます。
HOSTNAME=exam01.example.com 
/etc/hosts でOpenAMサーバのホスト名が127.0.0.1 を参照するように設定します。
127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4 exam01.example.com

1.2.JAVA SE JDKのインストール


OpenAMは、JDKの1.5 または1.6 で動くようですが、1.6が望ましいようです。
Oeracleのサイトから JDK をダウンロードしてインストールします。
今回は、JDK6をダウンロードしました。
ダウンロードしたファイルをサーバにおいて、以下のように実行してインストールします。
# sh ./jdk-6u45-linux-i586-rpm.bin

1.3.Tomcat6 のインストール


OpenAMを動かせるアプリケーションサーバは、Tomcat6/7、Jetty6/7、JBoss5/6/7 などがありますが、今回は、Tomcat6 をインストールします。
以下のように yum を実行して Tomcat6 をインストールします。
# yum install tomcat6
Tomcat6 が、上記1.2でインストールした JDK6 を使用するように設定し、JAVA_OPTSも設定します。
/etc/sysconfig/tomcat6 を以下のように修正します。
JAVA_HOME="/usr/java/default"
JAVA_OPTS="-Xmx1024m -XX:MaxPermSize=256m"
Tomcat6 のサービスを自動起動/停止するように設定して、サービスを起動します。
# chkconfig tomcat6 on
# service tomcat6 start

1.4.OpenAM のインストール


OpenAMには、エンタープライズ版とコミュニティ版があり、どちらもダウンロードできるようです。違いが、よくわからないのですが、今回は、無償で使えそうなコミュニティ版の10.0.0 を使用します。
ちなみに、エンタープライズ版最新安定バージョン(2014/1/31 時点)は、11.0.0 です。
OpenAMのコミュニティ版は、ForgeRockのダウンロードサイトでWARファイルとして提供されています。
以下のように wgetコマンドを実行して、war ファイルをダウンロードします。
# wget http://download.forgerock.org/downloads/openam/openam10/10.0.0/openam_10.0.0.war
ダウンロードしたWARファイルを Tomcat6 に配置します。一応、オーナを tomcat にしておきます。
# cp ./openam_10.0.0.war /usr/share/tomcat6/webapps/openam.war
# chown -R tomcat.tomcat /usr/share/tomcat6/webapps
コピー完了後、Tomcat6 を再起動します。
# service tomcat6 restart

1.5.OpenAM の初期設定


ユーザ端末(Windows8)からOpenAMにアクセスして初期設定を行います。
OpenAMには、ブラウザで以下のURLでアクセスします。
  • http://exam01.example.com:8080/openam
OpenAMには、必ず、FQDN でアクセスする必要があります。IPアドレスでアクセスしても、OpenAMからのレスポンスは、FQDNでリダイレクトします。
今回はDNSサーバを用意していないので、管理者モードでエディタ(メモ帳など)を起動して、C:\windows\system32\drivers\etc\hosts に以下の内容を追記します。
192.168.1.92    exam01.example.com
 
ブラウザでOpenAMのURLにアクセスすると、下図のように初期設定のページが表示されます。
[新しい設定の作成] をクリックします。



管理者ユーザ(amadmin) のパスワードを入力して、[次へ]ボタンをクリックします。



デフォルト設定が表示されるので、デフォルト値のまま [次へ] ボタンをクリックします。
[Cookieドメイン]と[サーバURL]のドメインは、同じにしないと、初期設定後、管理画面にログインしたときに、次の画面に遷移しなくなるので注意しましょう。



[最初のインスタンス]を選択し、設定データストアは、[OpenAM]を選択します。
あとは、デフォルト値のまま[次へ]ボタンをクリックします。



[OpenAMのユーザデータストア]を選択して、[次へ]ボタンをクリックします。



OpenAMの冗長化はしないので、[いいえ]を選択して、[次へ]ボタンをクリックします。



[パスワード]を入力して、[次へ]ボタンをクリックします。



表示内容を確認して、良ければ、[設定の作成]ボタンをクリックします。



実行中の画面です。このまま、しばらく待ちます。



下図のように「設定が完了しました」と表示されたらOKです。
[ログインに進む]をクリックします。



下図のようにログイン画面が表示されます。
[ユーザ名]に "amadmin" を入力し、[パスワード]には、上記の初期設定時に設定したパスワードを入力します。
[ログイン]ボタンをクリックします。



下図の画面が表示されたら、ログイン成功です。



以上で、初期設定の完了です。


■参考URL