$ vagrant box add ubuntu http://cloud-images.ubuntu.com/quantal/current/quantal-server-cloudimg-vagrant-amd64-disk1.box
$ vagrant init ubuntu
OSを起動する。
$ vagrant up
※参考情報:OSのバージョン
$ cat /etc/lsb-release
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=12.10
DISTRIB_CODENAME=quantal
DISTRIB_DESCRIPTION="Ubuntu 12.10"
Oracle JDKをインストールする。
$ sudo add-apt-repository ppa:webupd8team/java
$ sudo apt-get update
$ sudo apt-get install oracle-java7-installer
バージョンを確認してみる。2014/7/7時点では以下の通りであった。
$ java -version
java version "1.7.0_60"
Java(TM) SE Runtime Environment (build 1.7.0_60-b19)
Java HotSpot(TM) 64-Bit Server VM (build 24.60-b09, mixed mode)
$ javac -version
javac 1.7.0_60
環境変数の定義を追加する。
$ cd
$ vim .profile
export JAVA_HOME=/usr/lib/jvm/java-7-oracle
export PATH=$PATH:$JAVA_HOME/bin
JVMの起動パラメータについて、OpenAMの起動には1GBのHeapと256MBのpermanent領域が必要であるため、このような設定にした。
tomcat7のインストールを行う
$ sudo apt-get install tomcat7
起動する前に
$ vim /etc/default/tomcat7
JAVA_HOME=/usr/lib/jvm/java-7-oracle
を設定する必要がある。
Tomcatを起動してみる。
$ service tomcat7 start
* Starting Tomcat servlet engine tomcat7 [ OK ]
上記のようになればOK。
ブラウザから http://localhost:8080/ にアクセスするとTomcatのホーム画面が表示される。
次に、Tomcatの管理用パッケージをインストールしておく。
$ sudo apt-get install tomcat7-admin
最終的なインストール状況を確認する。以下のようになっているはず。
$ ls /usr/share/tomcat*
/usr/share/tomcat7:
bin defaults.md5sum defaults.template lib
/usr/share/tomcat7-admin:
host-manager manager
/usr/share/tomcat7-root:
default_root
管理用のユーザを設定する。
$ cd /var/lib/tomcat7/conf
$ vim tomcat-users.xml
<role rolename="manager-gui"/>
<user username="XXXX" password="XXXX" roles="manager-gui"/>
ここまで出来たら、Tomcatを再起動する。
$ service tomcat7 restart
再起動出来たら、http://localhost:8080/manager にアクセスすると、ログイン認証後、Tomcatの管理用画面が表示されるはず。
OpenIG最新版(2014/7/13時点では2.1.0)のWARファイルををダウンロードしてくる。
wget http://download.forgerock.org/downloads/openig/2.1.0/gateway-2.1.0.war
事前にTomcatのルートコンテキストにあるROOTディレクトリ(/var/lib/tomcat7/webapps/ROOT)は、移動、リネーム、削除などしておく。 OpenIGをデプロイする。
$ cp gateway-2.1.0.war /var/lib/tomcat7/webapps/ROOT.war
基本設定ファイルが存在する。 http://openig.forgerock.org/forgerock-sample-configs.zip からダウンロードしてくる。
# wget http://openig.forgerock.org/forgerock-sample-configs.zip
# unzip forgerock-sample-configs.zip
この手順では基本設定として、WordPressProxyOnly.jsonを用いる。 以下の通り、configファイルを設定する。
# cd /usr/share/tomcat7
# mkdir .ForgeRock .ForgeRock/OpenIG
# cp /root/forgerock-sample-configs/WordPressProxyOnly.json .ForgeRock/OpenIG/config.json
configファイルの中身は以下のように設定を書き直す。 baseURIは名前解決を行う任意のサイトで、デフォルトは http://109.73.67.52:8080/ である。 このままでも基本的には接続出来るはず。
※注意)OpenIGサーバのポート番号と、ターゲットアプリケーション(baseURI)のポート番号は合わせておく必要があるらしい。
# vim config.json
{
"heap": {
"objects": [
{
"name": "HandlerServlet",
"type": "HandlerServlet",
"config": {
"handler": "ClientHandler",
"baseURI":"http://109.73.67.52:8080/"
}
},
{
"name": "ClientHandler",
"type": "ClientHandler",
"config": {
}
}
]
},
"servletObject": "HandlerServlet",
}
クライアント(自分の場合はWindowsのhostsファイル)のFQDN設定を切り替える必要がある。 自分の場合、localhostのVirtualBox上にOpenIGサーバを建てているので、hostsに以下のような設定を追加する。
127.0.0.1 openig.example.co.jp
OpenIGサーバのTomcatを再起動する。
# service tomcat7 restart
クライアントから http://openig.example.co.jp:8080 に接続。 すると先程baseURIに設定した http://109.73.67.52:8080/ に接続されるはず。