0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

【RHEL】忘備録:OpenAMの構築

Last updated at Posted at 2025-06-06

———これは私がOpenAMにハマり、発狂し、ここまでこぎつけた物語。

OpenAMを検証で構築する必要があったので、色々な資料を見つつ、構築したので、その忘備録として記載します。

普段あまり、Linux系を触らないので最適解がわかってないところもあると思います。
もしございましたら、有識者の方々ご教示ください。<(_ _)>

0.事前知識だったり他色々

前提情報だったり、事前知識だったりをまとめています。

環境

項目 ソフトウェア名 バージョン
OS RedHat Enterprise Linux 9.5
JDK OpenJDK 1.8
Web Apache 2.4.62
AP Tomcat 9.0.87
IdP OpenAM Community Edition 15.1.6

OpenAM Community Edition

OpenJDKって何?って人向け

このOpenAMをIdPとして利用する場合

 Microsoft 365(旧:Office365) は原則的にHTTPSを推奨している。
というかほぼ強制的にHTTPSであることを求めてくる。
あとMS-Online から Microsoft Graphとかいうのに変わっているのでこれもややこしい。

OpenAM側でHTTPS(SSL)にする場合、ちょっとまだわからないので、わかればまとめようかなと思います。(2025.07.02)

1.準備

ホスト名とhostsの設定

hostnameの設定

# vi /etc/hostname

例).
openam.example.com
FQDNで記載する。

hostsの設定

# vi /etc/hosts
127.0.0.1	localhost ...4
:::1		localhost ...6
xxx.xxx.xxx.xxx openam.example.com

※127.0.0.1にopenam.example.comを書き込むとリダイレクトが発生するので接続できない。
 そもそもその設定は推奨してなさそう。

ネットワーク設定

# nmtui

当然ながらサーバなのでIPアドレスとか固定しておく必要があります。
(そもそもこんなこと書く必要あるだろうか……)

リポジトリの確認と更新

# yum check-update
# yum update

古いの抱えても仕方ないかなと思うので念のためリポジトリを最新化させる。
ここは最新にしておく必要があるのかな?と思いつつ実行。

OpenAM をダウンロードする

# cd /tmp/
# wget <OpenAM のダウンロード URL>

※URLは OpenAM-xx.x.x.war のような warファイルでOK
 構築時は15.1.6を実行。
$wget https://github.com/OpenIdentityPlatform/OpenAM/releases/download/15.1.6/OpenAM-15.1.6.war

とりあえずOpenAMをデプロイしたい!!!!
という人はOpenAM-.warファイルをダウンロードしてください。
ファイル名を openam.war に変更しておく

# mv OpenAM-xx.x.x.war openam.war

普段 Windows屋をやっていますので、リネームをmv(ファイル移動コマンド)や cp(ファイルコピーコマンド)で出来るのは新鮮でした。

2. OpenJDK をインストールと設定

# java -version
# yum install java-1.8.0-openjdk
# java -version

OpenJDKのセキュリティポリシーを変更する

# update-crypto-policies --show
# update-crypto-policies --set LEGACY

【課題】
デプロイ時にエラーが発生する。
ここのポリシーが何かしらの原因を持ってるっぽい
理想はこのポリシーを変更しないでOpenAMの水準を合わせることで解決したいけど一旦できないのでLEGACYにしています。

再起動後にポリシーが適用される模様なので、再起動後にチェックする。

3.Apache(httpd)をインストールする

Apacheのインストール

# httpd -v
# yum info httpd
# yum -y install httpd
# httpd -v
# yum update httpd

※HTTPS化したい場合は以下のものをインストールします。
SSLモジュールのインストール

# httpd -M | grep ssl
# yum install mod_ssl
# httpd -M | grep ssl
 ssl_module (shared)

ssl_module (shared)が出たらインストール完了

4.Tomcatをインストールする

# yum info tomcat
# yum -y install tomcat
# tomcat version
# yum update tomcat

5.Firewall の設定

とりあえずOpenAMを接続する既定ポート(TCP8080)を開放する

# firewall-cmd --add-port=8080/tcp --permanent
# firewall-cmd --reload

6.諸設定をする

6.1.Apache Tomcatの連携

HTTPS化(SSL)を利用する場合はここが必要っぽい?

6.2.OpenAMのカスタマイズ

このカスタマイズが必要?
→不要

Open Identity Pratform//OpenAM Access Management : To Set Up Configuration Tools

6.3.OpenAM をTomcatに配置する

openam.warファイルをwebappsに配置する。

# cp /tmp/openam.war /usr/share/tomcat/webapps/

mvでもいい

# ls /usr/share/tomcat/webapps/

webapps/配下にopenam.warがあることを確認する。

デーモン(サービス)を自動起動化する

# systemctl enable httpd
# systemctl enable tomcat

再起動などで一度OSが停止するとWebが機能しなくなるので必須

構成を適用する

# reboot

7.キーストアの生成

OpenAM用初期設定後に自動生成されているtest鍵ペアは、すべてのOpenAMサーバ共通の為本番環境では使用はしないこと。

準備

# mkdir -p /usr/share/tomcat/openam/openam/keystores

どこでもいいと思う

キーストアの生成

$keytool -genkeypair \
 -keyalg rsa \
 -alias openam-idp\
 -dname "CN=openam.example.com,O=Example,ST=Tokyo,C=JP" \		#※1.
 -keypass changeit \
 -keystore /usr/share/tomcat/openam/openam/keystore.jceks \		#※2.
 -storetype JCEKS \												#※2.
 -storepass changeit \
 -validity 365 \
 -keysize 2048

最低限のラインで生成できる。
必要があれば以下の情報を基に作成する。

※1.-dnameのパラメータ例

パラメータ 内容
CN Common Name(一般的にホスト名やサービス名) example.com
OU 部署名など IT
O 組織名 YourOrganization
L 市区町村 Tokyo
ST 都道府県 Tokyo
C 国コード(2文字) JP

※#2.Keystoreの暗号ファイル生成について
PKCS12が推奨値らしい。
-keystore mykeystore.p12
-storetype PKCS12
場所については多分-keystoreで指定かな?

7.確認

構成確認

# update-crypto-policies --show
# ls /usr/share/tomcat/webapps/

openamディレクトリが出来ていることを確認する

ブラウザで接続してみる

http://"localhost":8080/openam
例).http://openam.example.com/openam

※内部(LAN)NWで接続するのであれば "Localhost" はIPアドレスでもよいと思います。

OpenAMの画面が出ればOK

参考資料

後でまとめる

0
0
0

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
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?