警告 |
---|
本ページの記述はIdPv2に対するものです。IdPv3では組み込み機能となっているMemcachedStorageServiceをお使いください。 |
Shibboleth-IdP冗長化環境構築手順書(memcached編)
...
本書は、キャッシュサーバであるmemcachedのインストールとShibboleth-IdPの冗長化手順書です。
本書にて、memcachedとShibboleth-IdPの連携ができることを目的とします。
アンカー | ||||
---|---|---|---|---|
|
...
- Shibboleth-IdPは、学認の技術ガイドに基づいてインストールされており、認証できる状態であるものとします。
- OSはCentOS(64bit)を前提とします。
アンカー _Ref272941422 _Ref272941422 - memcachedを構築するサーバは2台とします。
本書は下記のソフトウェアを使用して記述します。
ソフトウェア
バージョン
インストール先
memcached
1.4.10
/usr/local/
Memcached StorageService
Revision 151
-
repcached
?
Shibboleth-IdP
2.3.5
/opt/shibboleth-idp
Apache Tomcat
6.0.35
/usr/java/tomcat
memcached
1.4.10
?
Memcached StorageService
Revision 151
-
アンカー | ||||
---|---|---|---|---|
|
本手順書で使用しているソフトウェアの配布元は以下の通りです。本手順書で参照されている主なソフトウェアおよび配布元は以下の通りです。
- Memcached StorageService
https://wiki.shibboleth.net/confluence/display/SHIB2/Memcached+StorageService - memcached
http://memcached.org/ - repcached
http://repcached.lab.klab.org/wiki/Repcached
アンカー | ||||
---|---|---|---|---|
|
memcachedを構築する全てのサーバで実施します。
アンカー | ||||
---|---|---|---|---|
|
memcachedをインストールするために必要なパッケージをインストールします。
書式設定済み # yum install -y wget libevent-devel make gcc gcc-c++
アンカー | ||||
---|---|---|---|---|
|
情報 |
---|
RHEL 6系など、yumリポジトリからmemcachedパッケージをインストールできる場合はそちらの使用をお勧めします。 |
memcachedのソースコードをダウンロードし解凍します。
書式設定済み # cd /usr/local/src # wget http://memcached.googlecode.com/files/memcached-1.4.10.tar.gz # tar zxf memcached-1.4.10.tar.gz # rm memcached-1.4.10.tar.gz ←解凍後、削除します。
コンパイルしインストールします。
書式設定済み # cd /usr/local/src/ memcached-1.4.10 # ./configure --build=x86_64-unknown-linux-gnu --enable-64bit # make # make install
memcachedをキャッシュ(-m) = 500MB、最大同時接続数(-c) = 1024で起動します。
注意 root権限で実行している場合は -u root オプションを付けて実行してください。
書式設定済み # memcached -d -m 512 -c 1024
アンカー | ||||
---|---|---|---|---|
|
telnetにてmemcachedの起動を確認します。
# telnet localhost 11211 ←11211ポートは指定なし起動時の規定値です。
Trying 127.0.0.1...
Connected to localhost.localdomain (127.0.0.1).
Escape character is '^]'.
stats ←入力しEnterします。
STAT total_items 36
STAT evictions 0
STAT reclaimed 0
END
↑このような文字列が表示されれば起動しています。
...
アンカー | ||||
---|---|---|---|---|
|
Tomcatが起動している場合は停止します。
書式設定済み # /etc/init.d/tomcat stop
アンカー | ||||
---|---|---|---|---|
|
書式設定済み |
---|
# wget --no-check-certificate https://www.aai.dfn.de/fileadmin/tools/unimr-memcached.tar.gz
# tar zxf unimr-memcached.tar.gz
# cd unimr-memcached
# cp unimr-memcached-idp2.3-rev151.jar /usr/java/tomcat/webapps/idp/WEB-INF/lib/
# cp lib/spymemcached-2.7.jar /usr/java/tomcat/webapps/idp/WEB-INF/lib/
|
アンカー | ||||
---|---|---|---|---|
|
ログイン設定(login.config) を変更します。
# vi /opt/shibboleth-idp/conf/login.config
{}内に一行追加します。
setLdapPrincipal="false"; ←;(セミコロン)は最後の行のみ入力します。
例
edu.vt.middleware.ldap.jaas.LdapLoginModule required
host="ldap://192.168.1.1"
base="o=Test Organization,dc=ac,c=jp"
ssl="false"
userField="uid"
subtreeSearch="true"
setLdapPrincipal="false"; ←;(セミコロン)は最後の行のみ入力します。
};内部保存設定(internal.xml)を変更します。
書式設定済み # vi /opt/shibboleth-idp/conf/internal.xml
85行目をコメントアウトします。
<!--
<bean id="shibboleth.StorageService" cla・・・省略
-->コメントアウトした下に追加します。
<bean id="shibboleth.StorageService"
class="unimr.shib2.UniMrMemcachedStorageService" depends-on="shibboleth.LogbackLogging">
<constructor-arg value="XXX.XXX.XXX.XXX:11211 YYY.YYY.YYY.YYY:11211" />←memcached のIPを指定します。
</bean>※XXX.XXX.XXX.XXX および YYY.YYY.YYY.YYY はmemcached を構築したサーバのIPアドレスです。
情報 ポイント constructor-argのvalueにはスペース区切りでmemcachedのIPとポートを指定する。後で起動したものは前(左)に追加する。上記では2つmemcachedがありXXX.XXX.XXX.XXX が後で起動したmemcachedです。
webの設定を変更しサーブレットフィルターの設定を追加します。
書式設定済み # vi /usr/java/tomcat/webapps/idp/WEB-INF/web.xml
53行目付近に以下を追加します。
コード ブロック xml xml <!-- Store the modified session object in the memcached storage service --> <filter> <filter-name>UniMrMemcachedServletFilter</filter-name> <filter-class>unimr.shib2.UniMrMemcachedServletFilter</filter-class> </filter> <filter-mapping> <filter-name>UniMrMemcachedServletFilter</filter-name> <url-pattern>/*</url-pattern> </filter-mapping>
アンカー | ||||
---|---|---|---|---|
|
tomcatの起動(対象は全てのShibboleth-idpサーバ)
書式設定済み # /etc/init.d/tomcat start
...
複数memcached上のデータレプリケーションを行うrepcachedに変更するには以下のページの手順に従ってインストールしてください。
http://repcached.lab.klab.org/wiki/Repcached
以上。