子ページ
  • IdPClusteringMemcached

このページの古いバージョンを表示しています。現在のバージョンを表示します。

現在のバージョンとの相違点 ページ履歴を表示

バージョン 1 次のバージョン »

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

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


はじめに

本章の目的

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

前提条件

memcachedを使ったShibboleth-IdPの冗長化を構築するにあたり、下記を前提条件とします。
前提条件

  • Shibboleth-IdPは、学認の技術ガイドに基づいてインストールされており、認証できる状態であるものとします。
  • OSはCentOS(64bit)を前提とします。
  • 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を構築する全てのサーバで実施します。

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

  • memcachedをインストールするために必要なパッケージをインストールします。
    1. yum install -y wget libevent-devel make gcc gcc-c++


    memcachedのインストールと起動

  • memcachedのソースコードをダウンロードし解凍します。
    1. cd /usr/local/src
  1. wget http://memcached.googlecode.com/files/memcached-1.4.10.tar.gz
  2. tar zxf memcached-1.4.10.tar.gz

  3. rm memcached-1.4.10.tar.gz   ←解凍後、削除します。|
  • コンパイルしインストールします。
    1. cd /usr/local/src/ memcached-1.4.10
  1. ./configure --build=x86_64-unknown-linux-gnu --enable-64bit
  2. make
  3. make install|
    memcachedをキャッシュ(-m) = 500MB、最大同時接続数(-c) = 1024で起動します。
    1. memcached -d -m 512 -c 1024


    memcachedの起動確認

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


    Shibboleth-IdPとの連携

Apache Tomcatの停止

  • Tomcatが起動している場合は停止します。
    1. /etc/init.d/tomcat stop


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

  1. tar zxf unimr-memcached.tar.gz
  2. cd unimr-memcached
  3. cp unimr-memcached-idp2.3-rev151.jar /usr/java/tomcat/webapps/idp/WEB-INF/lib/
  4. cp lib/spymemcached-2.7.jar /usr/java/tomcat/webapps/idp/WEB-INF/lib/
    |

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

  • ログイン設定(login.config) を変更します。
    1. 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)を変更します。
    1. 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の設定を変更しサーブレットフィルターの設定を追加します。
    1. vi /usr/java/tomcat/webapps/idp/WEB-INF/web.xml
    53行目付近に以下を追加します。

    <!-- 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>



    Apache Tomcatの再実行

  • tomcatの起動(対象は全てのShibboleth-idpサーバ)
    1. /etc/init.d/tomcat start

repcached対応

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

以上。

  • ラベルがありません