end0tknr's kipple - web写経開発

太宰府天満宮の狛犬って、妙にカワイイ

OpenAMコンソーシアムのOpenAM14? 15? を srcから build

次のurlを参考/そのままに OpenAM14? 15? (※)を srcから buildします。

(※ OpenAM14を git clone https://github.com/openam-jp/openam したつもりが OpenAM15のようでした...)

warファイルやdockerファイルは、上記の OpenIdentityPlatform から入手可能です。

build環境

現在あるjava等のversionは以下の通り

$ cat /etc/redhat-release 
  CentOS Linux release 8.1.1911 (Core)
$/usr/bin/java -version
  openjdk version "1.8.0_252"
$ mvn -version
  Apache Maven 3.5.4 (Red Hat 3.5.4-5)

依存libraryのbuild

$ git clone https://github.com/openam-jp/forgerock-parent
$   cd forgerock-parent        ; mvn clean install; cd ..
$ git clone https://github.com/openam-jp/forgerock-bom
$   cd forgerock-bom           ; mvn clean install; cd ..
$ git clone https://github.com/openam-jp/forgerock-build-tools
$   cd forgerock-build-tools   ; mvn clean install; cd ..
$ git clone https://github.com/openam-jp/forgerock-i18n-framework
$   cd forgerock-i18n-framework; mvn clean install; cd ..
$ git clone https://github.com/openam-jp/forgerock-guice
$   cd forgerock-guice         ; mvn clean install; cd ..
$ git clone https://github.com/openam-jp/forgerock-ui  【※1】
$   cd forgerock-ui            ; mvn clean install; cd ..
$ git clone https://github.com/openam-jp/forgerock-guava
$   cd forgerock-guava         ; mvn clean install; cd ..
$ git clone https://github.com/openam-jp/forgerock-commons
$   cd forgerock-commons       ; mvn clean install; cd ..
$ git clone https://github.com/openam-jp/forgerock-persistit
$   cd forgerock-persistit     ; mvn clean install; cd ..
$ git clone https://github.com/openam-jp/forgerock-bloomfilter
$   cd forgerock-bloomfilter   ; mvn clean install; cd ..
$ git clone https://github.com/openam-jp/opendj-sdk
$   cd opendj-sdk
$   mvn clean install -DskipTests 【※2】
$   cd ..
$ git clone https://github.com/openam-jp/opendj
$   cd opendj                  ; mvn clean install; cd ..

※1 forgerock-ui には、nodejs, npm がバンドルされていますが、 「mvn clean install」で「npm WARN deprecated circular-json@0.3.3」エラー表示後、 処理が完全に止まっているようでしたので、httpsが怪しいと考え 「$ npm config set registry http://registry.npmjs.org/」を実施しました。

[INFO] Running 'npm install --color=false' in /home/end0tknr/tmp/forgerock-ui-13.0.5/forgerock-ui-commons
[ERROR] npm WARN deprecated eslint-formatter-warning-summary@1.0.1: this package has been deprecated
[ERROR] WARN engine jsdoc@3.6.4: wanted: {"node":">=8.15.0"} (current: {"node":"4.2.6","npm":"3.5.3"})
[ERROR] npm WARN deprecated minimatch@2.0.10: Please update to minimatch 3.0.2 or higher to avoid a RegExp DoS issue
[ERROR] npm WARN deprecated circular-json@0.3.3: CircularJSON is in maintenance only, flatted is its successor.

※2 私の環境では「mvn clean install」のテストに失敗しました。 ただ、opendjでなく、openldap を今後、使用予定ですので、 「mvn clean install -DskipTests」で回避?しました。

python2.7に依存

OpenAM14?, 15?は、python2.7(≠3)に依存する為、今更?、python2.7をinstall

$ wget https://www.python.org/ftp/python/2.7.18/Python-2.7.18.tgz
$ tar -xvf Python-2.7.18.tgz
$ cd Python-2.7.18
$ ./configure --prefix=/usr/local/python2 --enable-optimizations

$ vi Modules/Setup 【※3】
  SSL=/usr/local/openssl_1_1_1
  _ssl _ssl.c \
      -DUSE_SSL -I$(SSL)/include -I$(SSL)/include/openssl \
      -L$(SSL)/lib -lssl -lcrypto

$ make
$ make test
$ sudo make install

$ export PYTHON=/usr/local/python2/bin/python

※3 opensslを /usr/local/openssl_1_1_1 へinstallしていた為、 Modules/Setupを編集

openam 本体のbuild

$ git clone https://github.com/openam-jp/openam
$ cd openam
$ mvn clean install

すると、以下にwarファイルが作成されます
$ ls -l openam-server/target/*war
-rw-rw-r--  1 end0tknr end0tknr 115636094 Jul  1 12:44 OpenAM-15.0.0-SNAPSHOT.war