貴学にてIdPv5をインストールする場合の構築手順

貴学にてIdPv5をインストールする場合の構築手順

貴学にてIdPv5をインストールする場合の構築手順

貴学にて、貴学のサーバにOSを含めShibboleth IdPならびに必要なパッケージのインストール・設定を行う手順を説明します。



 


1. Shibboleth IdP (version 5以降) の動作要件

以下は本技術ガイドで構築する前提となる環境です。

  • Apache HTTP Server 2.4 以上 と mod_ssl

以下のパッケージはインストール方法も含めて以降の手順で説明します。

  • Jetty 11

    • jetty-home-11.0.20.tar.gzを使った手順となっています。

  • Java 17

    • Java 17以降のバージョンのみ対応しています。

最新の情報はShibbolethのサイトでご確認ください:
全体, Jetty11


2. OSをインストールする

1. OSでの設定

・OS(Rocky Linux 9)インストール

インストーラでインストールするもの。

Webサーバー (HTTPのみ)
OpenLDAP

その他のパッケージは必要に応じてインストールしてください。
ただし、Java開発とJettyは後の手順で別にインストールします。

運用フェデレーション参加後に、ホスト名を変更する場合はいくつか考慮・解決すべき点があります。
ホスト名は十分ご検討いただいた上で設定してください。詳しくは IdPのホスト名変更に関する注意点 をご参照ください。
※このテキストはSELinuxはPermissiveに設定されているものとして書かれております。下記コマンドでSELinux設定を確認してください。

$ /usr/sbin/getenforce

・ネットワーク設定

 環境に合わせ、ホスト名・ネットワーク・セキュリティを設定して下さい。

2. DNSへ登録する

 新しいホスト名とIPアドレスをDNSに登録してください。

3. 時刻同期を設定する

 ntpサービスを用い、貴学環境のntpサーバと時刻同期をしてください。

  ※Shibbolethでは、通信するサーバ間の時刻のずれが約3分を越えるとエラーになります。

 


3. java17(OpenJDK)、jetty11をインストールする 

1. tomcatの削除

tomcat が入っている場合は、削除してください。

2. java17 のインストール 

Rocky LinuxにはOpenJDKのパッケージが用意されていますので、これをdnfにてインストールします。

(1) インストール可能なjava-17-openJDKがあるか確認します
# dnf list --all | grep java-17-openjdk
(2) java-17-openjdkがインストール済か確認します
# dnf list --installed | grep java-17-openjdk
(3) java-17-openjdkをインストールします
# dnf -y install java-17-openjdk
(4) インストール結果を確認します
# java -version

 

3. jetty11 のインストール 

Jetty11の配置

jetty11は、https://jetty.org/download.html より最新版のパッケージ(.tgz)をダウンロードしてインストールします。
「最新版のパッケージ(.tgz)」のURLは、https://jetty.org/download.htmlの「The latest releases of Eclipse Jetty」表の「11.0.22 (EOCS)」行の「.tgz」をマウス右クリックして「リンクをコピー」を選択することによって、クリップボードに得ることができます。

(下枠の青色「https://repo1.maven.org/maven2/org/eclipse/jetty/jetty-home/11.0.20/jetty-home-11.0.20.tar.gz」が得られたURLです)

# wget https://repo1.maven.org/maven2/org/eclipse/jetty/jetty-home/11.0.20/jetty-home-11.0.20.tar.gz
# tar zxv -C /opt -f jetty-home-11.0.20.tar.gz
# ( cd /opt ; ln -s jetty-home-11.0.20 /opt/jetty )

 

Jetty-baseの配置

さらに、Shibboleth Projectが配布しているJetty向け設定ファイル群(jetty-base)を配置します。

jetty-baseのURLは、ブラウザで

https://build.shibboleth.net/maven/snapshots/net/shibboleth/idp/idp-jetty-base/11.0.0-SNAPSHOT

にアクセスし、バージョン11.0の(ファイル名に含まれる日付けが)最新版であるファイル(idp-jetty-base-11.0.0-*.*-*.tar.gzというファイル名)をマウス右クリックして現れる「リンクをコピー」メニューで、取得してください。(クリップボードにURLがコピーされます)

(下枠の青色「https://build.shibboleth.net/maven/snapshots/net/shibboleth/idp/idp-jetty-base/11.0.0-SNAPSHOT/idp-jetty-base-11.0.0-20240620.102527-121.tar.gz」が得られたURLです)

# wget https://build.shibboleth.net/maven/snapshots/net/shibboleth/idp/idp-jetty-base/11.0.0-SNAPSHOT/idp-jetty-base-11.0.0-20240620.102527-121.tar.gz
# tar zxv -C /opt -f idp-jetty-base-11.0.?-????????.*.tar.gz

 

Jetty起動用ユーザ

サービス起動には、jetty起動用のユーザを使用することを推奨します。

ここでは、一般的な"jetty"ユーザを作成します。(以降、"jetty"ユーザを使用する事を前提として説明します。)なお、下記コマンドでユーザID・グループIDは /usr/share/doc/setup/uidgid の値を利用していますが他の値でも問題ありません。既存のユーザ・グループと重複しない値を指定してください。

# groupadd -g 110 jetty
# useradd -u 110 -g jetty -d /opt/jetty-base -s /sbin/nologin -c "Jetty daemon" jetty
既にjettyグループやjettyユーザが存在する時は、「既に存在します」という意味のメッセージが表示されますが、無視して下さい。

以下のコマンドでその他Jetty関連の設定ファイルやディレクトリの所有者、パーミッションを設定します。