生の OpenLDAP を使って、共有アドレス帳を作る方法。しかし、いちいちテキストファイルでエントリを作るのはつらい。
Zimbra を使う方法はこちら; Zimbra で LDAP アドレス帳を共有
OpenLDAP のインストール、設定方法はこちら; OpenLDAP の設定
最初に, olcSuffix と完全に一致するオブジェクトを追加する。これがないと, 子エントリが追加できない。
なお, olcSuffix より短い部分しかないエントリ (dn: dc=localdomain) は, 追加できない。エラーになる。
次の例は, olcSuffix
が空の前提で、最上位からエントリを作っている。orange.fruits というホスト名の仮定で, ou=people, cn=groups も作っておく。
root.ldif::
dn: dc=fruits # suffix に対しては STRUCTURAL なオブジェクト # 'organization' is a STRUCTURAL objectClass: dcObject objectClass: organization dc: fruits o: sample org dn: dc=orange,dc=fruits # suffix に対しては STRUCTURAL なオブジェクト # 'organization' is a STRUCTURAL objectClass: dcObject objectClass: organization dc: orange o: sample org dn: cn=groups,dc=orange,dc=fruits # organizationalRole => core.schema # MUST cn objectClass: organizationalRole cn: groups description: dynamic groups base dn: ou=people,dc=orange,dc=fruits objectClass: organizationalRole ou: people cn: people
ldapaddコマンドで追加する。今度は -D "cn=admin,dc=pineapple,dc=localdomain".
$ ldapadd -x -W -D "cn=admin,dc=pineapple,dc=localdomain" -f root.ldif Enter LDAP Password: adding new entry "dc=pineapple,dc=localdomain"
ようやく, アドレス帳のエントリを追加してみる。
LDIFファイルを作る. "属性名::" と、コロンが2つある行は、UTF-8テキストをBASE 64エンコードしたもの。
注意: 以下のdnはあまりよくない。別ページで解説する。
dn: mail=hhorikawa@nslabs.jp,dc=pineapple,dc=localdomain objectclass: top objectclass: person objectclass: organizationalPerson objectclass: inetOrgPerson givenName: Hisashi sn: HORIKAWA cn: Hisashi HORIKAWA mail: hhorikawa@nslabs.jp o:: 5Za25qWt5pys6YOo
ldapadd コマンドで追加する。
$ ldapadd -x -W -D "cn=admin,dc=pineapple,dc=localdomain" -f mailtest.ldif Enter LDAP Password: adding new entry "mail=hhorikawa@nslabs.jp,dc=pineapple,dc=localdomain"
WindowsのメーラでLDAPに対応しているものから, アドレス帳を見てみる. 表示できた。