水曜日 3 26, 2008

先日は ホットトピックセミナー にたくさんの方が参加していただきありがとうございました。

ちょっと遅くなってしまいましたが、セミナーででたいくつかの質問について OpenDS チームの人から解答をもらったので、お知らせします。

質問: 他のディレクトリーサーバーではなくて OpenDS を使う理由はなんですか?

解答は OpenDS プロジェクトの FAQ にだいたい書かれているのでこちらを是非みて欲しいということでしたが、英語でもありますし、追加でいくつか情報ももらったので簡単にまとめてみます。
まず、オープンソースのディレクトリサーバーは、OpenLDAP, Fedora Directory Server, Apache Directory Server などいくつかあるのですが、あえて新しく OpenDS プロジェクトを始めたのは、1つには、OpenDS プロジェクトを始めたメンバーが実現したいと思っていることと、既存のオープンソースプロジェクトのゴールやポリシーに差があるため、それらに入っていってソースコードを分岐させてしまうのは、コミュニティを混乱させてしまうかもしれないからということです。
では、実現したいことは何かというと、次のようになります。
  1. 性能

    最終的には数億のエントリーを保持し、1秒間に数万オペレーションをひじょうに短いレスポンスタイムでこなせるように考えて、基本設計をしています。
  2. 使いやすさ

    セミナーでもすこしお見せしましたが、インストールや使い勝手が難しくならないようにしています。
  3. 機能

    LDAP の基本機能をどれだけインプリメントしているかという点では、実は既に Sun Java System Directory Server を凌駕している部分もあります。詳しい比較表は、 こちらにあります。
  4. 互換性・安定性

    もともと商用のディレクトリサーバーを開発しているチームが OpenDS もやっているので当然ですが、互換性を気を配りながら新しい機能を追加していますし、安定性も犠牲にはしません。このあたりは一般的なオープンソースのプロジェクトとはちょっと違うところなのかもしれません。
ディレクトリサーバー自体は、裏方で仕事をする役割なので、なかなか派手なアピールポイントを上げるのは難しいのですが、実際に使ってみていただければその良さがわかるだろうとのことです。

質問: CDDL ライセンス以外も採用する予定はないか?

OpenDS コミュニティとして、現時点で CDDL 以外を採用する話はでていないとのことですが、セミナーででた質問の趣旨は理解したので、そういった要求があるかどうか調査はしてみたいといのことでした。実際に CDDL ライセンスだけでは問題があるという具体的な要望がありましたら、ぜひ OpenDS コミュニティのメーリングリストなどに要求してみてください。英語ではちょっとという方は、私のほうに連絡していただければサポートします。このブログ(どのエントリーでもかまいません)にコメントとして書いて頂いても OK です。

なお、セミナーの時は時間配分がわるくてあまり質問の時間をとれませんでした。申し訳ありませんでした。セミナーの時に聞けなかった質問やその後に新たに思いついた質問、試しに OpenDS を使ってみたけどうまくいかないなどのコメントや質問があれば、ぜひこのブログにコメントとして書いてください。時間は多少かかるかもしれませんが解答していきたいと思います。

月曜日 3 24, 2008

前回、 Netbeans 6.0.1 で OpenDS のビルド という記事を 3/18 に投稿しましたが、その後元となる Ludo の記事が 3/21 に更新されたようです。

Developing OpenDS with the NetBeans IDE

Source Repository の中に Netbeans Project に必要なファイルを入れていたのですが、どうもうまくないということで、 OpenDS wiki の中に zip ファイルとしておかれたようです。

自分でまだ試していないのですが、手順としては次のようになるようです。

  1. svn で OpenDS のファイルを取ってくる。これは前のエントリで書いたのと同じです
  2. 次に、 OpenDS Netbeans Project ファイルをとってくる
  3. NetBeans IDE のファイルメニューで「プロジェクトを開く」を選択し、展開したファイルの場所を指定する

取り急ぎお知らせまで。

火曜日 3 18, 2008

OpenDS のビルド方法は https://opends.org/wiki//page/BuildingAndRunningOpenDSWithinNetbeans に書かれています。これを日本語にするのは面倒だなぁと躊躇していたら、 Ludo がもっと簡単な方法をポストしてくれました

Netbeans 6.0.1 をダウンロード およびインストールしたら、メニューから バージョン管理->Subversion->チェックアウト を選択 します。Subversion リポジトリの指定は

  1. リポジトリURL: https://opends.dev.java.net/svn/opends
  2. ユーザー: java.net のアカウント
  3. パスワード: java.net アカウントのパスワード
です。ネットワークによってはプロキシ構成をする必要があるかもしれません。「次へ」 ボタンを押すと、次はチェックアウトするフォルダのダイアログです。設定は
  1. リポジトリフォルダ: trunk
  2. ローカルフォルダ: ファイルを保存するディレクトリ
  3. チェックアウト後に Netbeans プロジェクトをスキャンをチェック
以上で OpenDS のファイルを取ってきてくれると思います。次の作業はビルドですね。上のドキュメントだと、 ここから になります。ソースコードを見てみようというかたはぜひお試しください。
ところで、ここまでのデモでは LDAP のポートに 1389 とか 2389 を使ってきました。実際のところは LDAP ポートが 389 でなければならないケースというのはそれほど多くあるわけではないと思いますが、 一般的に使われる 389 にしたいという要求も場合によっては出てくると思います。

一番簡単なのは、UNIX なら OpenDS を root アカウントでインストールしてしまう方法です。UNIX の場合、一般ユーザーは 1024 以降のポートにしかアクセスできないために 1389 のような番号を使って いるので、root ならこの制約はありません。でも本当にこの方法で良いのでしょうか?root 権限を 不正に取られてしまうと、システムに対していろいろな悪さができてしまうので、できれば避けたいですね。

Solaris 10 でしたら、このような場合に、 Solaris 10 最新セキュリティ技術 - 最小特権モデル に記述されているような方法で、一般ユーザーのままで、1024 より小さなポート番号を使うことも可能です。

OpenDS でこのあたりの設定を行う方法は、 https://www.opends.org/wiki/page/RunningTheServerAsANonRootUser に記述されています。簡単に要約すると、例えば OpenDS を opends というアカウントにインストールし、 実行する場合、この opends アカウントに対して、次の usermod コマンドで必要な役割を設定します。

# usermod -K defaultpriv=basic,net_privaddr,sys_resource,-proc_info,-file_link_any opends
このコマンドでは
  1. basic: 通常のユーザーがもっている特権
  2. net_privaddr: 1023 以下のポートにアクセスできる特権
  3. sys_resource: file descriptor の数を変更する特権(それ以外も)
  4. -proc_info: 多のユーザーのプロセスを見る特権は必要ないので消す
  5. -file_link_any: 多のユーザーのファイルへの hard link は必要ないので消す
といった操作を opends アカウントに対して行っています。これで OpenDS から 389 ポートをつかって LDAP の 通信を行えるようになります。

Linux の場合は、例えば iptables を使って、ポートを変換する方法があります。

# iptables --append PREROUTING --table nat --protocol tcp --dport 389 --jump REDIRECT --to-port 1389
ぜひお試しください。
Sun Java System Web Server 7.0 (WS7)は、 寺田さんのブログでもたびたび取り上げられていますね。今回は WS7 の認証に OpenDS を使う 簡単な方法を紹介しましょう。

英語のドキュメントは、 https://opends.org/wiki/page/SunJavaSystemWebServer7.0 にあります。基本的にこのドキュメントに沿って設定を進めていきます。

WS7 のダウンロードですが、英語のページになってしまいますが、 http://www.sun.com/download/index.jsp?cat=Web%20%26%20Proxy%20Servers&tab=3 より Web Server 7.0 Update 2 を取って来れます。これは日本語を含む7言語にメッセージを 翻訳した多言語版になります。インストールはセットアップコマンドを実行するだけです。Solaris を OS に使っている場合は、Package 版のほうが後々のパッチの保守等が簡単かもしれません。この場合は、 http://www.sun.com/software/javaenterprisesystem/getit.jsp からダウンロードしてください。インストール方法については寺田さんや他の人のブログを参照して ください。

さて、WS7 がインストールできて、OpenDS も起動していることを確認してください。次にまず やることは、WS7 の管理コンソールにアクセスすることです。一般的には https://localhost:8990/ で管理コンソールにアクセスできると思います。設定時に入力したパスワードでログインしてください。

次は、OpenDS を使って認証の設定です。管理コンソールの「共通操作」タブにある「構成を編集」という ボタンをクリックしてください。移動した画面で、次は「アクセス制御」タブをクリックします。すると、 認証データベースの画面が表示されていると思います。もし表示されなかった場合は、サブタブが「認証 データベース」になっているか確認してください。

次に「新規」ボタンをクリックして、認証データベースを作成します。入力項目としては次のようになり ます。

  1. データベースタイプ: LDAP サーバー
  2. 認証データベース名: なんでも良いですが、今回は OpenDS とします
  3. ホスト名: OpenDS が動作しているホスト名です。今回は OpenDS と WS を同じホストに入れたので localhost にします
  4. ポート: OpenDS のポートです。デモだと 1389 か 2389 になると思います
  5. 接続に SSL を使用: 今回のデモでは「いいえ」になります
  6. ベース DN: 今回のデモだと、dc=example,dc=com になります
  7. バインド DN: 今回のデモでは OpenDS で anonyous search できるので、入力の必要はありません
  8. パスワード: 同上
ここまで入力できたら「了解」ボタンをクリックします。これで OpenDS という名前の認証データベースができました。

次は、「アクセス制御リスト(ACL)」というサブタブをクリックし、「新規」ボタンを続いてクリックします。入力値は 次のようになります。

  1. リソース: デモでは規定値の URI と /* のままとします
  2. 認証データベース: 上で作成した OpenDS を選択します
  3. 認証方法: 今回のデモでは基本(Basic)を選択します
  4. Realm: 今回は入力の必要はありません
  5. Deny Access With: デフォルトメッセージにしておきます
次に「アクセス制御エントリ(ACE)で「新規」ボタンをクリックし、次の値を入力します。 まず1つめは、認証なしのアクセスはすべてアクセスを許可しないよう設定します。
  1. アクセス権: 許可しない
  2. ユーザーとグループ: すべて(認証無し)
  3. 他はすべてそのまま
で、「了解」ボタンをクリックします。2つめは、OpenDS で認証した場合アクセスを許可するよう設定します。 再度「アクセス制御エントリ(ACE)」で「新規」ボタンをクリックしてください。入力値は次のようになります。
  1. アクセス権: 許可する
  2. ユーザーとグループ: 認証データベース中のすべて
  3. 他はすべて規定値のまま
で、「了解」ボタンをクリックします。より細かい設定をする場合は、http://docs.sun.com/ にある WS7 の ドキュメントを参照してください。

さて、管理コンソールの左上に黄色のアイコンと「配備保留中」というリンクがあると思います。ここをクリック して、「配備」を実行してください。インスタンスが稼働していれば OK です。稼働していなければ、インスタンス を起動してください。

これで、Web Server にアクセスしてみましょう。デフォルトポートはおそらく http://localhost:8080/ だと 思います。ここにアクセスすると、ユーザー名とパスワードを聞いてくると思います。OpenDS のインストール時に テスト用に生成したユーザーエントリの値を使ってアクセスしてみましょう。例えば、

  1. ユーザー名: user.1
  2. パスワード: password
でアクセスできます。ちなみにインストール時にテスト用に生成されたアカウントのパスワードは常に password になっています。

今回はデモと言うことで簡易な方法を使っていますが、ここまでとても簡単に設定できることがおわかりいただけると思います。 ぜひ皆さんも試してみてください。

月曜日 3 17, 2008

JMX モニタリングの設定

JMX モニタリングを有効にしてみましょう。手順は英語ですが、 https://www.opends.org/wiki/page/AccessingOpenDSMonitoringInformationThroughJconsole に書かれています。dsconfig コマンドを使って設定していますが、ここでは試しに dsconfig コマンドの Interactive Mode を使って設定してみます。長い文字列を打ち込まなくて済むので、私のようにタイプミス が多い人には楽かもしれません。ドキュメントなどにはコマンドラインからオプションを指定して設定してしまう方法で書かれていると思います。実際のところ今回 Interactive Mode でこの blog エントリーを書いてみたのですが、ものすごく冗長になってしまいました。これは dsconfig に Interactive Mode があるという紹介も兼ねてますので今回はこのまま出します。 実際の操作で、コマンドラインから値をすべて指定してしまうのか、Interactive Mode を使うのは好みの問題ですので、使いやすいと思った方で設定してください。

まず、interactive mode でサーバーに接続します。ここでは前回インストールしたサーバーのうち2つ目 を選択しています。

% ./dsconfig -h localhost -p 2389 -D "cn=directory manager" -w password
次に LDAP を選択します。
>>>> Specify OpenDS LDAP connection parameters
How do you want to connect?

    1)  LDAP              
    2)  LDAP with SSL     
    3)  LDAP with StartTLS

Enter choice [1]: 1 <-- 1 を選択
dsconfig で行える操作一覧が出てきます。まずは、Connection Handler を選択します。
>>>> OpenDS configuration console main menu

What do you want to configure?

    1)   Access Control Handler               20)  Log Rotation Policy     
    2)   Account Status Notification Handler  21)  Matching Rule           
    3)   Alert Handler                        22)  Monitor Provider        
    4)   Attribute Syntax                     23)  Password Generator      
    5)   Backend                              24)  Password Policy         
    6)   Certificate Mapper                   25)  Password Storage Scheme 
    7)   Connection Handler                   26)  Password Validator      
    8)   Crypto Manager                       27)  Plugin                  
    9)   Debug Target                         28)  Plugin Root             
    10)  Entry Cache                          29)  Replication Domain      
    11)  Extended Operation Handler           30)  Replication Server      
    12)  Global Configuration                 31)  Root DN                 
    13)  Group Implementation                 32)  Root DSE Backend        
    14)  Identity Mapper                      33)  SASL Mechanism Handler  
    15)  Key Manager Provider                 34)  Synchronization Provider
    16)  Local DB Index                       35)  Trust Manager Provider  
    17)  Local DB VLV Index                   36)  Virtual Attribute       
    18)  Log Publisher                        37)  Work Queue              
    19)  Log Retention Policy                                              

    q)   quit

Enter choice: 7 <-- 7 を選択します
次に Connection Handler の作成をします。私は 4 で一度 JMX Connection Handler を 消してから再作成すているため 2 を選択していますが、既にある場合は(インストール直後は あります)3 の編集を選択してください。
>>>> Connection Handler management menu 

What would you like to do?

    1)  List existing Connection Handlers           
    2)  Create a new Connection Handler             
    3)  View and edit an existing Connection Handler
    4)  Delete an existing Connection Handler       

    b)  back
    q)  quit

Enter choice [b]: 2 <-- 2 を選択(あるいは 3 を選択してください)
JMX Connection Handler を選択します。
>>>> Select the type of Connection Handler that you want to create:

    1)  JMX Connection Handler 
    2)  LDAP Connection Handler
    3)  LDIF Connection Handler

    ?)  help  
    c)  cancel
    q)  quit  

Enter choice [c]: 1 <-- 1 を選択
まず、JMX Connection Handler を有効にします。
>>>> Enter a name for the JMX Connection Handler that you want to create: JMX Connection Handler


>>>> Configuring the "enabled" property

    Indicates whether the Connection Handler is enabled.

Select a value for the "enabled" property:

    1)  true 
    2)  false

    ?)  help  
    c)  cancel
    q)  quit  

Enter choice [c]: 1 <-- 1 を選択
次にポートを設定します。Multi-Master Replication 構成で同じホストにインストール した場合、両方とも同じポートを設定しているはずです。この場合重ならないように別々の ポートを選択してください。規定値は 1689 になっている場合が多いと思いますが、ここでは 1000 足して 2689 にしています。
>>>> Configuring the "listen-port" property

    Specifies the port number on which the JMX Connection Handler will listen
    for connections from clients.

    Only a single port number may be provided.

    Syntax:  1 <= INTEGER <= 65535

Enter a value for the "listen-port" property: 2689 <-- 2689 を選択
今回は SSL 等は設定してませんので、他の項目は変更しません。
>>>> Configure the properties of the JMX Connection Handler

        Property              Value(s)                                         
        -----------------------------------------------------------------------
    1)  allowed-client        All clients with addresses that do not match an  
                              address on the deny list are allowed. If there is
                              no deny list, then all clients are allowed.      
    2)  denied-client         If an allow list is specified, then only clients 
                              with addresses on the allow list are allowed.    
                              Otherwise, all clients are allowed.              
    3)  enabled               true                                             
    4)  key-manager-provider  -                                                
    5)  listen-port           2689                                             
    6)  ssl-cert-nickname     Let the server decide.                           
    7)  use-ssl               false                                            

    ?)  help                                                    
    f)  finish - apply any changes to the JMX Connection Handler
    c)  cancel                                                  
    q)  quit                                                    

Enter choice [f]: f <-- 変更を適用する

The JMX Connection Handler was created successfully

Press RETURN to continue 


>>>> Connection Handler management menu 

What would you like to do?

    1)  List existing Connection Handlers           
    2)  Create a new Connection Handler             
    3)  View and edit an existing Connection Handler
    4)  Delete an existing Connection Handler       

    b)  back
    q)  quit

Enter choice [b]: 


>>>> OpenDS configuration console main menu

What do you want to configure?

    1)   Access Control Handler               20)  Log Rotation Policy     
    2)   Account Status Notification Handler  21)  Matching Rule           
    3)   Alert Handler                        22)  Monitor Provider        
    4)   Attribute Syntax                     23)  Password Generator      
    5)   Backend                              24)  Password Policy         
    6)   Certificate Mapper                   25)  Password Storage Scheme 
    7)   Connection Handler                   26)  Password Validator      
    8)   Crypto Manager                       27)  Plugin                  
    9)   Debug Target                         28)  Plugin Root             
    10)  Entry Cache                          29)  Replication Domain      
    11)  Extended Operation Handler           30)  Replication Server      
    12)  Global Configuration                 31)  Root DN                 
    13)  Group Implementation                 32)  Root DSE Backend        
    14)  Identity Mapper                      33)  SASL Mechanism Handler  
    15)  Key Manager Provider                 34)  Synchronization Provider
    16)  Local DB Index                       35)  Trust Manager Provider  
    17)  Local DB VLV Index                   36)  Virtual Attribute       
    18)  Log Publisher                        37)  Work Queue              
    19)  Log Retention Policy                                              

    q)   quit

Enter choice: q
以上です。

次に、root DN に JMX read, write, notify privilege を与えます。 先ほどと同様、まずは接続です。

% ./dsconfig -h localhost -p 2389 -D "cn=directory manager" -w password


>>>> Specify OpenDS LDAP connection parameters
How do you want to connect?

    1)  LDAP              
    2)  LDAP with SSL     
    3)  LDAP with StartTLS

Enter choice [1]: 1
Root DN の変更なので、31 を選択します。
>>>> OpenDS configuration console main menu

What do you want to configure?

    1)   Access Control Handler               20)  Log Rotation Policy     
    2)   Account Status Notification Handler  21)  Matching Rule           
    3)   Alert Handler                        22)  Monitor Provider        
    4)   Attribute Syntax                     23)  Password Generator      
    5)   Backend                              24)  Password Policy         
    6)   Certificate Mapper                   25)  Password Storage Scheme 
    7)   Connection Handler                   26)  Password Validator      
    8)   Crypto Manager                       27)  Plugin                  
    9)   Debug Target                         28)  Plugin Root             
    10)  Entry Cache                          29)  Replication Domain      
    11)  Extended Operation Handler           30)  Replication Server      
    12)  Global Configuration                 31)  Root DN                 
    13)  Group Implementation                 32)  Root DSE Backend        
    14)  Identity Mapper                      33)  SASL Mechanism Handler  
    15)  Key Manager Provider                 34)  Synchronization Provider
    16)  Local DB Index                       35)  Trust Manager Provider  
    17)  Local DB VLV Index                   36)  Virtual Attribute       
    18)  Log Publisher                        37)  Work Queue              
    19)  Log Retention Policy                                              

    q)   quit

Enter choice: 31 <-- 31 を選択
変更を加えるため、1を選択します。
>>>> Root DN management menu 

What would you like to do?

    1)  View and edit the Root DN

    b)  back
    q)  quit

Enter choice [b]: 1 <-- 1 を選択
1 の default-root-privilege-name を変更するので 1 を選択します。
>>>> Configure the properties of the Root DN

        Property                     Value(s)                                  
        -----------------------------------------------------------------------
    1)  default-root-privilege-name  backend-backup, backend-restore,          
                                     bypass-acl, cancel-request, config-read,  
                                     config-write, disconnect-client,          
                                     ldif-export, ldif-import, modify-acl,     
                                     password-reset, privilege-change,         
                                     server-restart, server-shutdown,          
                                     unindexed-search, update-schema           

    ?)  help                                     
    f)  finish - apply any changes to the Root DN
    c)  cancel                                   
    q)  quit                                     

Enter choice [f]: 1 <-- 1 を選択
read, write, notify privilege を追加するため、2 を選択します。
>>>> Configuring the "default-root-privilege-name" property

    Specifies the names of the privileges that root users will be granted by
    default.

The "default-root-privilege-name" property has the following values:

    *)  backend-backup         *)  ldif-import     
    *)  backend-restore        *)  modify-acl      
    *)  bypass-acl             *)  password-reset  
    *)  cancel-request         *)  privilege-change
    *)  config-read            *)  server-restart  
    *)  config-write           *)  server-shutdown 
    *)  disconnect-client      *)  unindexed-search
    *)  ldif-export            *)  update-schema   

Do you want to modify the "default-root-privilege-name" property?

    1)  Keep these default values
    2)  Add one or more values   
    3)  Remove one or more values
    4)  Remove all values        

    ?)  help
    q)  quit

Enter choice [1]: 2 <-- 2 を選択
jmx-read, jmx-write, jmx-notify を選択します。
Select the values you wish to add:

    1)  data-sync     
    2)  jmx-notify    
    3)  jmx-read      
    4)  jmx-write     
    5)  proxied-auth  
    6)  Add all values

    ?)  help  
    c)  cancel
    q)  quit  

Enter one or more choices separated by commas [c]: 2,3,4 <-- 2, 3, 4 を選択

Press RETURN to continue 
変更後の情報が出力されるので、この値を使うよう指定します。
>>>> Configuring the "default-root-privilege-name" property (Continued)

The "default-root-privilege-name" property has the following values:

    *)  backend-backup         *)  ldif-export     
    *)  backend-restore        *)  ldif-import     
    *)  bypass-acl             *)  modify-acl      
    *)  cancel-request         *)  password-reset  
    *)  config-read            *)  privilege-change
    *)  config-write           *)  server-restart  
    *)  disconnect-client      *)  server-shutdown 
    *)  jmx-notify             *)  unindexed-search
    *)  jmx-read               *)  update-schema   
    *)  jmx-write                                  

Do you want to modify the "default-root-privilege-name" property?

    1)  Use these values                                                       
    2)  Add one or more values                                                 
    3)  Remove one or more values                                              
    4)  Remove all values                                                      
    5)  Reset to the default values: backend-backup, backend-restore,          
        bypass-acl, cancel-request, config-read, config-write,                 
        disconnect-client, ldif-export, ldif-import, modify-acl,               
        password-reset, privilege-change, server-restart, server-shutdown,     
        unindexed-search, update-schema                                        
    6)  Revert changes                                                         

    ?)  help
    q)  quit

Enter choice [1]: 1 <-- 1 を選択

Press RETURN to continue 
変更を適用します。
>>>> Configure the properties of the Root DN

        Property                     Value(s)                                  
        -----------------------------------------------------------------------
    1)  default-root-privilege-name  backend-backup, backend-restore,          
                                     bypass-acl, cancel-request, config-read,  
                                     config-write, disconnect-client,          
                                     jmx-notify, jmx-read, jmx-write,          
                                     ldif-export, ldif-import, modify-acl,     
                                     password-reset, privilege-change,         
                                     server-restart, server-shutdown,          
                                     unindexed-search, update-schema           

    ?)  help                                     
    f)  finish - apply any changes to the Root DN
    c)  cancel                                   
    q)  quit                                     

Enter choice [f]: f <-- f を選択

The Root DN was modified successfully

Press RETURN to continue 
以上です。Status Panel から OpenDS を一度停止し、再度起動してください。

jconsole の起動

次は jconsole を起動して、接続します。jconsole は JAVA_HOME/bin にインストールされています。 J2SE 5.0 と Java 6 で多少 UI が異なりますが、やることは JMX URL の指定と、user 名、パスワード の指定です。

  1. JMX URL: service:jmx:rmi:///jndi/rmi://localhost:2689/org.opends.server.protocols.jmx.client-unknown
  2. Username: cn=directory manager
  3. password: password
以上で、 https://www.opends.org/wiki/page/AccessingOpenDSMonitoringInformationThroughJconsole に書かれているように jconsole からモニタリングができます。ぜひお試しください。

金曜日 3 14, 2008

OpenDS の QuickSetup をつかうと、短時間でしかも簡単に Multi-Master Replication 構成で OpenDS をインストールすることができます。今回は以下の図のような設定にします。本来なら2台のホストに別々にインストールするのですが、今回はデモということで1台のマシンに2つの OpenDS を入れてしまいます。そのためインストールディレクトリとポート番号はそれぞれの OpenDS で異なる値を使うようにします。

OpenDS インストーラの起動

OpenDS は Java Web Start を使ってインストールできてしまいます。まず http://www.opends.org にアクセスして、Downloads のところにある Install Latest with QuickSetupをクリックするだけです。こ れでインストーラが起動します。新規インストールの場合は Install New Server Instance を選択し、 Next ボタンをクリックしてください。

OpenDS の設定

次はサーバーの設定です。今 回の設定は次のようにしました。
  1. Installation Path: /export/home/shioda/OpenDS1
  2. Host Name: localhost (適宜変更してください)
  3. LDAP Listener Port: 1389 (root でない場合は 1024 以降のポートになります)
  4. LDAP Secure Access: disabled(今回は disable で設定します)
  5. Root User DN: cn=Directory Manager

パスワードは適宜入力してください。

セキュリティ設定 今回は LDAP Secure Access を disable にして設定していますが、その横の Configure ボタンを押すと、次の画面で設定を行えます。

トポロジー設定

ここで、data replication のトポロジー設定を行います。今回は、最初のインストールなので、次のように設定しました。
  1. Tis server will be a part of replication topology を選択
  2. Replication Port+ 8989 (既定値)

ディレクトリデータの入力

ディレクトリデータを入力できます。テストの場合は、Bind DN< は既定値の dc=example,dc=com、またデータは自動生成したものをいくつか入れるということで、Import Automatically Generated Sample Data を選択すればよいでしょう。データをお持ちの場合は、 Bind DN の変更や ldif ファイルの指定を行ってください。

以上でインストールに必要な入力はすべて終わりました。入力データをチェックして、インストールを開始してください。インストールに成功すると、画面の中程に Launch Status Panel というボタンが表示されます。ここをクリックするとステータスパネルが表示されます。パスワードを聞かれますが、こ れはインストールの設定時に入力したものになります。

以上で、Multi-Master Replication 構成の最初の OpenDS インストールが終わりました。ここまでは、ネットワークやサンプルデータの生成数にもよりますが、3 - 5分程度で終わったのではないかと思います。スタンドアロン構成で使う場合は、トポロジ設定のところで This will be a standalone server を選択するだけであとは同じになります。

2台目の OpenDSをインストールし Multi-Master Replication 構成で起動

今回はデモということで、同じマシンに2台目の OpenDS をインストールしてしまいます。もう1台マシンを用意できる方は別のマシンにインストールしてください。もう一度 OpenDS のインストーラを起動すると設定画面が出てきます。設定は次のようにしました。
  1. Installation Path: /export/home/shioda/OpenDS2
  2. Hostname: localhost (適宜変更してください)
  3. LDAP Listener Port: 2389 (使用中の場合、1000 づつポート番号が加算されていきます)
  4. LDAP Secure Access: disable (1台目と同じにします)
  5. Root User DN: cn=Directory Manager
  6. Password:
以上です。

トポロジ設定

今回も This server will be part of a replication topology を選択します。Replication Port は 9989 になっています。すでに1台目の OpenDS をインストール・実行済みですので、There is a server in the topology を選択し、1台目の OpenDS の情報を入力します。
  1. Host Name: localhost (1台目の OpenDS をインストールしたホスト名 )
  2. Port: 1389 (1台目の OpenDS のポート )
  3. Admin User: cn=Directory Manager
  4. Password:

Global Admin の設定

Global Administrator のアカウント作成とパスワードの設定を行います。このアカウントは replicatin トポロジーの管理に使用されます。

データの複製

1 台目の OpenDS からデータを複製します。サンプルデータを入れた場合は、Create local instance of existing base Dns and configure replication を選択し、 dc=example,dc=com もチェックします。

設定作業は以上で終わりです。インストールを開始してください。ここまでおそらく10分かからずに2台の OpenDS インストール、および Multi-Master Replication での構成が終わったと思います。ぜひみなさんもお試しください。

This blog copyright 2008 by shioda