LoginSignup
6
2

More than 5 years have passed since last update.

OpenAMをスタンドアローン構成でセットアップする(CentOS + Apache + Tomcat)

Posted at

今日やること

これからOpenAMのいろいろな機能を試していくわけなのですが、まず、OpenAMをセットアップしないことには何もはじまりません。

セットアップ環境

OpenAMをデプロイするサーバーのFQDNを決めましょう。後ほどセットアップのパラメーターとして使うためです。

  • OS
    • CentOS 6.8 (Vagrant)
  • Memory
    • 2048 MB
  • FQDN
    • iam.example.com

前準備

ここからVM上で作業を行います。

hostsで名前解決

OpenAMをセットアップする際、FQDNで名前解決できないとセットアップに失敗するので、hostsで名前解決をします。
IPアドレスは適宜読み替えてください。

$ diff /etc/hosts{,.org}
3d2
< 192.168.33.10 iam.example.com

hostnameを設定

もしかしたらいらないかもしれないですが、気持ち悪いので。

$ sudo hostname iam.example.com

設定の方も変えておきます。

$ sudo diff /etc/sysconfig/network{,.org}
2,3c2
< #HOSTNAME=localhost.localdomain
< HOSTNAME=iam.example.com
---
> HOSTNAME=localhost.localdomain

openamユーザーの作成

所謂、tomcatユーザーをopenamユーザーとしています。

$ sudo useradd -s /sbin/nologin openam

openjdkのインストール

OpenJDK 1.8.0 系を使用します

$ sudo yum -y install java-1.8.0-openjdk

tomcat8をインストール

OpenAMの実行環境はtomcat8としています

$ sudo wget http://ftp.riken.jp/net/apache/tomcat/tomcat-8/v8.0.39/bin/apache-tomcat-8.0.39.zip -P /opt/
$ sudo unzip /opt/apache-tomcat-8.0.39.zip -d /opt/
$ sudo ln -s /opt/apache-tomcat-8.0.39 /opt/tomcat

ファイルディスクリプタの上限値設定

OpenAM内蔵のデータストアは多くのファイルをオープンするようなので、上限値を上げておきます。

$ diff /etc/security/limits.conf{,.org}
49,50d48
< openam soft nofile 65536
< openam hard nofile 131072

Apacheのインストール

検証用とはいえ、認証サーバーに非暗号通信でアクセスするのは気持ちが悪いので、オフロード用にApache HTTP Serverを導入します。

$ sudo yum -y install httpd mod_ssl

tomcatにプロキシする設定を行い、Apacheを再起動します。

$ sudo cat /etc/httpd/conf.d/openam.conf 
Proxypass / ajp://localhost:8009/
$ sudo service httpd restart

OpenAMのデプロイ

OpenAMのダウンロード

Nightly Buildのリンクは古いものから削除されているようなので、Not foundとなる場合は、リンクの日付を変更して試してみてください。

$ sudo wget http://download.forgerock.org/downloads/openam/OpenAM-14.0.0-SNAPSHOT_20161122.war -O /opt/tomcat/webapps/openam.war

JVMオプションの設定

セットアップ時に結構メモリを使うので、setenv.shファイルにJVMオプションの設定を記述します。

$ sudo cat /opt/tomcat/bin/setenv.sh
#!/bin/sh

JAVA_OPTS="-server -Xmx1024m"

export JAVA_OPTS

権限の変更

openamユーザーで実行するので、所有権の変更します。
さらに、起動・停止のスクリプトに実行権限を付与します。

$ sudo chown -R openam. /opt/tomcat/
$ sudo chmod +x /opt/tomcat/bin/*.sh

Tomcatの起動

startup.shを実行し、Tomcatを起動します。

$ sudo -u openam /opt/tomcat/bin/startup.sh 
Using CATALINA_BASE:   /opt/tomcat
Using CATALINA_HOME:   /opt/tomcat
Using CATALINA_TMPDIR: /opt/tomcat/temp
Using JRE_HOME:        /usr
Using CLASSPATH:       /opt/tomcat/bin/bootstrap.jar:/opt/tomcat/bin/tomcat-juli.jar
Tomcat started.

OpenAMのセットアップ

初期設定画面にアクセス

ブラウザを起動して、https://iam.example.com/openamにアクセスします。
※ローカルPCの名前解決もhostsなどで行ってください。

設定オプションの画面が表示されるので、新しい設定の作成をクリックします。

002.PNG

License Agreementの画面が表示されるので、条文の最下部にあるチェックボックスを有効にして、Continueをクリックします。

003.PNG

ここから初期設定のパラメータを設定していきます。まず、OpenAMの管理者(ユーザー名はamadmin)のパスワードを設定します。

004.PNG

サーバー設定の画面が表示されるので、CookieドメインのところにOpenAMサーバーのFQDNのドメイン部(ここでは.example.comを入力し、次へをクリックします。

005.PNG

設定ストアの詳細の画面が表示されます。ここでは、パラメータの変更を行わず、次へをクリックします。外部のサーバー上の設定ストアを利用する場合は、ここを変更するみたいです。

006.PNG

ユーザーストアの詳細の画面が表示されます。ここでは、OpenAM内蔵のデータストアを使用するので、OpenAMのユーザーデータストアを選択し、次へをクリックします。

007.PNG

サイト設定の詳細の画面が表示されます。ここでは、パラメータの変更を行わず、次へをクリックします。冗長構成をとる場合に使用するようです。

008.PNG

ポリシーエージェントユーザーの画面が表示されます。ここのパラメータは正直、よくわかっていません。たぶん、Sun時代の遺産のPolicy Agentと連携するときに使用するパスワードなのかなぁと想像しています。ここでは、適当なパスワードを設定しておきます。

009.PNG

設定ツールの概要と詳細の画面が表示されます。設定したパラメータを確認し、設定の作成をクリックします。

010.PNG

1分ぐらい経つと、設定が完了しましたと表示されますので、ログインに進むをクリックします。

011.PNG

OpenAMのサインインの画面が表示されます。先ほど設定したOpenAMの管理者アカウント(ユーザー名はamadmin)でサインインします。ちなみに、サインインのURLは
https://iam.example.com/openam/XUI/#login/
となります。

012.PNG

サインイン後は、設定画面のトップページが表示されます。

013.PNG

こんな感じで、OpenAMのセットアップは完了です。

まとめ

  • CentOS + Apache + TomcatにOpenAMをデプロイできる
  • セットアップのための初期設定はWebからできる
  • セットアップ後は管理者アカウントでサインインできる
  • セットアップする前にやっといたほうがいい設定が何個かある

明日はPolicy Agentネタの予定です。

ばい!

6
2
3

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
6
2