Thunderbirdのアドレス帳をLDAP管理したいぜ!
えとですね、私はMozilla Thunderbirdユーザです。Thunderbirdのアドレス帳は、LDAPに対応しています。しかし、そのままでは制限された情報しか扱うことができません。なぜならば、Thunderbirdのアドレス帳は、独自拡張されたスキーマがありまして。ThunderbirdからExportされたLDIFファイルを見てみればわかりますが、mozillaAbPersonAlphaというObjectClassが使用されています。
このために、このObjectClassを追加し、Thunderbirdのアドレス帳に対応させてみたいと思います。
スキーマの準備
mozillaAbPersonAlphaのダウンロードページにアクセスすると、スキーマがダウンロードできます。これを、/etc/openldap/schemaに置いて、/etc/openldap/slapd.confに以下を追加してやるです。
include /etc/openldap/schema/mozillaAbPersonAlpha.schema
で、slapdを再起動
# /etc/init.d/slapd restart
これで、LDAPでThunderbirdのアドレス帳を扱える準備が整いました。
LDAPにアドレス帳エントリを作成する
私は、こんなポリシーで行きたいと思います。
dc=example,dc=com | +ou=Address+ou=user1 | +ou=user2 | . . .
トップドメインに、Addressというouを作り、その下に、ユーザ毎のアドレス帳を作成していきます。各ユーザ毎に固有のアドレス帳って作りたいじゃないっすか。なのでこんな感じ。ちなみに、ユーザ1、ユーザ2はou=Peopleに作成したuidエントリと同じユーザ名にするポリシーで行きます。
このため、こんなLDIF(address.ldifとしますね)を作成して
# Address Oganization Unit dn: ou=Address,dc=example,dc=com ou: Address objectclass: organizationalUnit dn: ou=user1,ou=Address,dc=example,dc=com ou: user1 objectclass: organizationalUnit
これを、LDAPに登録してやります。
# ldapadd -x -D "cn=Manager,dc=example,dc=com" -W -f address.ldif
はい、これで完了。phpLDAPadminとか使用してもOKよ。こっちのほうが追加は簡単かな。
アドレス帳のエクスポート
Thunderbirdのツール→アドレス帳でアドレス帳開きます。 で、LDAPに登録したいアドレス帳を選択して、アドレス帳側のツール→エクスポートで、LDIF形式を選んでエクスポートしてやりましょう。さて、addressbook.ldifとして出力したと仮定します。
エクスポートしたアドレス帳を、登録可能な形式に変換する。
さて、このアドレス帳ですが、問題が2つあります。
- 登録するdnが、今回登録するLDAPデータツリーに合っていない
- 日本語がBase64エンコードされている
この2つを変換してやる必要があるとです。dnは、こんな感じにします。
dn: cn=誰かさん,ou=user1,ou=Address,dc=example,dc=com
cnって、Thunderbirdアドレス帳の表示名ってやつね。
また、日本語は、base64からUTF8に変換してあげる必要があります。私は、このページに添付してあるaddressconv.pl作成して対応しました。このスクリプト、base64ってコマンドが必要なので注意してね。Gentooの場合は、coreutilsに入ってるので問題なし。このスクリプト実行してあげましょうか。ちなみに、使用する場合は、このスクリプトの頭にある、
$Address = "ou=Address"; $basedn = "dc=example,dc=com\n";
の行を適当に編集してやって。
# strings addressbook.ldif >addresbookunix.ldif # addressconv.pl addressbookunix.ldif user1 >addresbookconv.ldif
strings打ってるのは、改行コード変換してるから。改行コードはエディタかなんかで適当に変換してやって。
LDAPに登録するよっ
# ldapadd -x -D "cn=Manager,dc=example,dc=com" -W -f addresbookconv.ldif
さて、エラーなく登録されたかしら。
ぺージ情報 | |
---|---|
ぺージ名 : | Gentoo Linuxな生活/ThunderBirdアドレス帳をLDAPで悩む |
ページ別名 : | 未設定 |
ページ作成 : | maruo |
閲覧可 | |
グループ : | すべての訪問者 |
ユーザー : | すべての訪問者 |
編集可 | |
グループ : | なし |
ユーザー : | なし |