« postfixによるSMTPサーバの構築その4 | メイン | LDAPのパスワードをWEBブラウザから変更する »

CentOS4でopenLDAPを使ったユーザ情報の管理その2

openLDAPなどのディレクトリサービスは冗長構成をとるのが一般的です。なので前回でマスターサーバの設定が済んだので今回は複製サーバを構築しましょう。
複製側サーバもCentOS4を前提にしています。同じバージョンのldapを使っていればきれいに動くと思います。


●マスターサーバ側の作業

複製サーバ側のslapd.confの設定はマスター側とほとんど同じなので複製サーバにslap.confをコピーして利用すると便利です。以下はマスター側のslapd.confへの追加です。

修正情報を記録するログファイルを指定
---
replogfile /var/lib/ldap/openldap-master-replog
---

複製サーバ情報を指定

---
replica host=replica.domain.com:389
suffix="dc=domain,dc=com"
binddn="cn=Manager,dc=domain,dc=com"
credentials=Password
bindmethod=simple
tls=yes
---

binddnにManagerを指定しましたが書き込み権限のあるユーザなら誰でもOKでcredentialsでパスワードを指定します。
tlsをyesに設定したのでサーバ間のデータは暗号化通信を行います。

はじめは複製サーバ側へデータを手動で入力する必要があります。
ということで現在の登録データをファイルに書き出します。

# slapcat -l /etc/openldap/export.ldif

できたexport.ldifファイルを複製サーバ側にコピーしておきます。


●複製サーバ側の設定(slapd.conf)

基本的に設定はマスター側と同じです。以下複製サーバ特有の設定だけ記入します。
マスター側からコピーしてきたslapd.confを使います。

マスターから送られてくる複製情報を書き込むユーザの指定。当然書き込み権限のある
ユーザを指定する必要があります。
---
updatedn "cn=Manager,dc=anan-nct,dc=ac,dc=jp"
---

マスターのアドレスを記述する必要があります。
---
updateref ldap://ldap.domain.com
---

次にマスターサーバから持ってきたデータをインポートします。

# slapadd -l /directory/export.ldif

データベースに既にデータが入っている場合はいろいろエラーがでますがログなどを見
て適宜データを削除するなどして対処してください。データの削除にはWindowsで動作するldap browserが便利だと思います。Javaで作成されていてちょっとしたデータの修正などに大いに役立ちます。

↓ldap browser
http://www-unix.mcs.anl.gov/~gawor/ldap/

●起動

設定がすんだら次は起動です。複製サーバ,マスターサーバの順に起動していきます。
うまく起動できたら正常に複製されているかログを確認しましょう。