1: 2011-01-10 (月) 21:43:12 maruo[5] [6] | |||
---|---|---|---|
Line 1: | Line 1: | ||
+ | *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に変換してあげる必要があります。私は、これ作成して対応しました。このスクリプト、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ディレクトリを選択します。 | ||
+ | こんな画面になった?これに必要事項をインプット。で、参照可能になりまっす!パスワード聞かれたら、パスワードいれてやって。 | ||
+ | *さらに便利な設定 [#te9ac8f4] | ||
+ | 登録されたLDAPアドレス帳も、アドレス補間の対象にしたいですよね。と、言う事で、ツール→オプション→編集→アドレス入力。アドレスの自動補完ってところに、LDAPサーバを対象とするように設定できます。これやると、メールの編集でアドレス入力すると、LDAPに登録されているアドレスで補間されて、便利ですよぅ~。 |
(This host) = https://femt.ddo.jp