Shibboleth-IdP冗長化環境構築手順書(memcached編)
2011年12月26日
国立情報学研究所
- 目次 -
1. はじめに
...
...
...
...
...
...
...
...
...
3.2. memcachedを利用するためのライブラリを追加します。
...
...
...
...
アンカー | ||||
---|---|---|---|---|
|
アンカー | ||||
---|---|---|---|---|
|
アンカー | ||||
---|---|---|---|---|
|
本書は、キャッシュサーバであるmemcachedのインストールとShibboleth-IdPの冗長化手順書です。
本書にて、memcachedとShibboleth-IdPの連携ができることを目的とします。
アンカー | ||||
---|---|---|---|---|
|
memcachedを使ったShibboleth-IdPの冗長化を構築するにあたり、下記を前提条件とします。
前提条件
- Shibboleth-IdPは、学認の技術ガイドに基づいてインストールされており、認証できる状態であるものとします。
- OSはCentOS(64bit)を前提とします。
アンカー _Ref272941422 _Ref272941422 - memcachedを構築するサーバは2台とします。
- 本書は下記のソフトウェアを使用して記述します。
ソフトウェア
バージョン
インストール先
memcached
1.4.10
/usr/local/
Shibboleth-IdP
2.3.5
/opt/shibboleth-idp
Apache Tomcat
6.0.35
/usr/java/tomcat
アンカー | ||||
---|---|---|---|---|
|
memcachedを構築する全てのサーバで実施します。
アンカー | ||||
---|---|---|---|---|
|
- memcachedをインストールするために必要なパッケージをインストールします。
書式設定済み # yum install -y wget libevent-devel make gcc gcc-c++
アンカー | ||||
---|---|---|---|---|
|
- 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で起動します。
書式設定済み # 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)を変更します。
85行目をコメントアウトします。書式設定済み # vi /opt/shibboleth-idp/conf/internal.xml
コメントアウトした下に追加します。<!--
<bean id="shibboleth.StorageService" cla・・・省略
-->※XXX.XXX.XXX.XXX および YYY.YYY.YYY.YYY はmemcached を構築したサーバのIPアドレスです。<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>
※ポイントconstructor情報 ポイント constructor-argのvalueにはスペース区切りでmemcachedのIPとポートを指定する。後で起動したものは前(左)に追加する。上記では2つmemcachedがありXXX.XXX.XXX.XXX が後で起動したmemcachedです。
- webの設定を変更しサーブレットフィルターの設定を追加します。
53行目付近に以下を追加します。書式設定済み # vi /usr/java/tomcat/webapps/idp/WEB-INF/web.xml
コード ブロック xml xml <!-- Store the modified session object in the memcached storage service -->
<filter><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://lab.klab.org/wiki/Repcached
...