ヘッダーをスキップ
Oracle® Fusion Middleware WebCenter Sites: サポート・ソフトウェアのインストールと構成
11g リリース1 (11.1.1.8.0)
E49673-02
  ドキュメント・ライブラリへ移動
ライブラリ
製品リストへ移動
製品
目次へ移動
目次

前
 
次
 

18 OpenLDAP 2.3.xの設定

この章では、WebCenter Sitesとともに使用するOpenLDAPを設定する方法について説明します。


注意:

WebCenter Sites-LDAPインテグレータを実行するに、OpenLDAPを設定する必要があります。


この項の内容は、次のとおりです。

18.1 OpenLDAPコマンド

この項では、最も一般的に使用されるOpenLDAPコマンドについて説明します。WebCenter Sitesとともに使用するOpenLDAPを構成するときのリファレンスとして使用してください。

18.1.1 OpenLDAPの起動


注意:

この項は、slapdデーモンが/usr/local/libexecにあることを前提としています。インストールによっては、デーモンが別の場所にある場合もあります。その場合、この項にリストされているコマンド内のパスを正しいパスに置き換えてください。


  • OpenLDAPを通常起動するには、次のコマンドを使用します。

    /usr/local/libexec/slapd

  • 完全デバッグありでOpenLDAPを起動するには(構成の問題を診断する場合、およびWebCenter Sitesをインストールする場合に便利です)、次のコマンドを使用します。

    /usr/local/libexec/slapd -h 'ldap:///' -d 0x5001

18.1.2 OpenLDAPサーバーの検索

OpenLDAPサーバーを検索するには、次の手順を実行します。

  1. 次のコマンドを実行します。

    ldapsearch -x -D "cn=Manager,dc=<domain>,dc=<extension>" -W 
    -b '' -s base '(objectClass=*)' namingContexts
    

    ここで、<domain>および<extension>は、手順aで指定した値です。

  2. パスワードを要求するプロンプトが表示されたら、手順dで指定したルートDNユーザーのパスワードを入力します。

    ldapsearchコマンドの通常の応答は次のようになります。

    Enter LDAP Password:
    # extended LDIF
    #
    # LDAPv3
    # base <> with scope baseObject
    # filter: (objectClass=*)
    # requesting: namingContexts
    #
    
    #
    dn:
    namingContexts: dc=example,dc=com
    # search result
    search: 2
    result: 0 Success
    
    # numResponses: 2
    # numEntries: 1
    

18.1.3 OpenLDAPサーバーへのLDIFファイルの追加

OpenLDAPサーバーに整形式のLDIFファイルを追加するには、ldapaddコマンドを使用します。

ldapadd -D 'cn=Manager,dc=<domain>,dc=<extension>'
-w <root_dn_password> -f <LDIF_file_name>

ここで、

  • <domain>および<extension>は、手順aで指定した値です。

  • <root_dn_password>は、手順dで指定したルートDNユーザーのパスワードです。

  • <LDIF_file_name>は、追加するLDIFファイルの名前です。

18.2 OpenLDAPのインストール

この項では、OpenLDAPのインストール方法について説明します。


注意:

OpenLDAPは、ほとんどのLinuxディストリビューションにバンドルされています。OpenLDAPがシステムにすでにインストールされている場合、この項はスキップしてください。


Open LDAPをインストールするには 

  1. OpenLDAP WebサイトからOpenLDAP tgzアーカイブをダウンロードします。

    http://www.openldap.org/

    例: openldap-stable-20070110.tgz

  2. アーカイブを解凍します(図18-1)。

    • GNUを使用している場合、次のコマンドを使用します。

      tar-xvzf openldap-stable-20070110.tgz

    • GNUを使用していない場合、次のコマンドを使用します。

      gzip -d openldap-stable-20070110.tgz ; tar -xvf openldap-stable-20070110.tar

      図18-1 アーカイブの解凍

      図18-1の説明が続きます
      「図18-1 アーカイブの解凍」の説明

  3. OpenLDAPソースを格納しているディレクトリに変更します(図18-2)。たとえば、次のように指定します。

    cd openldap-2.3.32

    図18-2 ディレクトリの変更

    図18-2の説明が続きます
    「図18-2 ディレクトリの変更」の説明

  4. 次のようにOpenLDAPソースを構成します(図18-3)。

    ./configure --enable-crypt --with-tls

    図18-3 OpenLDAPソースの構成

    図18-3の説明が続きます
    「図18-3 OpenLDAPソースの構成」の説明

    推奨オプションを以下に示します。

    • --enable-crypt —: パスワードの暗号化が有効になります。

    • --with-tls —: TLS/SSLサポートが有効になります。


      注意:

      ご使用のシステム用にOpenLDAPをカスタマイズする場合、以下を実行します。

      ./configure --help: 構成オプションの全リストが表示されます。


  5. OpenLDAP依存関係をコンパイルします: make depend

  6. OpenLDAPをコンパイルします: make

  7. OpenLDAPをインストールします: make install


    注意:

    デフォルトでは、OpenLDAPは/usr/localにインストールされます。


18.3 OpenLDAPの構成

この項では、OpenLDAPインストールの構成方法について説明します。

  1. ldap.confファイルを次のように編集します。


    注意:

    前の項の手順に従いOpenLDAPを手動でインストールした場合、ldap.conf/usr/local/etcにあります。


    1. ベースDNを指定します。次の行を探します(存在しない場合、作成します)。

      BASE dc=<domain>,dc=<extension>

      ここで、<domain>および<extension>は、それぞれドメインとLDAPサーバーのTLDです。

      OpenLDAPのベースDNは、通常、2つのdcで構成されます。たとえば、完全ドメインがvm.example.comの場合、ベースDNはexample.comであり、BASE行は次のようになります。

      BASE dc=example,dc=com

    2. URIを指定します。次の行を探します(存在しない場合、作成します)。

      URI ldap://<hostanme_or_IP> ldap://<hostanme_or_IP>

      OpenLDAPで接続をリスニングするホスト名、IPアドレスまたはその両方を入力します。複数のエントリがある場合、スペースで区切ります。たとえば、次のように指定します。

      URI ldap://127.0.0.1 ldap://localhost ldap://172.19.1.2

  2. sldapd.confファイルを次のように編集します。


    注意:

    前の項の手順に従いOpenLDAPを手動でインストールした場合、sldapd.conf/usr/local/etcにあります。


    1. 次のセクションを探します。

      access to * 
         by self write
         by users read
      and replace it with:
      access to *
         by dn="cn=Manager,dc=<domain>,dc=<extension>" write
      by self write
      by users read
      by anonymous auth
      

      ここで、<domain>および<extension>は、手順1aで指定した値です。

    2. 接尾辞を指定します。次の行を探します(存在しない場合、作成します)。

      suffix dc=<domain>,dc=<extension>

      ここで、<domain>および<extension>は、手順1aで指定した値です。

    3. ルートDNユーザーを指定します。(ルートDNユーザーは、LDAPサーバーにアクセスするために使用します。)次の行を探します(存在しない場合、作成します)。

      rootdn cn=<user_name>,dc=<domain>,dc=<domain>

      ユーザー名としてManagerと入力し、<domain>および<extension>を、手順1aで指定した値に置き換えます。

    4. ルートDNユーザーのパスワードを指定します。次の行を探します(存在しない場合、作成します)。

      rootpw<password>


      注意:

      パスワードは暗号化することも、そのまま使用することもできます。(暗号化されたパスワードの先頭には{SSHA}が付加されます)。暗号化されたパスワードを使用する場合、以下を行います。

      • slappasswdコマンドを使用して、暗号化されたパスワード(ハッシュ)を生成します。このコマンドにより、暗号化された有効なパスワード(ハッシュ)が生成され、端末に出力されます。

      • 次の手順eを実行します。


    5. (オプション)前の手順で暗号化されたパスワードを使用することを選択した場合、パスワード・タイプをSHAに設定します。次の行を探します(存在しない場合、作成します)。

      password-hash {SSHA}

      これにより、パスワード・タイプがSHA(デフォルト)に設定されます。他のパスワード・タイプも設定できます。詳細は、OpenLDAPのドキュメントを参照してください。

  3. core.schemaファイルを次のように編集します。


    注意:

    前の項の手順に従いOpenLDAPを手動でインストールした場合、core.schema/usr/local/etc/schemaにあります。


    1. 次のセクションを探します。

      objectclass ( 2.5.6.17 NAME 'groupOfUniqueNames'   DESC 'RFC2256: a group of unique names (DN and Unique Identifier)'SUP top STRUCTURAL MAY ( businessCategory $ seeAlso $ owner $ ou $ o $ description $ uniqueMember) MUST ( uniqueMember $ cn ))
      
    2. 各行の先頭に#文字を配置して、セクションをコメント行にします。次に、次の修正したセクションをその後に挿入します。

      objectclass ( 2.5.6.17 NAME 'groupOfUniqueNames'   DESC 'RFC2256: a group of unique names (DN and Unique Identifier)'SUP top STRUCTURALMAY ( businessCategory $ seeAlso $ owner $ ou $ o $ description $ uniqueMember) MUST ( cn ))
      

      元のセクションと修正したセクションの違いは、最後の行です。

      MUST ( uniqueMember $ cn )MUST ( cn )に変更されています。

    これでOpenLDAPの構成は完了です。

18.4 OpenLDAPへのWebCenter Sitesスキーマの追加

この項では、OpenLDAPサーバーにWebCenter Sitesスキーマを追加する方法について説明します。


注意:

次のサンプルLDIFファイルの内容をコピーする場合、dnセクションの間およびファイルの末尾に空の行を挿入する必要があります。


WebCenter Sites用にOpenLDAPを構成するには

  1. 次の内容を含むpre_cs_openldap.ldifという名前のLDIFファイルを作成します。

    dn: dc=<domain>,dc=<extension>objectClass: dcObjectobjectClass: organizationdc: exampledescription: OpenLDAP pre_cs_setupo: Example Software# LDAP Manager Roledn: cn=Manager,dc=<domain>,dc=<extension>objectclass: organizationalRolecn: Manager# add the organizational Unit Peopledn: ou=People,dc=<domain>,dc=<extension>objectClass: organizationalUnitobjectClass: topou: People# add the organizational Unit Groupdn: ou=Groups,dc=<domain>,dc=<extension>objectClass: organizationalUnitobjectClass: topou: Groups
    

    ここで、<domain>および<extension>は、手順aで指定した値です。

    このファイルにより、2つのサブ組織(GroupsPeople)およびManagerユーザーを含む新しい組織(example)が作成されます。Managerユーザーは、LDAPサーバーにアクセスするために使用します。

  2. OpenLDAPサーバーにpre_cs_openldap.ldifファイルを追加します。次のコマンドを実行します。

    ldapadd -D 'cn=Manager,dc=<domain>,dc=<extension>'

    -w <root_dn_password> -f pre_cs_openldap.ldif

    ここで、

    • <domain>および<extension>は、手順aで指定した値です。

    • <root_dn_password>は、手順dで指定したルートDNユーザーのパスワードです。

  3. OpenLDAPサーバーをテストします。次のコマンドを実行します。

    ldapsearch -x -b 'ou=Groups,dc=<domain>,dc=<extension>' '(objectclass=*)'

    ここで、<domain>および<extension>は、手順aで指定した値です。

    ldapsearchコマンドの応答例を以下に示します。

    # extended LDIF## LDAPv3# base <ou=Groups,dc=example,dc=com> with scope subtree# filter: (objectclass=*)# requesting: ALL## search resultsearch: 2result: 0 Success# numResponses: 1
    

    pre_cs_openldap.ldifファイルがLDAPサーバーに正常に挿入された場合、result:行にsuccessが表示されます。表示された場合、WebCenter Sites LDAPインテグレータを実行する準備が整ったことになります。詳細は、第V部「Oracle WebCenter SitesとLDAPの統合」を参照してください。

18.5 ユーザー・パスワードの変更

WebCenter Sites LDAPインテグレータを実行すると、すべてのWebCenter Sitesユーザー(fwadminContentServerおよびDefaultReaderを除く)に、「WebCenter Sitesの構成」画面で入力したパスワードが割り当てられます。セキュリティ上の理由から、これらのユーザーに固有のパスワードを手動で割り当てることが必要な場合があります。


注意:

OpenLDAPの構成時に暗号化されたパスワードを使用することを選択した場合、WebCenter Sitesシステムですべてのユーザーのパスワードを変更する必要があります。変更しないと、WebCenter Sitesインストールが正しく機能しません。これは、WebCenter Sites-LDAPインテグレータが、ユーザー・パスワードをプレーンテキストとしてOpenLDAPに書き込み、一方でOpenLDAPはパスワード・ハッシュを必要とするためです。


次の表に、WebCenter Sitesユーザーに割り当てる必要があるパスワードを示します。

ユーザー パスワード

DefaultReader

SomeReader

ContentServer

WebCenter Sitesインストール時に指定したパスワード

fwadmin

WebCenter Sitesインストール時に指定したパスワード

WebCenter Sitesシステムの他のすべてのユーザー

WebCenter Sites-LDAP統合時に指定したパスワード


この項では、OpenLDAPでパスワードを変更する方法として、次の方法を説明します。

18.5.1 LDAPブラウザの使用によるユーザー・パスワードの変更

この項では、http://www-unix.mcs.anl.gov/~gawor/ldap/で入手できる無料のLDAPブラウザ/エディタ・プログラムを使用してユーザー・パスワードを変更する方法を説明します。

LDAPブラウザを使用してOpenLDAPでユーザー・パスワードを変更するには 

  1. LDAPブラウザをダウンロードし、インストールします。

  2. LDAPブラウザを起動します: ./lbe.sh

  3. 「Quick Connect」タブをクリックします(図18-4)。

    図18-4 「Quick Connect」タブ

    図18-4の説明が続きます
    「図18-4 「Quick Connect」タブ」の説明

  4. フィールドに次のように入力します。

    フィールド

    Hostname

    OpenLDAPサーバーのホスト名。

    Port

    389

    Version

    3

    Base DN

    手順aで指定したベースDN。

    Anonymous bind

    Yes(チェック・ボックスを選択)

    User DN

    cn=Manager

    Append base DN

    Yes(チェック・ボックスを選択)

    Password

    手順dで指定したルートDNユーザーのパスワード。


  5. 「Connect」をクリックします。

  6. 左側のツリーで、ou=Peopleノードを展開します(図18-5)。

    図18-5 展開されたou-People

    図18-5の説明が続きます
    「図18-5 展開されたou-People」の説明

  7. パスワードを変更するユーザーをダブルクリックし、[Ctrl]+[E]キーを押します。

  8. WebCenter Sites-LDAPインテグレータにより書き込まれたプレーンテキスト・パスワードは「userPassword」フィールドに表示されます(図18-6)。「Set」をクリックします。

    図18-6 「Edit」ダイアログ・ボックス

    図18-6の説明が続きます
    「図18-6 「Edit」ダイアログ・ボックス」の説明

  9. ポップアップ・ウィンドウで、ユーザーのパスワードを入力し(図18-7)、「Set」をクリックします。

    図18-7 「Generate Password」ダイアログ・ボックス

    図18-7の説明が続きます
    「図18-7 「Generate Password」ダイアログ・ボックス」の説明

    パスワードは暗号化された形式で表示されます。

  10. 「Apply」をクリックして新しいパスワードを保存します(図18-8)。

    図18-8 「Edit」ダイアログ・ボックス

    図18-8の説明が続きます
    「図18-8 「Edit」ダイアログ・ボックス」の説明

  11. パスワードを変更するユーザーごとに手順7から10を繰り返します。終了したら、WebCenter Sitesにログインして統合をテストします。

18.5.2 ldapmodifyコマンドの使用によるユーザー・パスワードの変更

ldapmodifyコマンドは、OpenLDAPサーバーの構成を変更する有効なLDIF文を入力できるインタフェースを提供しています。この項では、LDAPユーザーのパスワードを変更するldapmodifyおよびsldappasswdコマンドの使用方法について説明します。

ldapmodifyコマンドを使用してOpenLDAPでユーザー・パスワードを変更するには 

  1. ユーザーごとに暗号化されたパスワードを生成します。sldappasswdコマンドを実行し、暗号化するプレーンテキスト・パスワードを入力します。このコマンドにより、暗号化されたパスワード(ハッシュ)が端末に出力されます。たとえば、次のように指定します。

    {SSHA}ydUT5RCpBAU80P0PW8gaHnsmYmLlmUL8


    注意:

    多数のユーザーに対しハッシュを生成する場合、ハッシュをファイルに保存することをお薦めします。これにより、手順3でハッシュを簡単に取得できます。この手順が終了したら、ハッシュが保存されているファイルを破棄する必要があります。


  2. 次のようにldapmodifyコマンドを実行します。

    ldapmodify -D 'cn=Manager,dc=<domain>,dc=<extension>' 
    -w <root_dn_password>
    

    ここで、

    • <domain>および<extension>は、手順aで指定した値です。

    • <root_dn_password>は、手順dで指定したルートDNユーザーのパスワードです。

    コマンドで空白行が返されたら、LDIF文を入力する準備は完了です。

  3. ユーザーのパスワードを変更します。次のコマンドを発行します。

    1. dn:cn=<user_name>,ou=People,dc=<domain>,dc=<extension>

      ここで、user_nameは、パスワードを変更するユーザーの名前で、<domain>および<extension>は、手順aで指定した値です。

    2. changetype:modify

    3. replace:userPassword

    4. userpassword:<password_hash>

      ここで、<password_hash>は、この手順の手順1sldappasswdコマンドにより生成されたハッシュです。

    5. [Ctrl]+[D]キーを押します。

    6. パスワードを変更するユーザーごとに手順aからeを繰り返します。終了したら、[Ctrl]+[C]キーを押してdapmodifyコマンドを終了します。