OpenLDAPでよみがな!

この世界で何周もしてる話題なんだと思いますがいつまでたっても安定しないからそうなんです。

実際にはRFC2849の時点で対応できます
http://tools.ietf.org/html/rfc2849

しかしOpenLDAP、phoneticをデフォルトで認識してくれません。


このため、今 (OpenLDAP 2.4.28) でも、例えば"cn;lang-ja"はよくても"cn;lang-ja;phonetic"はOpenLDAPが弾きます。

attributeoptions というのを slapd.conf に書けばいいのはOpenLDAP2.3までだよねー

http://dmiyakawa.blogspot.jp/2012/09/openldap.html

attributeoptions を slapd.d のどっかに突っ込む必要があるわけですが、ここのドキュメントはねーんですね。

今回ちょっとめんどくさすぎたのでコマンドで直す方法は試しませんでした。対策は以下

1. 落ち着け、俺はよみがなを使いたいだけなんだ

http://www.zytrax.com/books/ldap/ch6/slapd-config.html

ここの方法と同じように 仮の slapd.conf を本体とは別の場所に作ります。/tmpとかでいいです。

そして slaptest -f (file) -F (slapd.d 候補地のディレクトリ) をやって変換します。

2. うおォン、俺はまるで人間LDAPだ

次に先ほどの変換結果から attributeoptions の代替となるオプションを探します。olcAttributeOptionsでs

……待って、ここで何故かphoneticがなくなってる

心を落ち着かせます。

3. 案件持ち帰り!そういうのもあるのか

slapd を止めて /etc/slapd.d/cn=config.ldif の末尾に先ごろ見つかったolcAttributeOptions を書き込みます。勇気を出して "olcAttributeOptions: lang- phonetic"

4. このワザとらしいバグ回避!

起動して、コマンドラインなりのツールからcn;lang-ja;phonetic を追加してみます。私はEclipseのLDAPビューワ使いました。

--

ま、これでデータベースには入ったんですが、クライアントソフトが優しくそれを使ってくれるとは限りません。あくまでLDAP管理者としてRFC互換レベルでの責任を果たしたということなのです。

このブログの人気の投稿

WiiUのコントローラが通信不良に陥った話

LibreOfficeで表紙、目次、本体でフッターのページ番号のスタイルを変える

技術書典2 あ-03 『もわねっとのPythonの本』