OpenIDMをWindows/MS SQL Server環境にインストールしてみた

OpenIDM3.1をWindowsSQL Server環境にインストールしたので、手順メモです。

OpenIDM3.0からはPowerShellもサポートされています。ということでWindows環境で検証すべく、まずはインストールしてみました。
http://docs.forgerock.org/en/openidm/3.0.0/release-notes/index.html

インストール環境

まず、今回の環境情報は以下になります。

OpenIDMは評価用のDBとしてOrientDBを内蔵していますが、Windows 環境ということで、ここをSQL Serverにします。
 

 

ソフトウェアの事前準備

それぞれ以下のURLからソフトウェアをダウンロードします。

  • OpenIDM

https://backstage.forgerock.com/#!/downloads/enterprise/OpenIDM

http://www.oracle.com/technetwork/jp/java/javase/downloads/jre7-downloads-1880261.html

http://www.microsoft.com/ja-jp/download/details.aspx?id=22973

それぞれダウンロードすると、以下のファイルがダウンロードされている状態になると思います。今回使ったバージョンもファイル名でわかると思います。

jre-7u67-windows-x64.exe
openidm-3.1.0.zip
SQLEXPRWT_x64_JPN.exe

OpenIDMのインストール

まずは単体でOpenIDMを起動するところまでです。

最初に、JREのEXEを実行してJREをインストールします。

インストールが完了したら、コマンドプロンプトから環境変数としてJAVA_HOMEを設定します。ここではシステム環境変数に設定するためにMスイッチをつけてコマンドを実行しています。

SETX JAVA_HOME "C:\Program Files\Java\jre7" /M

次はOpenIDMのZIPファイルを解凍して、openidmフォルダを適当な場所に移動します。ここではCドライブの直下に移動しました。

C:\openidm

後はstartup.batを実行するだけです。

C:\openidm>startup.bat

コンソールが別に立ち上がり、以下のような状態になりOpenIDMが起動した状態になります。




確認のためブラウザから以下のアドレス入れてApache Felix Web Consoleにアクセスします。

https://localhost:8443/system/console
ユーザ:admin
パスワード:admin

また、以下のURLからはOpenIDMにログオンできます。

https://localhost:8443/openidmui
ユーザ:openidm-admin
パスワード:openidm-admin


この時点でOrientDBをDBMSとしてOpenIDMが起動していることになります。今度はこのOrientDBをSQL Serverに入れ替えてきます。

SQL Serverインストール・設定

SQL Serverインスト-ル

SQL Serverのインストール自体は特筆すべきところはありません。EXEクリックしてそのままインストール進めてください。データベースエンジンさえあれば動くと思います。

SQL Serverの設定

インストール後の設定に関してはこのページに沿って行います。
http://openidm.forgerock.org/doc/webhelp/install-guide/repository-mssql.html

まずはJDBCの接続を受けるための設定をSQL Server構成マネージャから行います。

まず、ネットワーク構成でTCP/IPを有効化します。

また、IPAllに対してTCP動的ポートを1433に設定します。

設定後にSQL Serverを再起動します。

また、JDBCからは通常、「SQL Server認証」を使って接続しにくるため「SQL Server認証」を有効化しておきます。


DB構築

OpenIDMの以下のフォルダのSQLを使ってDBを構築します。

\openidm\db\mssql\scripts\openidm.sql

DBを構築すると、openidmという名前のデータベースができます。

JDBC設定

JDBCの設定になりますが、少しだけ複雑です。
①以下のURLからダウンロードしたファイルを解凍して、中から「sqljdbc4.jar」のファイルを「C:\openidm\db\mssql\scripts」のフォルダに置きます。

http://www.microsoft.com/ja-jp/download/details.aspx?id=11774

②以下のURLからダウンロードした「biz.aQute.bnd.jar」も同様に「C:\openidm\db\mssql\scripts」のフォルダに置きます。

http://dl.dropbox.com/u/2590603/bnd/biz.aQute.bnd.jar

③この時点で「C:\openidm\db\mssql\scripts」には以下の3ファイルが置かれます。

  • biz.aQute.bnd.jar
  • sqljdbc4.bnd
  • sqljdbc4.jar

④「C:\openidm\db\mssql\scripts」のフォルダから以下のコマンドを実行して「sqljdbc4.bar」ファイルを作成します。

C:\openidm\db\mssql\scripts>java -jar biz.aQute.bnd.jar wrap -properties sqljdbc4.bnd sqljdbc4.jar

⑤「sqljdbc4.bar」ファイルを「sqljdbc4-osgi.jar」にリネームし、「\openidm\bundle」に移動します。
⑥「C:\openidm\conf\repo.orientdb.json」ファイルを削除します。
⑦「C:\openidm\db\mssql\conf\repo.jdbc.json」を「C:\openidm\conf\repo.jdbc.json」にコピーします。
⑧「C:\openidm\conf\repo.jdbc.json」をエディタで開きます。中身はJSON形式の設定ファイルなので、接続設定を変更します
例えば、名前付きインスタンスを使っている場合はjdbcUrlのinstanceNameを変更します。

OpenIDMをSQL Server上で起動

再度「C:\openidm\startup.bat」を起動します。起動後に以下のアドレスでログオンし、ユーザを作ります。

https://localhost:8443/openidmui
ユーザ:openidm-admin
パスワード:openidm-admin

SQL Serverにユーザが追加されたことがわかります。

Windowsサービス登録

最後にWindowsサービスへの登録です。色々やりかたあるみたいですが、どれもうまくいかず、最後にこのやり方でうまくいきました。


引数に渡している「OpenIDM」Windowsサービス名なので、必要に応じて変更してください。何も指定しないとデフォルトで「ForgeRockLauncherJavaService」というサービス名になります。

C:\openidm\bin>launcher.bat /install OpenIDM

 

 
これでインストールは完了です。