1. はじめに
本メニューでは、IdPをカスタマイズします。
IdP Ver3が正常に起動している環境に対して、Ver4にアップグレードします。
ベースがIdP v3.2となっているところを、一度IdP v3.4にアップグレードしてからIdP v4にアップグレードします。v4にアップグレードします。 設定ファイルについては、自動的にコンバートされたものを使用して認証確認まで行います。
...
2. 実習セミナーでは
以下の手順で作業を進めてください。以下は、本環境での関連情報となります。
...
詳細な手順については、「3.手順」を参照ください。
パネル |
---|
borderColor | #cccccc |
---|
bgColor | #eeeeee |
---|
borderStyle | solid |
---|
|
# systemctl stop tomcat
|
・Shibboleth Ver3.2のバックアップ
以下のように/root直下に移動して、念のためバックアップを行います。
また、以下にはIdP v4の動作に必要なJava11とTomcat9のインストール手順を記載しています。
・IdPのパッケージ
パネル |
---|
borderColor | #cccccc |
---|
bgColor | #eeeeee |
---|
borderStyle | solid |
---|
|
パネル |
---|
borderColor | #cccccc |
---|
bgColor | #eeeeee |
---|
borderStyle | solid |
---|
|
# cd /root # tar zcfv shibidp-v3.2-backup.tar.gz /opt/shibboleth-idp
|
・Tomcat 7の起動
パネル |
---|
borderColor | #cccccc |
---|
bgColor | #eeeeee |
---|
borderStyle | solid |
---|
|
# systemctl start tomcat
|
・ShibbolethIdP Ver3.4のインストール
パッケージは、以下のように/root/PKG配下に配置しています。
PKG 配下に用意しています。
|
# cd /root/PKG # tar xzvf shibboleth-identity-provider-3.4.?7.tar.gz
# cd shibboleth-identity-provider-3.4.?
# ./bin/install.sh -Didp.conf.filemode=640 -Didp.conf.credentials.filemode=640
|
install.shシェルスクリプトを実行すると、以下のような問い合わせがあります。
手順に従って、進めてください。
...
borderColor | #cccccc |
---|
bgColor | #eeeeee |
---|
borderStyle | solid |
---|
...
Rebuilding /opt/shibboleth-idp/war/idp.war ...
...done
BUILD SUCCESSFUL
Total time: 2 minutes 27 seconds
・ShibbolethIdP インストール
・所有者、パーミッションの設定(server.key)
パネル |
---|
borderColor | #cccccc |
---|
bgColor | #eeeeee |
---|
borderStyle | solid |
---|
|
# chown root:tomcat /opt/shibboleth-idp/credentials/server.key
# chmod 640 /opt/shibboleth-idp/credentials/server.key
|
・Tomcat 7の停止
パネル |
---|
borderColor | #cccccc |
---|
bgColor | #eeeeee |
---|
borderStyle | solid |
---|
|
# systemctl stop tomcat
|
・Tomcat 7のバックアップ
以下のように/root直下に移動して、念のためバックアップを行います。
パネル |
---|
borderColor | #cccccc |
---|
bgColor | #eeeeee |
---|
borderStyle | solid |
---|
|
# cd /root
# tar zcfv tomcat7-backup.tar.gz /etc/tomcat /var/log/tomcat /var/lib/tomcat/webapps
|
・Tomcat 7のアンインストール
パネル |
---|
borderColor | #cccccc |
---|
bgColor | #eeeeee |
---|
borderStyle | solid |
---|
|
# yum remove tomcat
|
・JDKのアンインストール
パネル |
---|
borderColor | #cccccc |
---|
bgColor | #eeeeee |
---|
borderStyle | solid |
---|
|
# yum remove java-1.8.0-openjdk
|
・JDK 11のインストール
パネル |
---|
borderColor | #cccccc |
---|
bgColor | #eeeeee |
---|
borderStyle | solid |
---|
|
# yum install java-11-openjdk java-11-openjdk-devel
|
・Tomcat 9のインストール
現在CentOS 7環境のため標準パッケージにはないので、Apache Software Foundationが配布するTomcatパッケージを使用します。
パッケージは、以下のように/root/PKG配下に配置しています。
パネル |
---|
borderColor | #cccccc |
---|
bgColor | #eeeeee |
---|
borderStyle | solid |
---|
|
# cd # cd /root/PKG
IdP v3.4へのアップグレード
# tar zxv -C /usr/share -f apache-tomcat-9.?.?tar xzvf shibboleth-identity-provider-3.4.?.tar.gz
#
rm -rf /usr/share/tomcat # ln -s /usr/share/apache-tomcat-9.?.?? /usr/share/tomcat |
・起動スクリプトの配置
情報 |
---|
ここで使用する起動スクリプトは、基礎編のインストール手順で配布しているものと同一です。 |
パネル |
---|
borderColor | #cccccc |
---|
bgColor | #eeeeee |
---|
borderStyle | solid |
---|
|
# cp /root/GETFILE/tomcat.service /etc/systemd/system
|
・自動起動の設定
以下のコマンドで自動起動設定を有効にします。
パネル |
---|
borderColor | #cccccc |
---|
bgColor | #eeeeee |
---|
borderStyle | solid |
---|
|
# systemctl enable tomcat
補足: 以下のコマンドで自動起動設定を無効にすることができます。 # systemctl disable tomcat |
・所有者、パーミッションの設定
以下のコマンドでその他Tomcat関連の設定ファイルやディレクトリの所有者、パーミッションを設定します。
パネル |
---|
borderColor | #cccccc |
---|
bgColor | #eeeeee |
---|
borderStyle | solid |
---|
|
# chown -R tomcat:tomcat /usr/share/tomcat/{temp,logs,work}
# chown tomcat:tomcat /usr/share/tomcat/webapps
# chmod +t /usr/share/tomcat/webapps # chmod go+rx /usr/share/tomcat/conf
# chgrp tomcat /usr/share/tomcat/conf/*.*
# chmod g+r /usr/share/tomcat/conf/*.*
# mkdir -p /usr/share/tomcat/conf/Catalina/localhost # chgrp -R tomcat /usr/share/tomcat/conf/Catalina
# chmod -R g+r /usr/share/tomcat/conf/Catalina
# chmod -R +t /usr/share/tomcat/conf/Catalina # chgrp -R tomcat /usr/share/tomcat/{bin,lib}
|
・profileの修正
/etc/profile.d/java-tomcat.sh
を以下の内容で修正します。
パネル |
---|
borderColor | #cccccc |
---|
bgColor | #eeeeee |
---|
borderStyle | solid |
---|
|
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
|
追加した環境変数を読み込みます。
パネル |
---|
borderColor | #cccccc |
---|
bgColor | #eeeeee |
---|
borderStyle | solid |
---|
|
# source /etc/profile |
・tomcatの設定
旧tomcatのバックアップから設定を戻しますが、ここではインストール時と同様な修正を行います。
$CATALINA_BASE/conf/server.xmlを下記のように修正します。
他の用途で使用する予定がなければConnector port="8080"をコメントアウトしてください。
パネル |
---|
borderColor | #cccccc |
---|
bgColor | #eeeeee |
---|
borderStyle | solid |
---|
|
<!--
<Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" />
-->
|
Connector port="8009"に以下のように追加してください。
パネル |
---|
borderColor | #cccccc |
---|
bgColor | #eeeeee |
---|
borderStyle | solid |
---|
|
<Connector port="8009" protocol="AJP/1.3" redirectPort="8443"
enableLookups="false" tomcatAuthentication="false" address="127.0.0.1" maxPostSize="100000" />
|
・ShibbolethIdP Ver4のインストール
パッケージは、以下のように/root/PKG配下に配置しています。
cd shibboleth-identity-provider-3.4.?
IdP v4.0へのアップグレード
# tar xzvf
|
パネル |
---|
borderColor | #cccccc |
---|
bgColor | #eeeeee |
---|
borderStyle | solid |
---|
|
# cd /root/PKG # unzip shibboleth-identity-provider-4.0.?. ?tar. zipgz
# cd shibboleth-identity-provider-4. ?0.?
# ./bin/install.sh -Didp.conf.credentials.filemode=640 -Didp.conf.credentials.groupfilemode=tomcat640
|
以降は、IdP4へのアップグレード時の手順となります。 install.shシェルスクリプトを実行すると、以下のような問い合わせがあります。
手順に従って、進めてください。
...
borderColor | #cccccc |
---|
bgColor | #eeeeee |
---|
borderStyle | solid |
---|
...
Cookie Encryption Key Password: cookiepass[Enter] ←任意のパスワード
Re-enter password: cookiepass[Enter] ←任意のパスワード
Warning: /opt/shibboleth-idp/dist does not exist.
(省略)
Rebuilding /opt/shibboleth-idp/war/idp.war ...
...done
BUILD SUCCESSFUL
インストール自体は、基礎編に記載されている手順に沿って行います。
→ IdP v4インストール(基礎編)
ここには、TomcatからJettyに切り替えるための事前に行っておく手順を記載します。
・Tomcat 7のアンインストール
展開 |
---|
title | アップグレード時にインストーラが行うこと一覧(ここをクリックすると展開されます...) |
---|
|
The V2 configuration files are copied to a new directory, conf.v2 The packed V2 warfile is copied to a new directory, war.v2 The directories logs and metadata are left untouched (note that leaving the latter in place means that new example metadata for the IdP is not generated). Specific legacy files that are generally compatible with V3 (attribute-resolver.xml, attribute-filter.xml, relying-party.xml) are pre-populated into the new config directory; these make up the bulk of your older configuration, save for authentication. The relying-party.xml file is also copied to metadata-providers.xml The rest of the configuration is populated as for a new installation. Finally, services.properties is altered to enable a legacy relying party configuration.
|
・ldap.propertiesの修正
...
パネル |
---|
borderColor | #cccccc |
---|
bgColor | #eeeeee |
---|
borderStyle | solid |
---|
|
## Connection properties ##
#idp.authn.LDAP.ldapURL = ldap://localhost:10389
idp.authn.LDAP.ldapURL = ldap://localhost
#idp.authn.LDAP.useStartTLS = true
idp.authn.LDAP.useStartTLS = false
(省略)
#idp.authn.LDAP.baseDN = ou=people,dc=example,dc=org
idp.authn.LDAP.baseDN = o=test_o,dc=ac,c=JP
#idp.authn.LDAP.subtreeSearch = false
idp.authn.LDAP.subtreeSearch = true
(省略)
#idp.authn.LDAP.bindDN = uid=myservice,ou=system
idp.authn.LDAP.bindDN = cn=olmgr,o=test_o,dc=ac,c=JP
#idp.authn.LDAP.bindDNCredential = myServicePassword
idp.authn.LDAP.bindDNCredential = csildap
|
・Tomcatの設定
Tomcatを”tomcat”ユーザで実行する場合は、ログファイルを出力できるようディレクトリの所有者を変更します。
同様に、設定ファイルやメタデータの保存ディレクトリなどの所有者・パーミッションも変更します。
・jakarta-taglibs-standardのアンインストール
パネル |
---|
borderColor | #cccccc |
---|
bgColor | #eeeeee |
---|
borderStyle | solid |
---|
|
# chown -R tomcat:tomcat /opt/shibboleth-idp/logs # chgrp -R tomcat yum remove jakarta-taglibs-standard
# rm -f /opt/shibboleth-idp/ conf # chmod -R g+r /opt/shibboleth-idp/conf # chgrp tomcat /opt/shibboleth-idp/metadata # chmod g+w /opt/shibboleth-idp/metadata # chmod +t /opt/shibboleth-idp/metadata # chgrp tomcat /opt/shibboleth-idp/credentials/server.key # chmod g+r /opt/shibboleth-idp/credentials/server.key |
・idp.war の登録
${CATALINA_BASE}/conf/Catalina/localhost/idp.xml
という新規ファイルを以下の内容で作成し、idp.warをTomcatが認識できるようにします。
edit-webapp/WEB-INF/lib/jakarta-taglibs-*
|
・JDK 8のアンインストール
パネル |
---|
borderColor | #cccccc |
---|
bgColor | #eeeeee |
---|
borderStyle | solid |
---|
|
<Context docBase="/opt/shibboleth-idp/war/idp.war"
privileged="true"
antiResourceLocking="false"
swallowOutput="true" />
|
httpdとTomcatを再起動します。
# yum remove java-1.8.0-openjdk
|
・httpdの再起動とTomcatの起動を行います。(すでにJettyが起動している場合はstopしてから行ってください)
パネル |
---|
borderColor | #cccccc |
---|
bgColor | #eeeeee |
---|
borderStyle | solid |
---|
|
# service tomcat7 stop
# service httpd restart
# service tomcat7 start
|
※画面のカスタマイズ方法はv2から変わっています。views/login.vm等をご参照ください。
参考: GakuNinShare:ロゴの変更
・その他
Tomcat 6は不要になっていますので削除してください。
パネル |
---|
borderColor | #cccccc |
---|
bgColor | #eeeeee |
---|
borderStyle | solid |
---|
|
# yum erase tomcat6
|
3. 手順書
以下は、英語での情報が記載されたwiki.shibboleth.netのURLです。手順の詳細にご興味がある方はご参照ください。
参考: UpgradingFromV2
なお、実習セミナーでは不要としておりますが、バージョン2でバックチャネルの設定をしていた場合は IdPv3セッティング > Back-Channelの設定 に従って設定してください。
また、バージョン2にuApprove.jp等を入れていた場合は、不要な設定が残っていないかApacheの設定ファイルを確認してください。
systemctl restart httpd # systemctl start jetty
|
...
3. 手順書
まず、下記「IdP v3アップデートに関する情報」の「2.アップデート手順」にてIdP v3.4で動作できるところまで進めます。
その後、下記「IdP v4アップデートに関する情報」の「設定ファイルの移行について」の手順を参照し、DEPRECATEDのwarningが
出ないような状態になるよう修正を行います。認証時に出力される場合もあるため、3.4.7で起動したら認証の動作確認まで行いログを確認してください。
設定ファイルの修正が終わったら、念のため再度3.4.7で起動し認証の動作確認を行った後、DEPRECATEDのwarningが出ていないことを確認してください。
そこまで行えたら、いよいよv4へのアップグレードです。
上記Java11、Tomcat9を用意したのち、IdP v4の「アップデートの手順」に進んでください。
参考: IdPv3アップデートに関する情報、IdPv4アップデートに関する情報参考: [InCommon Wiki] Upgrading to Shibboleth IdP V3
...
4. 動作確認
① 各自が使用するSPの接続確認用ページにアクセスします。
...
③ DSの所属機関の選択画面が表示されるので、各自が使用するIdPを選択します。
④ Ver3にアップグレードした各自が使用するIdPのログイン画面が表示されることを確認します。 (v3ではページ下部にチェックボックスが表示される部分が異なります)Ver4にアップグレードした各自が使用するIdPのログイン画面が表示されることを確認します。 (v4では同意画面の属性名に日本語が表示される部分が異なります)
⑤ Username/Passwordを入力して認証を行います。
⑥ 正しく属性受信の確認ページが表示される事を確認してください。
...