旧: 貴学にてIdPv4(Tomcat)をインストールする場合の構築手順

旧: 貴学にてIdPv4(Tomcat)をインストールする場合の構築手順

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

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







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

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

  • メモリ3GB以上
    Java実行環境への推奨割り当てメモリ量が1.5GBですので、その動作に支障がないようにしてください。

  • Apache HTTP Server 2.4 以上 と mod_ssl

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

  • Apache Tomcat 9

    • JMXを初期化前に使うと動作がおかしくなります。

    • Tomcat 8以降idp.xmlに unpackWAR="false" を指定していると起動に4〜5倍時間がかかりますので、気になる方は指定を解除してください。
      ※いずれも以下のShibbolethのサイト「Apache Tomcat 8」が情報源です。

  • Java 11

    • Oracle JDK / OpenJDK 11にてLDAPサーバへの接続にLDAPSを使う場合、以下のエラーになるという情報があります。

      java.lang.NullPointerException: Thread local SslConfig has not been set

      原因はJDKのバグであるとのことです。該当する場合、以下でUnboundIDを使う回避策が提示されています。
      https://wiki.shibboleth.net/confluence/display/IDP30/LDAPonJava>8
      詳細: https://issues.shibboleth.net/jira/browse/IDP-1357

    • Java 8およびそれ以降を使う場合エントロピー不足で起動が遅くなる場合があるという情報があります。jre/lib/security/java.securityやシステムプロパティ等で対処してください。
      確認方法および手順例: IdPのサービス動作状況の確認の「よくあるエラー」の503エラーの項

      • この問題はCentOS 7を使っている場合に顕著です。

      • VMで稼働させていてこの問題がある場合、ホストマシンでHavegedを導入しVMからこれを参照する等で十分なエントロピーを生成できる場合があるようですので、合わせてご検討ください。

    • Java 8およびそれ以降を使う場合は、/etc/sysconfig/tomcatのJAVA_OPTSに指定するオプションのうち "-XX:MaxPermSize=256m" は意味がありません(Java 7向けの指定です)ので削除してかまいません。

    • GNU Javaは利用できません。 OpenJDKもしくはOracleのJavaを利用してください。

他の環境および最新の情報はShibbolethのサイトでご確認ください:
全体, Jetty 9.2Jetty 9.3, Apache Tomcat 8



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

1. OSでの設定

・OS(CentOS 7)インストール

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

Webサーバー (HTTPのみ)
OpenLDAP

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

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



$ /usr/sbin/getenforce



・ネットワーク設定

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

2. DNSへ登録する

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

3. 時刻同期を設定する

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

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




3. jdk 11、tomcat 9をインストールする 

1. 古いtomcatの削除