*Thunderbirdのアドレス帳をLDAP管理したいぜ! [#z8a3cee9] えとですね、私はMozilla Thunderbirdユーザです。Thunderbirdのアドレス帳は、LDAPに対応しています。しかし、そのままでは制限された情報しか扱うことができません。なぜならば、Thunderbirdのアドレス帳は、独自拡張されたスキーマがありまして。ThunderbirdからExportされたLDIFファイルを見てみればわかりますが、mozillaAbPersonAlphaというObjectClassが使用されています。 このために、このObjectClassを追加し、Thunderbirdのアドレス帳に対応させてみたいと思います。 *LDAPサーバの準備 [#fc8fcd1e] **スキーマの準備 [#af5be177] [[mozillaAbPersonAlphaのダウンロードページ>http://sourceforge.net/projects/jabook/files/Schemas/mozillaAbPersonAlpha/mozillaAbPersonAlpha.schema/download]]にアクセスすると、スキーマがダウンロードできます。これを、/etc/openldap/schemaに置いて、/etc/openldap/slapd.confに以下を追加してやるです。 include /etc/openldap/schema/mozillaAbPersonAlpha.schema で、slapdを再起動 # /etc/init.d/slapd restart これで、LDAPでThunderbirdのアドレス帳を扱える準備が整いました。 **LDAPにアドレス帳エントリを作成する [#a861a914] 私は、こんなポリシーで行きたいと思います。 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アドレス帳の準備 [#ic07f9ae] **アドレス帳のエクスポート [#x047ba99] Thunderbirdのツール→アドレス帳でアドレス帳開きます。 で、LDAPに登録したいアドレス帳を選択して、アドレス帳側のツール→エクスポートで、LDIF形式を選んでエクスポートしてやりましょう。さて、addressbook.ldifとして出力したと仮定します。 **エクスポートしたアドレス帳を、登録可能な形式に変換する。 [#q5e52ab9] さて、このアドレス帳ですが、問題が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に登録するよっ [#b6d964cd] # ldapadd -x -D "cn=Manager,dc=example,dc=com" -W -f addresbookconv.ldif さて、エラーなく登録されたかしら。 *Thunderbirdアドレス帳で、LDAPを参照するように設定。 [#e31789f0] アドレス帳のファイル→新規作成→LDAPディレクトリを選択します。 #ref(ldap.png) こんな画面になった?これに必要事項をインプット。で、参照可能になりまっす!パスワード聞かれたら、パスワードいれてやって。 *さらに便利な設定 [#te9ac8f4] 登録されたLDAPアドレス帳も、アドレス補間の対象にしたいですよね。と、言う事で、ツール→オプション→編集→アドレス入力。アドレスの自動補完ってところに、LDAPサーバを対象とするように設定できます。これやると、メールの編集でアドレス入力すると、LDAPに登録されているアドレスで補間されて、便利ですよぅ~。
(This host) = https://femt.ddo.jp