子ページ
  • IdPClusteringMemcached

比較バージョン

キー

  • この行は追加されました。
  • この行は削除されました。
  • 書式設定が変更されました。

Shibboleth-IdP冗長化環境構築手順書(memcached編)

2011年12月26日
国立情報学研究所

- 目次 -
1. はじめに

...


1.1. 本章の目的

...


1.2. 前提条件

...


2. memcachedの構築

...


2.1. 必要なパッケージのインストール

...


2.2. memcachedのインストールと起動

...


2.3. memcachedの起動確認

...


3. Shibboleth-IdPとの連携

...


3.1. Apache Tomcatの停止

...


3.2. memcachedを利用するためのライブラリを追加します。

...


3.3. Shibboleth-IdPの設定ファイルの変更

...


3.4. Apache Tomcatの再実行

...


4. repcached対応

...

アンカー
_1._はじめに
_1._はじめに

アンカー
_Toc312318577
_Toc312318577
1. はじめに

アンカー
_Toc312318578
_Toc312318578
1.1. 本章の目的

本書は、キャッシュサーバであるmemcachedのインストールとShibboleth-IdPの冗長化手順書です。
本書にて、memcachedとShibboleth-IdPの連携ができることを目的とします。

アンカー
_Toc312318579
_Toc312318579
1.2. 前提条件

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





アンカー
_Toc312318580
_Toc312318580
2. memcachedの構築

memcachedを構築する全てのサーバで実施します。

アンカー
_Toc312318581
_Toc312318581
2.1. 必要なパッケージのインストール

  • memcachedをインストールするために必要なパッケージをインストールします。
    書式設定済み
    
    # yum install -y wget libevent-devel make gcc gcc-c++
    


アンカー
_Toc312318582
_Toc312318582
2.2. 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で起動します。
    書式設定済み
    
    # memcached -d -m 512 -c 1024
    

アンカー
_Toc312318583
_Toc312318583
2.3. memcachedの起動確認

  • 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
    ↑このような文字列が表示されれば起動しています。



アンカー
_Toc312318584
_Toc312318584
3. Shibboleth-IdPとの連携

アンカー
_Toc312318585
_Toc312318585
3.1. Apache Tomcatの停止

  • Tomcatが起動している場合は停止します。
    書式設定済み
    
    # /etc/init.d/tomcat stop
    


アンカー
_Toc312318586
_Toc312318586
3.2. memcachedを利用するためのライブラリを追加します。

書式設定済み

# 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/

...



アンカー
_Toc312318587
_Toc312318587
3.3. Shibboleth-IdPの設定ファイルの変更

  • ログイン設定(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

    ポイント 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>
        <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>
    


アンカー
_Toc312318588
_Toc312318588
3.4. Apache Tomcatの再実行

  • tomcatの起動(対象は全てのShibboleth-idpサーバ)
    書式設定済み
    
    # /etc/init.d/tomcat start
    

アンカー
repcached
repcached
4. repcached対応

複数memcached上のデータレプリケーションを行うrepcachedに変更するには以下のページの手順に従ってインストールしてください。
http://lab.klab.org/wiki/Repcached

...