貴学にて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関連の設定ファイルやディレクトリの所有者、パーミッションを設定します。