Plone 4.0 + OpenDirectory by Mac OS X Server

2010-08-30 にRelease されたPlone 4.0で, OpenDirectory によるLDAP認証を行うことは可能だった. ただし, 日本語のFull Nameは文字化けしている.

  • Mac OS X Server は 10.6.4 で以前から運用しているもの
  • Plone 4.0 は, Debian 5.0 に, plone.org で配布されている unifiedinstaller を利用してインストールしたもの

unifiedinstaller で配布されているPloneは, LDAPが有効化されていないので, buildout が必要.

Ploneのbuildout

次の記事の buildout 以降の情報がたいへん役立ちました.

ま〜それでも、最近CentOSの64bit版でsaLDAPを使ってログインできるところまで行ったのでその辺をまとめることにしてみます。

こちらの環境でも header files が不足しましたが,

apt-get libsasl2-dev libldap-dev

で取得できました. python-ldapCVS head も利用しましたが, たぶんしなくても出来ていたのではないかと思う.

Ploneの設定

サイト設定の中のアドオン設定に, LDAP Connection というリンクが現れる.
その中で設定する(ZMIの中をいじることは不要)のだが, 次の記事のこの部分の情報がたいへん役立ちました.

# Set all three mappings (for Login Name Attribute, User ID Attribute and RDN Attribute) to UID (uid). # Users Base DN to cn=users,dc=my,dc=ldap,dc=server,dc=tld # Groups Base DN to cn=groups,dc=my,dc=ldap,dc=server,dc=tld # Manager DN to uid=diradmin,cn=users,dc=my,dc=ldap,dc=server,dc=tld. You will obviously need to substitute diradmin for the id you chose when setting up the OpenDirectory server. Hint: it's the same id you use to log into the Workgroup Manager ;-)

結果

  • LDAP側のパスワードを利用してログイン可能
  • 日本語のLDAP側のFull Nameは文字化けしてPloneの右上部分などに現れる.
  • Full Nameやe-mail addressをPlone側で変更すると, OpenDirectory に正しく反映される. そのために明示的にmappingを定義する必要はない(ZMIの中で設定されたdefaultなのか?)
  • LDAP側のグループとPlone側のグループは無関係(少なくともdefaultでは)