...
- OS、DNS、ネットワーク、時刻同期などは設定済みとなっています。(Apache HTTP Server、mod_sslもインストール済み)
- CentOS7
- メモリ2GB以上
- Apache HTTP Server 2.4 と mod_ssl
- Java 11(OpenJDK)
- Apache Tomcat Jetty 9.4
- Shibboleth IdP v4
また、実習環境ではSELinuxは無効化されているものとして手順を記載しています。下記コマンドでSELinux設定が確認できます。
...
パネル | ||||||
---|---|---|---|---|---|---|
| ||||||
# yum install java-11-openjdk java-11-openjdk- develheadless |
...
アンカー | ||||
---|---|---|---|---|
|
3.
...
Jetty 9.4 をインストールする
1. インストール
CentOS 7に用意されているパッケージはTomcat7なので、Apache Software Foundationが配布するTomcatパッケージをダウンロードしてインストールします。7にはJettyのパッケージがないので、ダウンロードしてインストールします。
実習セミナーでは予めダウンロードした「/root/PKG」内の、apachePKG」内の、jetty-tomcatdistribution-9.4.*.v?.???????.tar.gzを使います。gz を使います。
さらに、Shibboleth Projectが配布している各種設定ファイル群(jetty-base)を配置します。
こちらも予め「/root/PKG」内に配置してあるものを使用します。
パネル | ||||||
---|---|---|---|---|---|---|
| ||||||
|
サービス起動は、”jetty”ユーザに設定
"root"ユーザではなく、Jetty起動用のユーザを使用することを推奨します。
ここでは、一般的な "jetty" ユーザを作成します。(以降、"jetty"ユーザを使用する事が前提で説明します。)
パネル | ||||||
---|---|---|---|---|---|---|
| ||||||
|
以下のコマンドでその他 Jetty 関連の設定ファイルやディレクトリの所有者、パーミッションを設定します。
パネル | ||||||
---|---|---|---|---|---|---|
| ||||||
|
自動起動スクリプトは、以下のように作成します。また自動起動スクリプトは、「/root/GETFILE」配下のtomcat.serviceを使います。
パネル | ||||||
---|---|---|---|---|---|---|
| ||||||
|
jetty.serviceについては、コピー後に以下のように修正します。
パネル | ||||||
---|---|---|---|---|---|---|
| ||||||
|
以下を実行して、修正した内容を反映させます。
パネル | ||||||
---|---|---|---|---|---|---|
| ||||||
|
以下の内容で/etc/sysconfig/jettyを作成します。
パネル | ||||||
---|---|---|---|---|---|---|
| ||||||
|
2. 自動起動の設定
以下のコマンドで自動起動設定を有効にします。
パネル | ||||||
---|---|---|---|---|---|---|
| ||||||
|
”tomcat”ユーザで起動
...
|
3. jetty-baseの設定
以下のように関連する設定ファイルの作成や修正を行っていきます。
/opt/jetty-base/webapps/idp.xmlの修正
パネル | ||||||
---|---|---|---|---|---|---|
| ||||||
# useradd -r -d /usr/share/tomcat -s /sbin/nologin -c "Tomcat daemon" tomcat |
...
|
idp-backchannel.iniを無効化
パネル | ||||||
---|---|---|---|---|---|---|
| ||||||
|
3. JAVA_OPTSの設定
...
|
/opt/jetty-base/start.d/start.iniの作成
コード ブロック | ||
---|---|---|
| ||
# Any other required Jetty modules...
# Allows setting Java system properties (-Dname=value)
# and JVM flags (-X, -XX) in this file
# NOTE: spawns child Java process
--exec
# Uncomment if IdP is installed somewhere other than /opt/shibboleth-idp
#-Didp.home=/path/to/shibboleth-idp
# Newer garbage collector that reduces memory needed for larger metadata files
-XX:+UseG1GC
# Maximum amount of memory that Jetty may use, at least 1.5G is recommended
# for handling larger (> 25M) metadata files but you will need to test on
# your particular metadata configuration
-Xmx1500m
# Prevent blocking for entropy.
-Djava.security.egd=file:/dev/./urandom
# Set Java tmp location
-Djava.io.tmpdir=tmp
# Strip IPv6 brackets
#-Dorg.eclipse.jetty.util.HostPort.STRIP_IPV6=true |
パネル | ||||||
---|---|---|---|---|---|---|
| ||||||
|
コード ブロック | ||
---|---|---|
| ||
#JAVA_OPTS="-Xminf0.1 -Xmaxf0.3" JAVA_OPTS="-server -Xmx1500m -XX:MaxPermSize=256m -XX:+UseG1GC " |
4. profileの追加
/etc/profile.d/java-tomcat.sh という新規ファイルを以下の内容で作成します。opt/jetty-base/webapps/idp.xmlを以下のように修正します。(idp.warファイルのパス修正)
コード ブロック | ||
---|---|---|
| ||
# /etc/profile.d/java-tomcat.sh - set Java and Tomcat stuff JAVA_HOME=/usr/lib/jvm/java #export MANPATH=$MANPATH:/usr/java/default/man CATALINA_HOME=/usr/share/tomcat CATALINA_BASE=$CATALINA_HOME PATH=$JAVA_HOME/bin:$CATALINA_BASE/bin:$CATALINA_HOME/bin:$PATH export PATH JAVA_HOME CATALINA_HOME CATALINA_BASE |
...