1. はじめに
本メニューでは、IdPをカスタマイズします。
IdP Ver2が正常に起動している環境に対して、Ver3にアップグレードします。
設定ファイルについては、基本的には自動的にコンバートされたものを使用して認証確認まで行います。
2. 実習セミナーでは
以下の手順で作業を進めてください。
・Tomcat6の停止、自動起動設定の停止
# service tomcat6 stop
# chkconfig tomcat6 off
・Shibboleth Ver2のバックアップ
以下のように/root直下に移動して、念のためバックアップを行います。
# cd /root
# tar cfv shibidp-v2-backup.tar /opt/shibboleth-idp
・Tomcat7のインストール
ShibbolethIdP Ver3はTomcat6上で使用できないので、Tomcat7をインストールします。
現在CentOS6環境のため標準パッケージにはないので、Apache Software Foundationが配布するTomcatパッケージを使用します。
パッケージは、以下のように/root/PKG配下に配置しています。
# cd /root/PKG
# mkdir /usr/java
# tar zxv -C /usr/java -f apache-tomcat-7.?.??.tar.gz # ln -s /usr/java/apache-tomcat-7.?.?? /usr/java/tomcat
・起動スクリプトの配置
# unzip tomcat7.zip # chmod a+x tomcat7 # cp tomcat7 /etc/rc.d/init.d/
・自動起動の設定
# chkconfig --add tomcat7 # chkconfig --level 345 tomcat7 on # service tomcat7 start
・profileの修正
/etc/profileを下記のように修正します。
# /etc/profile
JAVA_HOME=/usr/lib/jvm/jre
MANPATH=$MANPATH:$JAVA_HOME/man
CATALINA_HOME=/usr/java/tomcat
CATALINA_BASE=$CATALINA_HOME
PATH=$JAVA_HOME/bin:$CATALINA_HOME/bin:$CATALINA_HOME/bin:$PATH
export PATH JAVA_HOME CATALINA_HOME
# System wide environment and startup programs, for login setup
追加した環境変数を読み込みます。
・java.securityに設定追加
$JAVA_HOME/lib/security/java.security ファイルに以下を追加します。
#
# List of providers and their preference orders (see above):
#
security.provider.1=sun.security.provider.Sun
(省略)
security.provider.8=org.jcp.xml.dsig.internal.dom.XMLDSigRI
security.provider.9=sun.security.smartcardio.SunPCSC
# the NSS security provider was not enabled for this build; it can be enabled
# if NSS (libnss3) is available on the machine. The nss.cfg file may need
# editing to reflect the location of the NSS installation.
#security.provider.10=sun.security.pkcs11.SunPKCS11 ${java.home}/lib/security/nss.cfg
security.provider.11=edu.internet2.middleware.shibboleth.DelegateToApplicationProvider
・server.xmlの修正
$CATALINA_BASE/conf/server.xmlを下記のように修正します。
他の用途で使用する予定がなければConnector port="8080"をコメントアウトしてください。
<!--
<Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" />
-->
Connector port="8009"に以下のように追加してください。
<Connector port="8009" protocol="AJP/1.3" redirectPort="8443"
enableLookups="false" tomcatAuthentication="false" address="127.0.0.1" maxPostSize="100000" />
・ShibbolethIdP Ver3のインストール
パッケージは、以下のように/root/PKG配下に配置しています。
# cd /root/PKG
# unzip shibboleth-identity-provider-3.?.?.zip
# cd shibboleth-identity-provider-3.?.?
# ./bin/install.sh
install.shシェルスクリプトを実行すると、以下のような問い合わせがあります。
手順に従って、進めてください。
Installation Directory: [/opt/shibboleth-idp][Enter]
←入力なし
A V2 Installation has been detected. Configuration will be preserved into
.v2 folders and appropriate files copied forward.
Hostname: [ex-idp-test**.gakunin.nii.ac.jp][Enter]
←入力なし
SAML EntityID: [https://ex-idp-test**.gakunin.nii.ac.jp/idp/shibboleth][Enter]
←入力なし
Attribute Scope: [gakunin.nii.ac.jp]
nii.ac.jp[Enter]
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を追加
※こちらもテンプレートの変更にて設定します。
・idp.war の配置
/opt/shibboleth-idp/war/idp.war ファイルを、${CATALINA_BASE}/webapps ディレクトリにコピーします。
# cp /opt/shibboleth-idp/war/idp.war ${CATALINA_BASE}/webapps/
httpdとTomcatを再起動します。
# service tomcat7 stop
# service httpd restart
# service tomcat7 start
※カスタマイズした画面などは起動確認後、${CATALINA_BASE}/webapps配下に反映してください。
3. 手順書
以下は、情報が記載されたwiki.shibboleth.netのURLです。
4. 動作確認
① 各自が使用するSPの接続確認用ページにアクセスします。
例)1番を割り振られた場合 https://ex-sp-test01.gakunin.nii.ac.jp/
② ログインボタンをクリックします。
③ DSの所属機関の選択画面が表示されるので、各自が使用するIdPを選択します。
④ Ver3にアップグレードした各自が使用するIdPのログイン画面が表示されることを確認します。
⑤ Username/Passwordを入力して認証を行います。
⑥ 正しく属性受信の確認ページが表示される事を確認してください。