比較バージョン

キー

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

...

  • Apache Tomcat 7 or 8
    • 初期の8.5はセッションのバグにより不安定になるという情報があります。
    • JMXを初期化前に使うと動作がおかしくなります。
      ※いずれも以下のShibbolethのサイト「Apache Tomcat 8」が情報源です。
  • Java 7 or 8
    •  Java 9は使用できません。Shibboleth開発元での検証中で、3.3.2についていくつかの問題が見つかっています。Java 9およびJava 10はサポートしない、いわゆるLTSのみのサポートで固まりつつあるようです。
      https://wiki.shibboleth.net/confluence/display/DEV/Product+Platforms
    • IdPv2からの移行でかつ attribute-resolver.xml / attribute-filter.xml でスクリプトを使っている場合、引き続きJava Java 7(OpenJDK 7)の使用を推奨します。(ただしIdPv2でJava 8を使っていた場合、引き続きJava は終了の方向ですので、Java 8 (Oracle JDK 8 / OpenJDK 8) を使用してください)を使用することを推奨します。
      Java 7とJava 8でスクリプトの書き方に若干の違いがあります。(書き方の違いの例
      詳細(Shibboleth Wiki): ScriptedAttributeDefinition, ScriptConfiguration, ScriptDataConnector
      v2版: IdPJava1.8, ResolverScriptAttributeDefinition, IdPFilterRequirementScript
      (Shibboleth Wikiでは基本的にIdPv3のページでの説明はJava 8(Nashorn)がメインでJava 7(Rhino)も併記、v2版は特に断りがなければJava 7(Rhino)での表記となっています)
    • Java 8を使う場合エントロピー不足で起動が遅くなる場合があるという情報があります。jre/lib/security/java.securityやシステムプロパティ等で対処してください。
      詳細(Shibboleth Wiki): Installation, Troubleshooting > Slow startup time
        
      • この問題はCentOS 7を使っている場合に顕著です。
      • VMで稼働させていてこの問題がある場合、ホストマシンでHavegedを導入しVMからこれを参照する等で十分なエントロピーを生成できる場合があるようですので、合わせてご検討ください。
    • GNU Javaは利用できません。 OracleのJavaもしくはOpenJDKを利用してください。

...

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


 

パネル
borderColor#cccccc
bgColor#eeeeee
borderStylesolid
$ /usr/sbin/getenforce

 


・ネットワーク設定

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

...

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


...

アンカー
idpInst3
idpInst3

3. jdk 8、tomcat 7をインストールする 

...

展開
titleOracleのJavaを使用する場合
注意

Oracle JDKの公開バージョンは8のみですので、その手順を示します。7と8の間でバージョンをまたぐ場合は前述の通り設定ファイルに記述するスクリプトに一部違いがありますのでご注意ください。

http://java.sun.com/javase/downloads/index.jsp にあります"Java SE 8u???"の項にある"JDK"の項より構築環境に合わせてダウンロードしたパッケージを適当なフォルダに置いて、以下のコマンドを実行してください(???は用意されているjdkのリビジョン番号にあわせて記述して下さい)。

パネル
borderColor#cccccc
bgColor#eeeeee
borderStylesolid
# rpm -ivh jdk-8u???-linux-x64.rpm

上記のようにインストールした場合、パッケージ名は jdk1.8.0_???-1.8.0_???-fcs 、インストールパスは /usr/java/jdk1.8.0_???/ になります。後述のJAVA_HOMEには /usr/java/jdk1.8.0_???/jre もしくは等価なシンボリックリンクを指定してください。

8u161およびそれ以降の場合、暗号アルゴリズムの制限は解除済みですので特に操作は不要です。念のため下記 java.security の内容を確認してください。

8u151および8u152の場合、暗号アルゴリズムの制限を解除するために、/usr/java/jdk1.8.0_???/jre/lib/security/java.security に以下のように指定してください。

コード ブロック
crypto.policy=unlimited
展開
title8u151より前のバージョンの場合の暗号アルゴリズム制限解除方法
再度上記URLから「Java Cryptography Extension (JCE) Unlimited Strength Jurisdiction Policy Files for JDK/JRE 8」にある jce_policy–8.zip をダウンロードし、展開したREADME.txtに従って /usr/java/jdk1.8.0_???/jre/lib/security/local_policy.jarUS_export_policy.jar を(オリジナルをリネームした上で)配置してください。

 


3. tomcat 7のインストール 

CentOS 7の場合、標準パッケージにTomcat 7があるため、yumにてインストールします。 

...

展開
titleCentOS 6の場合

CentOS 6の場合、標準パッケージにはTomcat 7がないため、Apache Software Foundationが配布するTomcatパッケージをダウンロードしてインストールします。
/usr/javaを作成します。https://tomcat.apache.org/download-70.cgi よりダウンロードした apache-tomcat-7.?.??.tar.gz を/usr/javaに置いて、
以下のコマンドを実行してください(?は用意されているtomcatのリビジョン番号にあわせて記述して下さい)。

パネル
borderColor#cccccc
bgColor#eeeeee
borderStylesolid
# mkdir /usr/java
# tar zxv -C /usr/java -f apache-tomcat-7.?.??.tar.gz # ln -s /usr/java/apache-tomcat-7.?.?? /usr/java/tomcat

 


自動起動スクリプトを利用すると便利です。ZIPを解凍後にtomcat 7起動スクリプトファイルをコピーします。

展開
title学認提供自動起動スクリプトについて

/etc/init.d/tomcat7 を更新する場合はTomcat停止後に行なうのがお勧めです。そうでないとPIDファイル等に不整合が生じます。

ファイル内にJAVA_HOME、CATALINA_HOMEおよびCATALINA_BASEが定義されておりますので、「4. profileの修正」を参考に環境に合わせて変更してください。

Oracle(Sun) JVM / OpenJDK 以外をご使用の方は定義されているオプションを適宜調整してください。

パネル
borderColor#cccccc
bgColor#eeeeee
borderStylesolid
# unzip tomcat7.zip
# chmod a+x tomcat7
# cp tomcat7 /etc/rc.d/init.d/

自動起動の設定 (このオプション指定では マイナス ‘-’ が2つ必要です)

パネル
borderColor#cccccc
bgColor#eeeeee
borderStylesolid
# chkconfig --add tomcat7
# chkconfig --level 345 tomcat7 on


"tomcat"ユーザで起動

 "root"ユーザではなく、Tomcat起動用のユーザを使用することを推奨します。
ここでは、一般的な"tomcat"ユーザを作成します。(以降、"tomcat"ユーザを使用する事が前提で説明します。)

パネル
borderColor#cccccc
bgColor#eeeeee
borderStylesolid
# useradd -r -d /usr/java/tomcat -s /sbin/nologin -c "Tomcat daemon" tomcat
 また、起動スクリプトを修正し、"tomcat"ユーザで起動するようにします。
ダウンロードした起動スクリプトを使用する場合は以下のように修正します。(
/etc/rc.d/init.d/tomcat7  


情報

もしTomcatが起動していれば、修正前にstopしてください。

パネル
borderColor#cccccc
bgColor#eeeeee
borderStylesolid

# Remove -XX:MaxPermSize=256m if you are not using Sun/Oracle JVM nor OpenJDK.
export JAVA_OPTS="-server -Xmx1500m -XX:MaxPermSize=256m -XX:+UseG1GC "
export LANG=en_US.UTF-8
TOMCAT_USER=tomcat

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

# chown -R tomcat:tomcat /usr/java/tomcat/{temp,logs,work}
# chown tomcat:tomcat /usr/java/tomcat/webapps
# chmod +t /usr/java/tomcat/webapps
# chgrp tomcat /usr/java/tomcat/conf/*.*
# chmod g+r /usr/java/tomcat/conf/*.*
# mkdir -p /usr/java/tomcat/conf/Catalina/localhost
chgrp -R tomcat /usr/java/tomcat/conf/Catalina
chmod -R g+r /usr/java/tomcat/conf/Catalina
chmod -R +t /usr/java/tomcat/conf/Catalina

また、Tomcatのpidファイル及び保存されているディレクトリを ls -dl 等で所有者・パーミッションを確認の上、必要なら変更してください。

パネル
borderColor#cccccc
bgColor#eeeeee
borderStylesolid

# ls -dl /var/run/tomcat
drwxr-xr-x 2 root root 4096 Jun 20 16:21 /var/run/tomcat
            
↑このディレクトリが存在し、かつ所有者・グループが tomcat tomcat でなければ以下を実行
# chown -R tomcat:tomcat /var/run/tomcat

...

パネル
borderColor#cccccc
bgColor#eeeeee
borderStylesolid

<Connector port="8009" protocol="AJP/1.3" redirectPort="8443"
           enableLookups="false" tomcatAuthentication="false" address="127.0.0.1" maxPostSize="100000" />

...


...

アンカー
idpInst4
idpInst4

4. Shibbolethのインストール

...

情報

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

...


 2. インストール 

 shibboleth-identity-provider-3.?.?.tar.gz を適当なディレクトリに置いて、以下のコマンドを実行してください。

...

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


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

Tomcatが”tomcat”ユーザで起動されるので、参照や書き込みが行えるようにディレクトリの所有者を変更します。
同様に、設定ファイルやメタデータの保存ディレクトリなどの所有者・パーミッションも変更します。

...

ヒント

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

 


4jakarta-taglibs-core.jar と jakarta-taglibs-standard.jar の配置 

...

展開
titleCentOS 6の場合
パネル
borderColor#cccccc
bgColor#eeeeee
borderStylesolid
# service httpd restart
# service tomcat7 start

 


Tomcatの起動後、${CATALINA_BASE}/logs/catalina.{日付}.log にエラーが出力されていない事を確認してください。

...

アンカー
idpInst5
idpInst5

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

 


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

 

展開
titleCentOS 6の場合
サービス起動コマンド停止コマンド再起動コマンド
httpdservice httpd startservice httpd stopservice httpd restart
tomcat

service tomcat7 start 

sh /usr/java/tomcat/bin/startup.sh (起動スクリプトを利用しない場合)

service tomcat7 stop

sh /usr/java/tomcat/bin/shutdown.sh (起動スクリプトを利用しない場合)

service tomcat7 restart

 

...



...

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

...