比較バージョン

キー

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

...

  • Apache Tomcat 7 or 8 or 8.5 or 9
    • 初期の8.5はセッションのバグにより不安定になるという情報があります。
    • JMXを初期化前に使うと動作がおかしくなります。
      ※いずれも以下のShibbolethのサイト「Apache Tomcat 8」が情報源です。
  • Java 7 or 8
    •  Java 9および10は使用できません。Shibboleth開発元ではJava 9/10はサポートしない、いわゆるLTSのみのサポートで固まりつつあるようです。
      https://wiki.shibboleth.net/confluence/display/DEV/Product+Platforms
    • Java 7(OpenJDK 7)は終了の方向ですので、Java 8 (Oracle JDK 8 / OpenJDK 8) を使用することを推奨します。
      Java 7とJava 8でスクリプトの書き方に若干の違いがあります。(書き方の違いの例
      詳細(Shibboleth Wiki): ScriptedAttributeDefinitionの"Java 1.8 and Nashorn"の項およびその上の記述例, ScriptedDataConnector
      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やシステムプロパティ等で対処してください。
      確認方法および手順例: IdPのサービス動作状況の確認の「よくあるエラー」の503エラーの項

      • この問題はCentOS 7を使っている場合に顕著です。
      • VMで稼働させていてこの問題がある場合、ホストマシンでHavegedを導入しVMからこれを参照する等で十分なエントロピーを生成できる場合があるようですので、合わせてご検討ください。
    • Java 8およびそれ以降を使う場合は、/etc/sysconfig/tomcatのJAVA_OPTSに指定するオプションのうち "-XX:MaxPermSize=...256m" は意味がありません(Java 7向けの指定です)ので削除してかまいません。
    • GNU Javaは利用できません。 OracleのJavaもしくはOpenJDKを利用してください。

...

コード ブロック
languagebash
#JAVA_OPTS="-Xminf0.1 -Xmaxf0.3"
JAVA_OPTS="-server -Xmx1500m -XX:MaxPermSize=256m -XX:+UseG1GC "
展開
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

...