ここでは、openldapのインストールと設定を行ない、mew-ldap.elを使ってmew-2.0でopenldapからアドレスを引くまでを解説します。
% tar zxvf openldap-2.0.x.tar.gz % cd openldap-2.0.x % ./configure --prefix=/usr/local/openldap --with-subdir=no --localstatedir=/var/run % make >& /usr/local/logs/make/openldap-2.0.x # make install >& /usr/local/logs/install/openldap-2.0.x
slapdの設定
slapdを起動します。このプロセスの設定は/usr/local/openldap/etc/slapd.confというファイルに記述します。私のサイトでは以下の設定で運用しています。
include /usr/local/openldap/etc/schema/core.schema include /usr/local/openldap/etc/schema/cosine.schema include /usr/local/openldap/etc/schema/inetorgperson.schema pidfile /var/run/slapd.pid argsfile /var/run/slapd.args database ldbm suffix "dc=ykondou, dc=org" rootdn "cn=Manager, dc=ykondou, dc=org" rootpw ******** directory /usr/local/openldap/ldbm index objectClass eqミソとしては、デフォルトでは
directory /var/run/openldap-ldbmとなっているのを
directory /usr/local/openldap/ldbmに変更することです。FreeBSDではbootする時に
/var/run以下をきれいにしてくれるみたいで、rebootしたりするとせっかくDBに登録したデータがきれいさっぱりなくなっていて、とても悲しかったりします。当然、この場合には、再登録しなければなりません。
slapdを設定したら起動してディレクトリを作成します。ディレクトリを作成するには、コマンドラインからldapaddを実行する以外にもLDAP Browser/Editorを使うという方法があります。LDAP Browser/Editorの使い方はいたって簡単ですから、コマンドラインから使っている方も一度試してみてはいかがでしょうか。
LDAP Browser/EditorではJDK1.2.2以上が必要になります。FreeBSDではFreeBSDでJDK1.3.1を使おう!が参考になると思います。
mew-ldap.elを使ってディレクトリからアドレスを引く
mew-ldap.elを例えば/usr/local/share/emacs/site-lisp/mewにコピーし、以下の設定を.mewに記述します。
; mew-ldap (load "mew-ldap") (setq mew-ldap-server "localhost") (setq mew-ldap-search-base "dc=ykondou,dc=org") (define-key mew-draft-header-map "\C-i" 'mew-ldap-header-comp) (define-key mew-header-mode-map "\C-i" 'mew-ldap-header-comp)
draftモードで適当な文字を入れてC-u TABを押すと、mew-ldap-serverとmew-ldap-search-baseで指定されたホストのdnから検索を行ないます。
検索対象が複数表示された場合には、続けて文字を入力してTABを押すと補完されます。
入力終了後、TABを押すとアドレスに展開されます。さらにここでM-TABを押すと、ユーザ名情報も付加されます。