比較バージョン

キー

  • この行は追加されました。
  • この行は削除されました。
  • 書式設定が変更されました。

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

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



目次
maxLevel2
minLevel2
stylenone

...

アンカー
idpInst1
idpInst1

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

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

  • Apache HTTP Server 2.4 以上 と mod_ssl

...

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

...

アンカー
idpInst2
idpInst2

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

1. OSでの設定

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

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

...

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

2. DNSへ登録する

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

3. 時刻同期を設定する

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

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


...

アンカー
idpInst3
idpInst3

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

1. tomcatの削除

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

2. java17 のインストール 

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

パネル
borderColor#cccccc
bgColor#eeeeee
borderStylesolid

(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」をマウス右クリックして「リンクをコピー」を選択することによって、クリップボードに得ることができます。

...

パネル
borderColor#cccccc
bgColor#eeeeee
borderStylesolid

# sudo systemctl daemon-reload
sudo systemctl enable jetty


4. jetty-baseの設定

/opt/jetty-base/webapps/idp.xmlを以下のように修正します。(下記のようになっていることを確認します)

...

パネル
borderColor#cccccc
bgColor#eeeeee
borderStylesolid

# ---------------------------------------
# Module: idp
# Shibboleth IdP
# ---------------------------------------
--module=logging-logback
--module=idp

--module=http
--module=http-forwarded

(省略)

# Allows use of default IdP command line tools.
jetty.http.host=127.0.0.1
jetty.http.port=8080


/opt/jetty-base/start.d/idp-logging.ini を修正します。ファイルが無ければ作成してください。

パネル
borderColor#cccccc
bgColor#eeeeee
borderStylesolid

# Override logback version pinned in jetty-home/modules/logback-impl.mod
logback.version=1.4.9

情報

ここで記載しているバージョンは lib/logging/ 以下に配置されているライブラリのバージョンです。展開したjetty-baseが本技術ガイドに記載のものと異なる場合は、実際に配置されているライブラリのバージョンを logback.version= に記述してください。

この記述を間違えると、エラーメッセージ
    java.security.PrivilegedActionException: java.lang.ClassNotFoundException: ch.qos.logback.access.jetty.RequestLogImpl
によりShibboleth IdPの起動に失敗したり、/opt/jetty-base/logs/jetty.logが出力されないといったことが起こります。


 /opt/jetty-base/etc/tweak-ssl.xmlを以下の内容で作成します。

...

パネル
borderColor#cccccc
bgColor#eeeeee
borderStylesolid

(省略)
[xml]
etc/idp-backchannel.xml
etc/tweak-ssl.xml


5.  httpd の設定 

/etc/httpd/conf/httpd.conf の修正

...

パネル
bgColor#eeeeee

<VirtualHost localhost:80>
ProxyPass /idp/ http://localhost:8080/idp/ connectiontimeout=5 timeout=15
</VirtualHost>

 

...

アンカー
idpInst4
idpInst4

4. Shibbolethのインストール

各ファイル名等の指定は,Version 5に準拠しています。


1. Shibboleth IdP パッケージのダウンロード

http://shibboleth.net/downloads/identity-provider/latest/から最新のIdP( shibboleth-identity-provider-5.?.?.tar.gz)をwgetでダウンロードします。
shibboleth-identity-provider-5.?.?.tar.gz をマウスの右ボタンでクリックするとショートカットメニューが表示されますが、「リンクをコピー」メニューを選択すると、クリップボードにダウンロード元のURLが得られます。
このURLからwgetでパッケージをダウンロードします。

...

情報

ダウンロードしたファイルの真正性を確かめるにはPGP署名(ダウンロードURLに".asc"を追加したもの)を確認してください。

2. インストール

ダウンロードしたtar.gzファイルを展開し、bin/installコマンドを実行します。

...

 上記のような質問に答えながら、インストールを行います。

3. パーミッションの調整 

”jetty”ユーザがログファイルを出力できるようディレクトリの所有者を変更します。

...

ヒント

IdPが実際に使用する証明書の秘密鍵はまだ配置されておりませんので、所有者・パーミッションは後の手順で設定します。


アンカー
jakarta-taglibs-core.jar_jakarta-taglibs-standard.jar
jakarta-taglibs-core.jar_jakarta-taglibs-standard.jar

4. ディレクトリインデックスの禁止

edit-webapp内にweb.xml を作成します。

...


作成したweb.xml を以下の内容で修正します。
※既存の<servlet>の前に設定を追加します。<servlet>ブロックがない時は、最後(</web-app>の手前)に追加してください

パネル
borderColor#cccccc
bgColor#eeeeee
borderStylesolid

<filter-mapping>
<filter-name>SLF4JMDCServletFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>

<!-- Servlets and servlet mappings -->
<servlet>
  <servlet-name>default</servlet-name>
     <servlet-class>org.eclipse.jetty.servlet.DefaultServlet</servlet-class>
       <init-param>
         <param-name>dirAllowed</param-name>
         <param-value>false</param-value>
       </init-param>
     <load-on-startup>0</load-on-startup>
</servlet>

<servlet>
<servlet-name>idp</servlet-name>

...

注意

※jetty起動に失敗したら設定修正後、/opt/jetty-base/tmp/下にファイルが残っていたら削除してから再度起動してください。
※build.shしたら sudo systemctl restart jetty しないと反映されません。



...

アンカー
idpInst5
idpInst5

5. サービスの起動・停止方法


サービス起動コマンド停止コマンド再起動コマンド
httpdsystemctl start httpdsystemctl stop httpdsystemctl restart httpd
jettysystemctl start jettysystemctl stop jettysystemctl restart jetty

 


...

インストールが完了したら,サイト情報等の設定を行って下さい.

 

...