2012年 12月 14日
Wordpress と eDirectory のIntegration(統合) How to
Translate English by excite ?
LDAP LPRM Author's Page
http://www.frankkoenen.com/
LDAP LPRM Wordpress page
http://wordpress.org/extend/plugins/ldap-login-password-and-role-manager/
- Sorry for Non Japanese. My Wordpress is Japanese Version. Clipped screens are Japanese Version. Wordpress は日本語版です。
- Novell iManager は完全に日本語化されています。ブラウザーの設定を ja_JP に設定すると日本語表記になります。ここではブラウザーの設定は英語で使用しています。
-LDAP LPRMのインストール-
1) Wordpredss に Admin としてログインします。左のツールバーからプラグインの「新規追加」を選びます。
2) Search ボックスから 'LDAP' をキーワードで検索し、 LDAP LPRM をダウンロード、有効化(Enable) にします。

3) "設定" より 'LDAP Setting' を選びます。

4) 設定画面より 'Base DN' に LDAP ブラウズを開始する Organization もしくは OU(Unit) を設定します。ここでは O=ACE (組織全体) を設定しました。
※ 大きな組織では ou=users.ou=MyOffice.ou=MyReagion.o=MyOrg などと指定する場合もあります。例えば、あなたの組織が多国籍企業である場合、Wordpress は英語版かも知れません。日本国内だけで利用したい場合は ou=jpn.o=MyOrg を指定します。また、数百オフィスもの沢山の拠点がある大企業では Ldap クエリに時間がかかる場合があるため、eDirectory の Replica データベースの配置を考慮して、Wordpress が参照する OU (Organization Unit) だけを指定すべきです。

5) Domain Controller(s) に LDAP Server の IP アドレス、もしくはDNSに登録された Novell Open Enterprise Server (Novell OES) のサーバー名を設定します。
最後に "update options" ボタンを押して保存します。

正しく動作しているかどうかはこの設定ページの一番上のテストボックスにユーザ名とパスワードを設定して TEST Settings ボタンを押します。

正しく設定されており、LDAP サーバーとの通信が行われていることを確認することができます。
6) eDirectory でユーザを作成、あるいは修正します。(必要な場合)ブラウザの URL に iManager が動作しているサーバを指定し iManager を起動します。
http://MyNovellServer/nps
ここでは MatsudS (Seiko Matsuda)さんのアカウントを新規に作りました。

彼女の Given Name(Option) と Family Name を設定し Full Name が設定されていることを確認したら、新しいユーザアカウントを Create します。
※ この時点でのユーザ名、フルネーム、Email Address が反映されます。上の様に誤って設定すると Wordpress 側にも誤った情報で設定されるようです。修正は一旦プラグインを停止して Wordpress 側で行います。
-Wordpress のアカウントを確認しましょう-

この時点ではまだ Matsuda Seiko さんはいません。管理者と数名の編集者(Editor) がいます。
eDirectory 側のユーザを iManager から確認します。

MatsudS さんと KatoK さんの二人はまだ Wordpress を使っていません。
それでは、MatsudS さんに Wordpress にログインしてもらいましょう。もちろん、彼女は Wordpress のアカウントは持っていません。

eDirectory で設定した彼女のプロフィールが右上に表示されます。しかし、彼女は"読者"(Reader)で"編集者"(Edit) をすることが許可されません。"新規"の投稿アイコンが表示されません。
管理者は新しくログインしたユーザに適切な権限を与えることが出来ます。

ユーザアイコンから、購読者(Reader) として新規作成されたユーザを見つけて、チェックマークを付けます。"権限"drop Box をスクロールダウンして "投稿者"に設定します。"変更"ボタンを押して "一括処理"の右にある "適用"ボタンを押して Apply します。

次回、MatsudS さんが Wordpress にログオンすると、彼女は"投稿"に必要なアイコンを見つけることが出来ます。

-トラブルシューティング-
1) Ldap ポートが開放されているか、正しく機能しているか
Novell eDirectory サーバーに対して port scan ツールを使い確認します。

この場合 Port 389 と 636(TLS) が利用できます。
Novell iManager より LDAP Server オブジェクトを探します。

Connection タブを開き Port 389, 636 の状態を確認します。 Require TLS がチェックされていても問題は無いようです。ただし、Wordpress 以外のアプリケーションで TLS 接続を行えない場合があります。その場合は、その他の eDirectory レプリカを持つサーバを使うことを検討してください。

2) port 389 でリクエストを行っているか
Wordpress 側で tcpdump コマンドを使います。
blog:~ # tcpdump -n host oes11x2
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on eth0, link-type EN10MB (Ethernet), capture size 96 bytes
14:10:27.283122 IP 192.168.1.224.59344 > 192.168.1.228.389: S 2972406104:2972406104(0) win 14600
14:10:27.283270 IP 192.168.1.228.389 > 192.168.1.224.59344: S 3847675017:3847675017(0) ack 2972406105 win 5792
14:10:27.283286 IP 192.168.1.224.59344 > 192.168.1.228.389: . ack 1 win 913
14:10:27.283428 IP 192.168.1.224.59344 > 192.168.1.228.389: P 1:46(45) ack 1 win 913
14:10:27.283506 IP 192.168.1.228.389 > 192.168.1.224.59344: . ack 46 win 91
14:10:27.284969 IP 192.168.1.228.389 > 192.168.1.224.59344: P 1:216(215) ack 46 win 91
14:10:27.284986 IP 192.168.1.224.59344 > 192.168.1.228.389: . ack 216 win 980
: 省略
^C
15 packets captured
15 packets received by filter
0 packets dropped by kernel
blog:~ #
-eDirectory サーバ側で dstrace を使う-
mynovelloes:~# ndstrace
: set dstrace=on
: set dstrace=+LDAP
を実行します。

※重要: ndstrace utility は必ず quit コマンドで終了させてから Terminal を閉じてください。 ndstrace の Bug により putty などのセッションを終了させてしまうと ndstrace -u コマンドではアンロードできません。
ndstrace causes ndsd to hang when left running from a terminated putty session
トレース結果を詳細に表示するには、iManager > LDAP Server Object > Tracing Tab より取得したい情報をチェックします。全てチェックしても構いません。

-アカウントを Disable に-
iManager より eDirectory 上のアカウントを Disable にします。

ここで管理者が Disable にした KatoK さんはログインできなくなります。dstrace で見ると "220 Error Account expired" となります。

ちなみに KatoK さんを削除(remove from eDirectory) した後であっても Wordpress 側にはアカウントが残ります。管理者はコンテンツを含む KatoK さんの引継ぎを行うか、コンテンツごと削除する必要があります。
-Admin cannot Login !!!-
全てのユーザは LDAP による認証を受けます。この中には Admin も含まれます。LDAP サーバーの状況により Admin がログインできない場合があります。
Adminがログインできず、プラグインを一時的に無効にしたい場合は /srv/www/htdocs/yourwprs-dir/wp-content/plugins を plogins.org の様な名前に一時的に変更した後、Wordpress をインストールした際の Admin でログインします。

管理ツールから Plugin の無効化(Disable) にします。 plugins ディレクトリの名前を元に戻します。
-結論-
このプラグインは非常にシンプルなプラグインで、私が設定したパラメータは僅かに2箇所でした。大変導入し易いと思います。
ただし、管理者は初めてログインしたユーザの権限 - Editor か Reader か? - を Wordpress 側で設定し直す必要があります。管理者は削除したユーザをWordpress 側で管理します。
管理者にとっては、Wordpress と eDirectory を別に管理できる良い面でもあり、一方で面倒に思う部分でもあります。
私は導入が容易な点を高く評価します。またパスワード管理に関しては充分な機能があります。
-Keyword-
How to integrate Novell eDirectory with Wordpress. Single Sign On. Password synchronization.
ワードプレスと Novell eDirectory との統合 シングルサインオン パスワード同期
Wordpress を SUSE Linux (SLES11) で動かす
islandcenter.jp