<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-3467136587489565069</id><updated>2012-02-17T08:35:56.038+09:00</updated><title type='text'>Papago Park @ 33Arizona</title><subtitle type='html'></subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://33arizna.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3467136587489565069/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://33arizna.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>jhotta</name><uri>http://www.blogger.com/profile/09323015956997545314</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>1</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-3467136587489565069.post-5961232892174305829</id><published>2009-12-22T18:37:00.012+09:00</published><updated>2009-12-22T23:22:22.909+09:00</updated><title type='text'>PloneでサクッとLDAPを使う</title><content type='html'>&lt;span style="font-family:arial;"&gt;まず始めに&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;(追加説明)　丸カッコは補足説明&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;[心の呟き]　角カッコは心の呟き です。&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;読み分けてもらえると誤解がないと思います。&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;ここだけの話なんですが僕は人の&lt;/span&gt;&lt;span style="font-family:arial;"&gt;3倍働いたことは無く&lt;/span&gt;&lt;span style="font-family:arial;"&gt;、PythonやZope/Ploneのことは&lt;/span&gt;&lt;span style="font-family:arial;"&gt;理解しているふり&lt;/span&gt;&lt;span style="font-family:arial;"&gt;をしているだけなので、advent calenderが回ってきても何を書けば良いか全然アイディアがないんです〜。&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;ま〜それでも、最近CentOSの64bit版でLDAPを使ってログインできるところまで行ったのでその辺をまとめることにしてみます。&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;LDAPに関しては、自分でコンパイルするなんて無謀なことはやめて、素直にYUMでinstallすることのし、最小限の設定にで始めましょう。（それでも、logの出力先は調整しておくとの後のdebugには絶対役に立ちます）&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;# yum install -y openldap&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;[こんな感じだったかな〜？]&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;install後に注目するのが、&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;/etc/openldap/slapd.conf ['l'の次に'd'が無いんですよね〜、スラップ？]&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;/etc/openldap/schema (追加のスキーマファイルを置くところ)&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;/etc/init.d/ldap（お決まりの起動スクリプトが置かれるところ）&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;/etc/openldap/slapd.confの中のsuffixを自分のドメインに合わせて書き換えて、&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;とりあえずcnがManagerでアクセスできるようにrootdnも書き換えておく。&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:arial;"&gt;suffix dc=cmscom,dc=jp&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;rootdn cn=Manager,dc=cmscom,dc=jp&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;更にファイルの最後の部分に以下の内容を追記する。&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;rootdnでloginする場合のパスワード&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;rootpw loginwaiwai&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;userPasswordというアトリビユートにアクセスする権限&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;（後でPLONE側からloginの判定をするときの依頼に使う）　＊1&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;&lt;br /&gt;access to attrs=userPassword&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt; by * auth&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;&lt;br /&gt;全てのアトリビュートをanonymousで読めるようにするための権限設定&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;（必要事項ではない、LDAPの思想の問題のようです）　＊2&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;&lt;br /&gt;access to *&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt; by * read&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;注）&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;＊1　この設定が間違っているとPlone側の設定をどんなにがんばっても、まずplone側の認証わ通らないと思います。[僕は、hackerではないのでその先が分かりません]&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;＊2　Plone側からは、設定でcn=Manager権限で読みに行くことができます。&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;後は、schema（obejectclass）を選択してデータを登録していくんですが、その辺は、ldap本に従って進めうるのが最簡単なような気がする〜。最小限必要な項目は、schema項目はuserPasswordとcnです。それと、高度なセキュリティーの設定もldap本を参照してくださ〜い。&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;それでは、料理番組ようにここまで完璧に作業が完了していることを前提に、Ploneの設定に入ります。&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);font-family:arial;" &gt;まず始めに、自分がploneとLDAPの取り扱いに100％自信がない限り、既に走っている重要なインスタンスでこれからの作業をするのはやめましょう！新しいinstanceで始めることをおすすめします。&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;(${zinstance} = "Plone用のインスタンスが置かれている場所"と言う前提で…）&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;${zinstance}/buildout.cfgで、&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;eggs =&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;    　　　.....&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;    　　　plone.app.ldap&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;zcml =&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;    　　　....&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;    　　　plone.app.ldap&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;$ ./bin/buildout&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;&lt;br /&gt;で、終わると幸せなんですが…、&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;[それは、展開的に面白く無いね…]&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;CentOS5.3の64bitの場合は、現状(2009/12/22)ではpython-ldapがコンパイルできずに、buildoutが途中で止まってしまうんです〜。これ、原因がldapのinclude headerの問題みたいなんですぅ。従ってpython-ldapのCVSのheadを取ってきて、事前にinstallしておくと問題なくbuildoutが完了します。&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;python-ldapのCVSの取得方法：&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;http://sourceforge.net/scm/?type=cvs&amp;amp;group_id=2072&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;取ってきた、CVSのディレクトリーで、権限に注意して、必要なlibとGCCが有る前提で…。&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;(${python} = "インスタンスで使っているpythonのいるディレクトリーへのパス"という前提で…）&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;${zinstance}/python setup.py install&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;それで、&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;$ ./bin/buildout&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;installが終われば、幸せに一歩近づいたかも…。&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;[早く、原稿書き終えて妻と娘に会いたいよ〜]&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;その後は、&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;インスタンスを起動しエーラーを見られるようにしつつ作業を進めてきましょう。&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;$ ./bin/instance fg&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;お〜っと、ここからは、最悪いつでもZMIからplone siteを作り直す心構えで進めていきます。&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;[3倍働いて学習する能力がない僕には、3倍クリックするしかないのか〜]&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;プロダクトの再インストールとかするといきなり”wysiwyg”のeditorがどうとかっていわれたりします。そんなときは、すかさず新しいplone siteを作ってみてください。ここは、冗談ではなく重要な経験則でしす。&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;さて、ここらが困った…。&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;[想定したシナリオどおりに進まないなことがあるな〜]&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;アドオンプロダクトのところで、LDAP support 1.1のみインストールします。&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;# インストールログ&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;# このプロダクトはアップグレードされました 古いプロファイルバージョンは unknown でした 新しいプロファイルバージョンは 1.1 です このプロダクトについてはアップグレードされたものがありません。アップグレード情報についてプロダクトドキュメンテーションをあたるか、プロダクトの作者に連絡してください。&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;[なんていうメッセージが出ていますが、3倍働いていない僕には直し方が分かりませ〜ん]&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;アドオンプロダクトのコンフィグの欄からLDAP Connection に項目を選び設定画面へ進見ます。（http://localhost:8080/Plone3/@@ldap-controlpanel）&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;Global Settingタブ&lt;/span&gt;&lt;br /&gt;&lt;ul  style="font-family:arial;"&gt;&lt;li&gt;&lt;span style="font-size:100%;"&gt;LDAP server type：LDAP&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size:100%;"&gt;rDN attribute：cn (LDAPへのlogin認証確認に使うDNの要素に使う)&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size:100%;"&gt;user id attribute：cn (ploneへのloginした人のuserID)&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size:100%;"&gt;login name attribute：cn (ploneへlogin欄に入力する項目)&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size:100%;"&gt;LDAP object classes：perosn（LDAP登録者の使っているobjectclass）&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size:100%;"&gt;Bind DN：cn=Manager,dc=cmscom,dc=jp（anonymousでLDAPのデータが読めれば不要）&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size:100%;"&gt;Bind password：loginwaiwai（anonymousでLDAPのデータが読めれば不要）&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size:100%;"&gt;Base DN for users：dc=cmscom,dc=jp（suffixに設定したもの）&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size:100%;"&gt;Search scope for users：subtree&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size:100%;"&gt;Base DN for groups：dc=cmscom,dc=jp（suffixに設定したもの）&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size:100%;"&gt;Search scope for groups：sbutree&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;LDAP Schemaタブ&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;(login制御だけなら既存の設定のままでOK）&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;LDAP Serverタブ&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;”add LDAP server”ボタンをクリックして追加項目の画面に遷移します。&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;ul style="font-family: arial;"&gt;&lt;li&gt;Enabled：　チェックマークを付ける&lt;/li&gt;&lt;li&gt;LDAP server: ${LDAP server IP address}&lt;/li&gt;&lt;li&gt;LDAP connection type: LDAP(初期値)&lt;/li&gt;&lt;li&gt;Connection timeout: 5(初期値)&lt;/li&gt;&lt;li&gt;Operation timeout: -1(初期値)&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;項目を入力後保存。で無事設定ができ場合でてもできれば続きに目を通してくださいね。&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;又、無事進まなかった場合、あきらめるのはまだ早いです！3倍クリック人生で乗り切れます…。&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;無事進まなかった人、&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;http://localhost:8080/manageからZMI画面に移動し、Ploneの中のacl_usersを順にクリックして進むと ”ldap (Plone managed LDAP)”という電気のプラグのようなアイコンがついた項目が有るでしょうか？&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;ldap (Plone managed LDAP) -&gt; Contents -&gt; acl_users (Plone managed LDAP) と進むと、先ほどと同じような項目が出てきていると思いませんか？又、ページ上部にも同じような項目のタブがあると思いませんか？&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;ということで、先ほどのploneの設定ページは、ZOPEのこの部分を書き換えていたと僕は推測しています。[hackerではなので、確実なことは言えない…]&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;なので、ploneのサイト設定画面側でうまく設定が通ら無い場合ここで設定してあげると、以後サイト設定でも問題なく設定ができるようになるってことを多々経験している。[ここに気がつくために3倍以上クリックしているけど…]&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;それでは最後に、&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;この辺の設定ができていても、最初のうちはLDAPでPloneの認証できない場合があると思います。原因は、今回のエントリーの最初に書いたLDAPへのアクセス権限の設定（slapd.conf）と合わせ方法（RDN）のなことが多いと思います。そんなときは、LDAPのlog出力をtail -f slapd.logとしてモニターしながら、PloneからアクセスしてみるとLDAPどんな返事をしている確認しながら作業ができます。&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;PS:&lt;br /&gt;&lt;span style="font-family:arial;"&gt;後日このエントリーに画像を加え再校正したいと考えますが、今回は24時までにエントリーを公開しないと終電が無くなるのでこれでひとまず公開します。[本音で、家に帰りたい…]&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3467136587489565069-5961232892174305829?l=33arizna.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://33arizna.blogspot.com/feeds/5961232892174305829/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://33arizna.blogspot.com/2009/12/ploneldap.html#comment-form' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3467136587489565069/posts/default/5961232892174305829'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3467136587489565069/posts/default/5961232892174305829'/><link rel='alternate' type='text/html' href='http://33arizna.blogspot.com/2009/12/ploneldap.html' title='PloneでサクッとLDAPを使う'/><author><name>jhotta</name><uri>http://www.blogger.com/profile/09323015956997545314</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry></feed>
