1: 2011-01-10 (月) 21:43:12 maruo ソース
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に登録されているアドレスで補間されて、便利ですよぅ~。


トップ   差分 バックアップ 複製 名前変更 リロード印刷に適した表示   ページ新規作成 全ページ一覧 単語検索 最新ページの一覧   ヘルプ   最新ページのRSS 1.0 最新ページのRSS 2.0 最新ページのRSS Atom Powered by xpWiki
Counter: 32728, today: 1, yesterday: 2
ページ内検索

ログイン

ユーザー名:


パスワード:





パスワード紛失

メインメニュー

サブメニュー
自宅鯖計画

Gentoo Linuxな生活

玄箱HGにGentoo格闘記

航空ショーへ行こう

モータースポーツな世界

奥深き写真の世界への誘い

我思う ゆえに我あり



携帯用QRコード