Wordpress と eDirectory のIntegration(統合) How to

ここでは LDAP LPRM Plugin を使って Wordpress と Novell eDirectory との統合を行う方法を説明します。Wordpress と eDirectory を使って、簡単な組織内の SNS システムを構築しましょう。

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) にします。
a0056607_11391136.jpg


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


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) だけを指定すべきです。

a0056607_11462976.jpg


5) Domain Controller(s) に LDAP Server の IP アドレス、もしくはDNSに登録された Novell Open Enterprise Server (Novell OES) のサーバー名を設定します。

最後に "update options" ボタンを押して保存します。
a0056607_11533027.jpg


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

正しく設定されており、LDAP サーバーとの通信が行われていることを確認することができます。

6) eDirectory でユーザを作成、あるいは修正します。(必要な場合)ブラウザの URL に iManager が動作しているサーバを指定し iManager を起動します。

http://MyNovellServer/nps

ここでは MatsudS (Seiko Matsuda)さんのアカウントを新規に作りました。

a0056607_11583491.jpg

彼女の Given Name(Option) と Family Name を設定し Full Name が設定されていることを確認したら、新しいユーザアカウントを Create します。

※ この時点でのユーザ名、フルネーム、Email Address が反映されます。上の様に誤って設定すると Wordpress 側にも誤った情報で設定されるようです。修正は一旦プラグインを停止して Wordpress 側で行います。


-Wordpress のアカウントを確認しましょう-

a0056607_1222174.jpg

この時点ではまだ Matsuda Seiko さんはいません。管理者と数名の編集者(Editor) がいます。

eDirectory 側のユーザを iManager から確認します。
a0056607_13214556.jpg


MatsudS さんと KatoK さんの二人はまだ Wordpress を使っていません。

それでは、MatsudS さんに Wordpress にログインしてもらいましょう。もちろん、彼女は Wordpress のアカウントは持っていません。
a0056607_13251520.jpg


eDirectory で設定した彼女のプロフィールが右上に表示されます。しかし、彼女は"読者"(Reader)で"編集者"(Edit) をすることが許可されません。"新規"の投稿アイコンが表示されません。

管理者は新しくログインしたユーザに適切な権限を与えることが出来ます。
a0056607_13271884.jpg


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



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


-トラブルシューティング-

1) Ldap ポートが開放されているか、正しく機能しているか

Novell eDirectory サーバーに対して port scan ツールを使い確認します。

a0056607_13543752.jpg

この場合 Port 389 と 636(TLS) が利用できます。

Novell iManager より LDAP Server オブジェクトを探します。
a0056607_1359226.jpg


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



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

を実行します。
a0056607_14221357.jpg

※重要: 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 より取得したい情報をチェックします。全てチェックしても構いません。
a0056607_14263189.jpg


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


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


ちなみに 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 でログインします。
a0056607_15173621.jpg


管理ツールから 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
[PR]
トラックバックURL : http://islandcnt.exblog.jp/tb/16977709
トラックバックする(会員専用) [ヘルプ]
※このブログはトラックバック承認制を適用しています。 ブログの持ち主が承認するまでトラックバックは表示されません。
by islandcenter | 2012-12-14 15:59 | プライベートクラウド | Trackback | Comments(0)