ここの情報は古いです。ご理解頂いた上でお取り扱いください。
- Timestamp:
-
Mar 25, 2008, 2:10:06 AM (13 years ago)
- Author:
-
imoto
- Comment:
-
--
Legend:
- Unmodified
- Added
- Removed
- Modified
-
v25
|
v26
|
|
4 | 4 | == 外部アプリとの連携でOpenPNEはここまで良くなる == |
5 | 5 | |
6 | | = 機能連係 = |
7 | | |
8 | | |
9 | | == 小窓 == |
10 | | * 天鳳 |
11 | | * Skype |
| 6 | OpenPNEは人と人とのつながりを表現するソフトウエアです。 |
| 7 | OpenPNE本体に個別の機能を作らなくても外部アプリケーションと連携することで、多くの機能をSNSに取り込むことが出来ます。 |
| 8 | 今回は、外部サービスと連携する手段の一つとしてID連携を中心に外部連携を紹介していきます。 |
| 9 | |
12 | 10 | |
13 | 11 | = ID連携 = |
… |
… |
|
18 | 16 | MasterPNEに対応するには、OpenPNE本体ではなく、外部システム側がMasterPNEの提供する認証機構をサポートしている必要があります。[[BR]] ですので、今後OpenPNEでは、より多くの外部システムと連動するため、複数の認証プロトコルをサポートしていく予定です。 |
19 | 17 | |
| 18 | http://sc.pne.jp/200801081910.png |
| 19 | |
20 | 20 | === OpenPNE X Trac === |
21 | 21 | TracはPythonにより実装されているソフトウェアのプロジェクト管理とバグ追跡のためのツールです。現在、多くのオープンソースプロジェクトで活用されています。 |
22 | 22 | OpenPNEプロジェクトでも現在Tracを利用してプロジェクト管理やバグ追跡をしています。 |
23 | 23 | |
24 | | |
25 | 24 | OpenPNEとTracを連携させることで、SNSのユーザーだけTracにログインできるということが可能になります。[[BR]] |
26 | 25 | |
27 | 26 | 現在、OpenPNEの公式SNSとOpenPNE公式TracはこのOpenPNEとTracのMasterPNEで動いています。[[BR]] |
28 | | OpenPNE公式SNS内の「プロフィール変更」の欄に「TRACログインID」というTracのログインIDを入力する欄があるので、この「TRACログインID」にログインIDを入力すれば、このTRACログインIDとOpenPNE公式SNSのパスワードでOpenPNE公式Tracにログイン出来る様になります。 |
| 27 | OpenPNE公式SNS内の「プロフィール変更」の欄に「TRACログインID」というTracのログインIDを入力する欄があるので、この「TRACログインID」にログインIDを入力すれば、このTRACログインIDとOpenPNE公式SNSのパスワードでOpenPNE公式Tracにログインできるようになります。 |
29 | 28 | |
30 | 29 | 前提条件としてOpenPNE、Trac(dagのyumインストール)がインストールされているものとします。 |
… |
… |
|
46 | 45 | |
47 | 46 | ==== mod_auth_mysqlの導入 ==== |
48 | | まずは、mod_auth_mysqlの導入します。[[BR]] |
49 | | mod_auth_mysqlとはApacheの通常のファイルベースのベーシック認証をMySQLベースに置き換える仕組みです。[[BR]] |
50 | | インストールは比較的簡単に出来ると思います。また、最初からサーバにインストールされているいる場合もあるので一度確認してみてください。[[BR]] |
51 | | |
| 47 | mod_auth_mysqlとはApacheに備わっている認証スキームを通常のファイルベースからMySQLベースに置き換える仕組みです。 |
| 48 | インストールは比較的簡単に出来ると思います。また、最初からサーバにインストールされているいる場合もあります。 |
| 49 | Redhat系のOSを利用している場合は、yum list installed 等のコマンドで |
| 50 | |
| 51 | mod_auth_mysql |
| 52 | |
| 53 | のパッケージがインストールされているか確認してください。 |
52 | 54 | |
53 | 55 | インストール |
… |
… |
|
62 | 64 | ==== httpd.confの修正 ==== |
63 | 65 | 次に、httpd.confを修正します。[[BR]] |
64 | | 今回は、SNSのニックネーム・SNSのログインパスワードを、外部認証のID・パスワードとして利用することにします。[[BR]] |
65 | | また、http://xxx.openpne.jp のSNSをMasterとして、http://xxx.openpne.jp/trac/ のTracアプリケーションにログインするための設定をします。[[BR]] |
66 | | AuthMySQLUser、AuthMySQLPassword、AuthMySQLDBは適宜読み替えてください。[[BR]] |
| 66 | 今回は、SNSのニックネーム・SNSのログインパスワードを、Tracにログインする際のID・パスワードとして利用することにします。[[BR]] |
| 67 | また、http://xxx.openpne.jpをMasterのSNSの設置場所都市、http://xxx.openpne.jp/trac/に設置したTracにログインするための設定をします。[[BR]] |
| 68 | 設定ファイル内の【AuthMySQLUser】、【AuthMySQLPassword】、【AuthMySQLDB】は適宜各自の設定に読み替えてください。 |
67 | 69 | |
68 | 70 | AuthMySQLNameFieldでログインID用のフィールドを指定してください。今回はSNSのニックネームを使用するのでnicknameとしています。[[BR]] |
69 | 71 | AuthMySQLPasswordFieldでパスワード用のフィールドを指定しています。[[BR]] |
70 | 72 | |
71 | | |
| 73 | |
| 74 | |
72 | 75 | {{{ |
73 | 76 | |
… |
… |
|
98 | 101 | ==== 動作確認 ==== |
99 | 102 | それでは動作確認してみましょう。[[BR]] |
100 | | 通常通り、SNSのユーザー登録します。[[BR]] |
| 103 | 通常通り、SNSのユーザー登録をします。[[BR]] |
101 | 104 | 次に、Trac(認証サイト)に移動しSNSのニックネームとパスワードでログインします。 |
102 | 105 | |
103 | | 無事ログイン出来たら、OpenPNEとTracでMasterPNEを使って連携することが出来ました。 |
| 106 | [ログイン後キャプチャ画面の挿入] |
| 107 | |
| 108 | 上記画面のようにTracにログインできたら、OpenPNEとTracの連携成功です。 |
104 | 109 | |
105 | 110 | |
106 | 111 | == SlavePNE == |
107 | 112 | === SlavePNEとは === |
108 | | SlavePNEとは、他のシステムのアカウントを親、OpenPNEを子(Slave)として連携させる方法です。OpenPNEでは現在認証系の外部ライブラリにPEARライブラリのAuth_Containerを使っています。このSlavePNEはAuth_Containerを使っています。 |
109 | | |
| 113 | SlavePNEとは、他のシステムのアカウントを親、OpenPNEを子(Slave)として連携させる方法です。 |
| 114 | |
| 115 | http://sc.pne.jp/200801081913.png |
| 116 | |
| 117 | OpenPNEでは現在SlavePNEを実現させるための外部ライブラリに、PEARライブラリのAuth_Containerを使っています。このAuth_Containerがサポートするシステムであれば、OpenPNEと連携させることが出来ます。 |
| 118 | |
| 119 | http://sc.pne.jp/200712182052.png |
| 120 | |
| 121 | [対応リスト] |
110 | 122 | |
111 | 123 | |
112 | 124 | === XOOPS X OpenPNE === |
113 | | |
114 | 125 | XOOPSは、コミュニティサイト構築用ソフトウェアです。 |
115 | | このソフトウェアを使用することにより、ポータルサイトを手軽に作成することが出来ます。 |
| 126 | このソフトウェアを使用することにより、コミュニティサイトを手軽に作成することが出来ます。 |
116 | 127 | |
117 | 128 | XOOPSとOpenPNEを連携することで、現在XOOPSのコミュニティを運営しているが新しくSNSの機能を追加したいという場合でも、簡単に同じアカウントでログインすることが出来ます。[[BR]] |
118 | | XOOPSは多くのモジュールが提供されているので、OpenPNEだけでは足りない機能をXOOPSで補うことも出来るかもしれません。[[BR]] |
| 129 | XOOPSは多くのモジュールが提供されているので、OpenPNEだけでは足りない機能をXOOPSで補うこともできます。[[BR]] |
119 | 130 | 前提条件としてXOOPS、OpenPNEがインストールされているものとします。 |
120 | 131 | |
… |
… |
|
141 | 152 | |
142 | 153 | ==== config.phpのIS_SLAVEPNE、authオプションを設定 ==== |
143 | | まず、OpenPNEのrootディレクトリにあるconfig.phpのIS_SLAVEPNEとauthオプションを設定します。[[BR]] |
| 154 | まず、SNSのrootディレクトリにあるconfig.phpのIS_SLAVEPNEとauthオプションを設定します。[[BR]] |
144 | 155 | |
145 | 156 | {{{ |
… |
… |
|
159 | 170 | |
160 | 171 | |
161 | | IS_SLAVEPNEをtrueにします。[[BR]] |
162 | | 次に、authオプションの設定をします。[[BR]] |
163 | | username,password,hostspec,databaseはxoopsのDB設定と同一にします。[[BR]] |
164 | | xoopsのDBを参照し、table,usernamecol,passwordcolを設定します。[[BR]] |
165 | | 最後に、cryptTypeをmd5に設定します。これはXOOPSがmd5を使用しているためこの設定をしないとログインすることが出来ません。[[BR]] |
166 | | これだけの簡単な設定で、XOOPSのユーザIDとパスワードでOpenPNEにログインすることが出来ます。 |
| 172 | 【IS_SLAVEPNE】をtrueにします。[[BR]] |
| 173 | 次に、authオプションの設定をします。[[BR]] |
| 174 | 【username】、【password】、【hostspec】、【database】はXOOPSのDB設定と同一にします。[[BR]] |
| 175 | XOOPSのDB構造を参照し、【table】、【usernamecol】、【passwordcol】を設定します。[[BR]] |
| 176 | |
| 177 | 最後に、【cryptType】をmd5に設定します。これはXOOPSがmd5を使用しているためこの設定をしなければ、ログインすることが出来ません。[[BR]] |
| 178 | これだけの簡単な設定で、XOOPSのユーザIDとパスワードでSNSにログインすることが出来ます。 |
167 | 179 | |
168 | 180 | {{{ |
… |
… |
|
177 | 189 | 'dsn' => array( |
178 | 190 | 'phptype' => 'mysql', |
179 | | 'username' => 'MySQLユーザ名', |
180 | | 'password' => 'MySQLパスワード', |
181 | | 'hostspec' => 'ホスト名', |
182 | | 'database' => 'データベース名', |
| 191 | 'username' => 'mysql_username', |
| 192 | 'password' => 'mysql_password', |
| 193 | 'hostspec' => 'example.hogehoge.jp', |
| 194 | 'database' => 'exampl', |
183 | 195 | 'new_link' => true, |
184 | 196 | ), |
… |
… |
|
192 | 204 | }}} |
193 | 205 | |
194 | | |
195 | 206 | |
196 | 207 | ==== 動作確認 ==== |
197 | 208 | それでは動作確認してみましょう。 |
198 | 209 | |
199 | | XOOPSのユーザIDとパスワードでOpenPNEにログインします。[[BR]] |
200 | | 通常通りOpenPNEにログインしてください。[[BR]] |
201 | | 新規ユーザの場合は通常のOpenPNE同様プロフィール項目などの登録が必要です。[[BR]] これで、XOOPSとOpenPNEをSlavePNEで連携させることが出来る様になりました。 |
| 210 | XOOPSのユーザIDとパスワードでSNSにログインします。[[BR]] |
| 211 | 通常通りSNSにログインしてください。[[BR]] |
| 212 | 新規ユーザの場合は通常のSNS同様プロフィール項目などの登録が必要です。[[BR]] |
| 213 | SNSにログインできたら、OpenPNEとXOOPSの連携成功です。 |
202 | 214 | |
203 | 215 | === GoogleApps X OpenPNE === |
204 | 216 | |
205 | | GoogleAppsにはさまざまな特徴があり、大容量WebメールのGmail、カレンダーの共有が出来るGoogleカレンダー、ワードやエクセルの形式も編集出来るGoogleDocs&Spreadsheetsとさまざまなツールを使うことが出来ます。[[BR]] |
206 | | GoogleAppsとOpenPNEを連携して利用することで、一つのアカウントでログインすることができ、社内でのアカウント管理も楽になります。また、この方法で連携したSNSにはGoogleAppsのアカウントを持ったユーザのみログイン可能なので、限定したユーザのみログインできるSNSを作ることが出来ます。[[BR]] |
207 | | 小規模の会社であれば、OpenLDAPを使っていない場合がほとんどだと思います。しかし、この様にPOP3でOpenPNEと連携することが出来ます。[[BR]] |
| 217 | GoogleAppsにはさまざまな機能があり、大容量WebメールのGmail、カレンダーが共有できるGoogleカレンダー、ワードやエクセルの形式も編集できるGoogleDocs&Spreadsheetsとさまざまなツールを使うことができます。 |
| 218 | |
| 219 | GoogleAppsとOpenPNEを連携して利用することで、一つのアカウントでログインすることができ、社内でのアカウント管理が楽になります。また、この方法で連携したSNSにはGoogleAppsのアカウントを持ったユーザだけがログイン可能なので、限定したユーザでSNSを作ることができます。[[BR]] |
208 | 220 | |
209 | 221 | 前提条件としてGoogle Appsへの申し込み、OpenPNEのインストールさているものとします。 |
210 | 222 | |
211 | | なお、ここではGoogle Apps自体のイ詳細については解説していません。 |
212 | | それについての詳細はGoogle AppsのWebサイトを参照してください。 |
| 223 | なお、ここではGoogle Apps自体の登録やサービスの詳細については解説していません。 詳細はGoogle AppsのWebサイトを参照してください。 |
213 | 224 | |
214 | 225 | [[Image(https://trac.openpne.jp/svn/prj/pne-book/pne-book-7/GoogleApps.png,650)]] |
… |
… |
|
246 | 257 | LICENSE |
247 | 258 | }}} |
248 | | |
249 | | IS_SLAVEPNEをtrueにします。[[BR]] |
250 | | authオプションのstorageをPOP3、hostをssl://pop.gmail.comに、portを995に設定します。 |
| 259 | |
| 260 | 【IS_SLAVEPNE】をtrueにします。[[BR]] |
| 261 | authオプションの【storage】をPOP3、【host】をssl://pop.gmail.comに、【port】を995に設定します。 |
251 | 262 | |
252 | 263 | |
… |
… |
|
270 | 281 | |
271 | 282 | ==== Google Appsのアカウント設定 ==== |
272 | | 次に、Google Appsのアカウント設定を行います。この設定を行わないと、ログインできません。 |
| 283 | 次に、Google Apps内でアカウント設定を行います。この設定を行わないと、ログインできません。 |
273 | 284 | |
274 | 285 | では、まずOpenPNEにログインしたいアカウント(メールアドレス)で、Google Appsにログインします。[[BR]] |
275 | 286 | 右上の「設定」から「メール転送とPOP設定」に遷移すると、「POPのダウンロード」設定が、「1.ステータス:POPは無効になっています」となっており、POPが無効になっているので、すぐ下にある「すべてのメールでPOPを有効にする」というラジオボタンを選択し、POPを有効にして変更を保存します。[[BR]] |
276 | 287 | |
277 | | これで設定は終了です。[[BR]] |
| 288 | 以上で設定は終了です。[[BR]] |
278 | 289 | |
279 | 290 | [[Image(https://trac.openpne.jp/svn/prj/pne-book/pne-book-7/GoogleApps_pop.png,650)]] |
… |
… |
|
284 | 295 | それでは動作確認してみましょう。 |
285 | 296 | |
286 | | Google Appsのアカウント(メールアドレス)とパスワードでOpenPNEにログインします。[[BR]] |
287 | | |
288 | | 次に、「プロフィール入力画面」が表示されるので、入力し登録を完了します。[[BR]] |
289 | | |
290 | | 「メールアドレス登録」が表示されるのでメールアドレスを入力し、メールを送信します。この時、Google Appsのメールアドレスを入力しておくと管理が楽になります。 |
291 | | |
292 | | 入力したメールアドレスにSNSから届いたメールを開き、パスワードを入力し、登録を完了させます。[[BR]] |
293 | | これでログインすることが出来ればGoogle AppsとOpenPNEをSlavePNEで連携させることが出来る様になりました。[[BR]] |
| 297 | GoogleAppsのアカウント(メールアドレス)とパスワードでSNSにログインします。[[BR]] |
| 298 | 通常通りSNSにログインしてください。[[BR]] |
| 299 | 新規ユーザの場合は通常のSNS同様プロフィール項目などの登録が必要です。[[BR]] |
| 300 | SNSにログインできたら、OpenPNEとGoogleAppsの連携成功です。 |
294 | 301 | |
295 | 302 | |
… |
… |
|
298 | 305 | |
299 | 306 | Geeklogはブログ機能が充実したコンテンツマネジメントシステムです。 |
300 | | 特徴としては、拡張性・汎用性が高く、システムを簡単に拡張するプラグインシステムだけではなく、手軽に開発することが出来るアドオン開発環境が整備されています。 |
301 | | |
302 | | Geeklogは拡張性が高い汎用CMSとして普及しており、OpenPNEにはない機能があります。[[BR]] |
303 | | BlogなどOpenPNEだけでは管理できない機能を使い、OpenPNEとID連携することでコンテンツの管理が非常に楽になります。[[BR]] |
304 | | 一つのコミュニティの中で、クローズにしたい所はOpenPNEで、オープンにしたい所はOpenPNEでといったようにコミュニティの中でオープンとクローズドを上手く使い分けることも可能です。[[BR]] |
| 307 | 特徴としては、拡張性・汎用性が高く、システムを簡単に拡張することができるプラグインシステムを搭載しています。 |
| 308 | |
| 309 | GeeklogはBlogなど外部に公開するコンテンツを管理するシステムが充実しているため、OpenPNEと連携することにより、OpenPNEにもコンテンツを外部に公開する機能を充実させることができます。 |
305 | 310 | |
306 | 311 | 前提条件としてGeeklog、OpenPNEがインストールされているものとします。[[BR]] |
… |
… |
|
325 | 330 | |
326 | 331 | ==== 導入手順 ==== |
327 | | 1.OpenPNEのconfig.phpのIS_SLAVEPNE、authオプションを設定[[BR]] |
| 332 | 1.config.phpのIS_SLAVEPNE、authオプションを設定[[BR]] |
328 | 333 | 2.Geeklogのconfig.phpを設定[[BR]] |
329 | | 3.Geeklogにユーザ登録[[BR]] |
330 | | 4.動作確認[[BR]] |
331 | | |
332 | | ==== OpenPNEのconfig.phpのIS_SLAVEPNE、authオプションを設定 ==== |
333 | | まず、OpenPNEのrootディレクトリにあるconfig.phpのIS_SLAVEPNEとauthオプションを設定します。[[BR]] |
| 334 | 3.動作確認[[BR]] |
| 335 | |
| 336 | ==== config.phpのIS_SLAVEPNE、authオプションを設定 ==== |
| 337 | まず、SNSのrootディレクトリにあるconfig.phpのIS_SLAVEPNEとauthオプションを設定します。[[BR]] |
334 | 338 | |
335 | 339 | {{{ |
… |
… |
|
348 | 352 | }}} |
349 | 353 | |
350 | | IS_SLAVEPNEをtrueにします。[[BR]] |
| 354 | 【IS_SLAVEPNE】をtrueにします。[[BR]] |
351 | 355 | 次に、authオプションの設定をします。[[BR]] |
352 | | ここではphptypeにmysqlを使用しています。MySQLユーザ名、MySQLパスワード、MySQLパスワード、ホスト名、データベース名は適宜読み替えてください。[[BR]] |
353 | | tableはgl_usersを使います。usernamecolにはusersを、passwordcolにはpasswdを設定してください。[[BR]] |
354 | | また、cryptTypeはmd5にしてください。[[BR]] |
355 | | |
356 | | これでOpenPNE側の設定は終了です。 |
| 356 | 設定ファイル内の【phptype】、【username】、【password】、【hostspec】、【database】は適宜各自の設定に読み替えてください。[[BR]] |
| 357 | |
| 358 | 【table】、【usernamecol】、【passwordcol】、【cryptType】はgl_users、users、passwd、md5とします。[[BR]] |
| 359 | |
| 360 | 以上でSNSの設定は終了です。 |
357 | 361 | |
358 | 362 | {{{ |
… |
… |
|
367 | 371 | 'dsn' => array( |
368 | 372 | 'phptype' => 'mysql', |
369 | | 'username' => 'MySQLユーザ名', |
370 | | 'password' => 'MySQLパスワード', |
371 | | 'hostspec' => 'ホスト名', |
372 | | 'database' => 'データベース名', |
| 373 | 'username' => 'mysql_username', |
| 374 | 'password' => 'mysql_password', |
| 375 | 'hostspec' => 'example.hogehoge.jp', |
| 376 | 'database' => 'example', |
373 | 377 | 'new_link' => true, |
374 | 378 | ), |
… |
… |
|
385 | 389 | ==== Geeklogのconfig.phpを設定 ==== |
386 | 390 | |
387 | | 次に、Geeklogのconfig.phpを設定します。[[BR]] |
| 391 | 次に、Geeklogのrootディレクトリにあるconfig.phpを設定します。[[BR]] |
388 | 392 | |
389 | 393 | {{{ |
… |
… |
|
405 | 409 | }}} |
406 | 410 | |
407 | | config.phpの設定でユーザ名を変更できない様にします。[[BR]] |
408 | | |
| 411 | config.phpの設定でユーザが自分でユーザ名を変更できないようにします。[[BR]] |
| 412 | |
409 | 413 | {{{ |
410 | 414 | |
… |
… |
|
415 | 419 | |
416 | 420 | |
417 | | ==== Geeklogにユーザ登録 ==== |
418 | | Geeklogにユーザ登録します。[[BR]] |
419 | | 新規登録から、Geeklogにユーザ登録してください。[[BR]] |
420 | | |
421 | 421 | |
422 | 422 | ==== 動作確認 ==== |
423 | 423 | それでは動作確認してみましょう。 |
424 | 424 | |
425 | | OpenPNEへGeeklogに登録したユーザ名とパスワードでログインします。 |
426 | | ログイン出来れば、GeeklogとOpenPNEをSlavePNEで連携させることが出来る様になりました。 |
427 | | |
428 | | |
| 425 | GeeklogのユーザIDとパスワードでSNSにログインします。[[BR]] |
| 426 | 通常通りSNSにログインしてください。[[BR]] |
| 427 | 新規ユーザの場合は通常のSNS同様プロフィール項目などの登録が必要です。[[BR]] |
| 428 | SNSにログインできたら、OpenPNEとGeeklogの連携成功です。 |
| 429 | |
| 430 | |
429 | 431 | === OpenLDAP X OpenPNE === |
430 | 432 | |
431 | 433 | OpenLDAPはLDAPを実装したオープンソースのディレクトリサービスソフトウェアのことです。 |
432 | | LDAPの特徴から、OpenLDAPを社内システムでを使うことも多いと思います。[[BR]] |
433 | | その様な時にOpenLDAPとOpenPNEを連携することが出来れば同じIDでログインすることが出来るので社内SNSなどSNSの導入も比較的楽に導入出来る様になります。[[BR]] |
434 | | |
| 434 | OpenLDAPには強力なセキュリティシステムがあるなどの特徴から、OpenLDAPを社内システムで使用することがあります。[[BR]] |
| 435 | その様な時にOpenLDAPとOpenPNEを連携することができれば同じIDでログインすることができるので社内SNSの導入が容易になります。[[BR]] |
435 | 436 | |
436 | 437 | 前提条件としてLDAPに対応したアプリケーション、OpenPNEがインストールされているものとします。 |
… |
… |
|
456 | 457 | |
457 | 458 | ==== config.phpのIS_SLAVEPNE、authオプションを設定 ==== |
458 | | まず、OpenPNEのrootディレクトリにあるconfig.phpのIS_SLAVEPNEとauthオプションを設定します。[[BR]] |
| 459 | まず、SNSのrootディレクトリにあるconfig.phpのIS_SLAVEPNEとauthオプションを設定します。[[BR]] |
459 | 460 | |
460 | 461 | {{{ |
… |
… |
|
473 | 474 | }}} |
474 | 475 | |
475 | | IS_SLAVEPNEをtrueにします。[[BR]] |
| 476 | 【IS_SLAVEPNE】をtrueにします。[[BR]] |
476 | 477 | 次に、authオプションの設定をします。[[BR]] |
477 | | storageにLDAPを選択し、authオプションを設定します。[[BR]] |
478 | | 下に設定の一例を挙げています。 |
479 | | |
| 478 | 【storage】にLDAPを選択し、authオプションを設定します。[[BR]] |
| 479 | 【url】、【basedn】、【userattr】は適宜各自の設定に読み替えてください。 |
480 | 480 | |
481 | 481 | {{{ |
… |
… |
|
502 | 502 | |
503 | 503 | LDAPのuidとpasswordでOpenPNEにログインします。[[BR]] |
504 | | 新規ユーザの場合は通常のOpenPNE同様プロフィール項目などの登録が必要です。[[BR]] |
505 | | メール承認後、LDAPのuidとpasswordでログイン出来ます。 |
506 | | |
507 | | |
508 | | |
509 | | |
510 | | |
511 | | === 自動ログイン設定 === |
512 | | SlavePNEを使うときに、自動ログイン設定が出来ないということがあります。 |
513 | | 自動ログイン設定を使うにはOpenPNE側で設定が必要です。 |
514 | | 今回はその自動ログインの設定を紹介します。 |
515 | | |
516 | | |
517 | | ==== config.phpのsession_save_pathを設定 ==== |
518 | | |
519 | | OpenPNEのrootディレクトリにあるconfig.php内のsession_save_pathを設定してきます。[[BR]] |
520 | | |
521 | | {{{ |
522 | | root/ |
523 | | |
524 | | bin |
525 | | lib |
526 | | public_html |
527 | | setup |
528 | | var |
529 | | webapp |
530 | | webapp_biz |
531 | | webapp_ext |
532 | | config.php |
533 | | LICENSE |
534 | | }}} |
535 | | |
536 | | |
537 | | 自動ログインするためにセッションの設定をします。[[BR]] |
538 | | |
539 | | まず、OpenPNEのrootディレクトリにあるconfig.php内のsession_save_pathを設定します。[[BR]] |
540 | | デフォルトではsession_save_pathがコメントアウトされているので、コメントアウトをはずします。[[BR]] |
541 | | 次に、pathを設定する必要があればpathを環境に応じて設定してください。[[BR]] |
542 | | このpathはOpenPNEが設置されている絶対アドレスにしてください。[[BR]] |
543 | | これでセッションが保存されるようになり、自動ログインが出来る様になります。[[BR]] |
544 | | |
545 | | {{{ |
546 | | /// |
547 | | // セッション・クッキー設定 |
548 | | /// |
549 | | |
550 | | ini_set('session.gc_probability',1); |
551 | | ini_set('session.gc_divisor',10000); |
552 | | |
553 | | ini_set('session.gc_maxlifetime', 432000); // 5 days |
554 | | session_save_path('/tmp'); |
555 | | |
556 | | }}} |
| 504 | 通常通りSNSにログインしてください。[[BR]] |
| 505 | 新規ユーザの場合は通常のSNS同様プロフィール項目などの登録が必要です。[[BR]] |
| 506 | SNSにログインできたら、OpenPNEとOpenLDAPの連携成功です。 |
557 | 507 | |
558 | 508 | |
… |
… |
|
561 | 511 | === OpenIDとは? === |
562 | 512 | |
563 | | OpenIDとはWEBサイトを超えて認証システムを構築できるシステムです。[[BR]] |
564 | | OpenPNEにおけるOpenIDの連携には二つの方法が考えられます。[[BR]] |
565 | | その二つの方法とは「OpenPNEがOpenIDのプロバイダーになる」と「OpenPNEがOpenIDのカスタマーになる」です。[[BR]] |
566 | | 今回はOpenPNEがプロバイダになる方法を紹介します。 |
| 513 | OpenIDは、Webサイトを超えて認証システムを構築できるシステムです。 |
| 514 | OpenPNEにおけるOpenIDの連携には二つの方法があります。 |
| 515 | 「OpenPNEがOpenIDのID発行者(プロバイダ)になる」と「OpenIDを使ってOpenPNEにログインできるようにする(コンスーマ)」です。今回はOpenPNEのプロバイダ機能を利用した連携方法を紹介します。 |
| 516 | |
567 | 517 | |
568 | 518 | OpenIDは、URLの形式で発行されます。このURLを取得していると、OpenIDに対応しているすべてのサイトにひとつのIDでログインすることができます。 |
… |
… |
|
570 | 520 | ここでは、OpenIDに対応をしているオープンソースのソフトウェアを使って、OpenPNEとの連携方法を紹介していきます。[[BR]] |
571 | 521 | |
572 | | OpenPNEが発行するOpenIDの仕様は本稿執筆時(2008年2月末)の開発版のものとなります。安定版とは仕様が異なる場合がありますが、ご了承ください。 |
573 | | |
574 | 522 | [[Image(https://trac.openpne.jp/svn/prj/pne-book/pne-book-7/OpenID.png,650)]] |
575 | 523 | |
576 | | |
577 | | |
578 | | === OpenPNEでのOpenIDの設定 === |
579 | | まず、OpenIDのIDをOpenPNEで発行するには設定が必要になります。[[BR]] |
580 | | ただ、config.phpにあるIS_OPENID_PROVIDERをtrueにするだけで簡単にOpenPNEでOpenIDのURLを発行することができます。[[BR]] |
| 524 | |
| 525 | === SNSでのOpenIDの設定 === |
| 526 | まず、OpenIDでログインするためのURLをSNSで発行するためには、SNSで設定が必要になります。[[BR]] |
| 527 | SNSのrootディレクトリにあるconfig.phpにある【IS_OPENID_PROVIDER】をtrueにします。[[BR]] |
| 528 | 以上の設定で、SNSがOpenIDのURLを発行することが出来ました。 |
| 529 | |
581 | 530 | |
582 | 531 | {{{ |
… |
… |
|
592 | 541 | }}} |
593 | 542 | |
594 | | OpenPNEで発行されるOpenIDのURLは以下のような形式となります。 |
595 | | |
596 | | {{{ |
597 | | http://openid.openpne.jp/?m=openid&a=page_home&id={ユーザーのID番号} |
| 543 | SNSで発行されるOpenIDのURLは以下のような形式となります。 |
| 544 | |
| 545 | {{{ |
| 546 | http://hogehoge.jp/?m=openid&a=page_home&id={ユーザーのID番号} |
598 | 547 | }}} |
599 | 548 | |
… |
… |
|
601 | 550 | |
602 | 551 | === OpenPNE X WordPress === |
603 | | WordPressは、オープンソースのブログツールです。[[BR]] |
| 552 | WordPressは、オープンソースのブログ構築用ソフトウェアです。[[BR]] |
604 | 553 | WordPressには様々なテーマや、プラグインが存在し、これらを導入することによりオリジナルのブログを構築できます。[[BR]] |
605 | 554 | |
606 | | WordPressにはOpenIDのユーザーに様々な権限レベルを設定できるという大きな特徴を持っています。この特徴を活かして、OpenPNEと連携して、OpenPNE参加者専用の共同ブログを作ることができます。[[BR]] |
607 | | |
608 | | 事例として、OpenPNE公式ブログでは、OpenPNE開発メンバーがOpenPNEに関する様々な情報をWordPressで更新をしています。[[BR]] |
609 | | このOpenPNE公式SNSはOpenIDを利用してログインし、更新しています。[[BR]] |
610 | | OpenIDを導入することにより、IDの新規発行作業の必要がなくなりました。 |
| 555 | WordPressにはOpenIDのユーザーに様々な権限レベルを設定することができるという大きな特徴を持っています。この特徴を活かして、SNSとWordPress連携させて、SNS参加者だけが投稿可能なSNS参加者専用共同ブログを作成することができます。[[BR]] |
611 | 556 | |
612 | 557 | 前提条件としてWordPress、OpenPNEがインストールされているものとします。 |
… |
… |
|
636 | 581 | ==== 1.WordPressに導入するプラグインの入手 ==== |
637 | 582 | 今回はWP-OpenIDというプラグインを使用します。[[BR]] |
638 | | まずこのプラグインを入手しましょう。WP-OpenIDのダウンロードページからダウンロードします。本稿執筆時(2008年2月)の最新バージョンは2.1.4のものとなります。 |
| 583 | まずこのプラグインを入手しましょう。WP-OpenIDのダウンロードページからダウンロードします。 |
639 | 584 | |
640 | 585 | [[Image(https://trac.openpne.jp/svn/prj/pne-book/pne-book-7/WP-OpenID.png,650)]] |
… |
… |
|
713 | 658 | [[Image(http://ookura.pne.jp/images/wordpress/2_plugin_install/2-1.jpg)]] |
714 | 659 | |
715 | | 次にプラグインタブ内のプラグイン管理にWP-OpenIDモジュールが表示されていることを確認して「使用する」をクリックし、有効化します。これでプラグインの有効化は完了しました。 |
| 660 | 次にプラグインタブ内のプラグイン管理にWP-OpenIDモジュールが表示されていることを確認して「使用する」をクリックし、有効化します。これでプラグインの有効化は完了です。 |
716 | 661 | |
717 | 662 | [[Image(http://ookura.pne.jp/images/wordpress/2_plugin_install/2-2.jpg, 700)]] |
718 | 663 | |
719 | 664 | 次に、各種設定を行います。[[BR]] |
720 | | 設定タブ内の一般設定タブを選択し、メンバーシップにある「誰でもユーザー登録ができるようにする」と「ユーザー登録してログインしたユーザーのみコメントをつけられるようにする」の二つのチェックボックスににチェックを入れ、「設定更新」 をクリックして設定を反映させてください。 |
| 665 | 設定タブ内の一般設定タブを選択し、メンバーシップにある「誰でもユーザー登録ができるようにする」と「ユーザー登録してログインしたユーザーのみコメントをつけられるようにする」の二つのチェックボックスににチェックを入れ、「設定更新」 をクリックして設定を反映させます。 |
721 | 666 | |
722 | 667 | [[Image(http://ookura.pne.jp/images/wordpress/2_plugin_install/3-1.jpg, 700)]] |
… |
… |
|
728 | 673 | [[Image(http://ookura.pne.jp/images/wordpress/2_plugin_install/3-1-1.jpg, 700)]] |
729 | 674 | |
730 | | 作業が完了したら"設定更新"をクリックして設定を反映しましょう。[[BR]] |
| 675 | 作業が完了したら「設定更新」をクリックして設定を反映させます。[[BR]] |
731 | 676 | |
732 | 677 | 最後に、同じく設定タブ内にあるWP-OpenIDを選択し、「Enable OpenID comment auto-approval」と「Add OpenID text to the WordPress post comment form.」の二つのチェックボックスにチェックを入れ、「Update options」 をクリックして設定を反映させましょう。 |
733 | 678 | |
734 | 679 | [[Image(http://ookura.pne.jp/images/wordpress/2_plugin_install/3-2.jpg, 700)]] |
735 | | これで設定は完了です。[[BR]] |
| 680 | 以上で設定は完了です。[[BR]] |
736 | 681 | |
737 | 682 | |
738 | 683 | ==== 3. 動作確認 ==== |
739 | | ここでの動作確認は、OpenPNEで発行されたOpenIDのURLでWordPressのブログにコメントを書き込むことができることを確かめる動作確認と、OpenPNEで発行されたOpenIDのURLでブログに投稿することができることを確かめる動作確認を行います。[[BR]] |
| 684 | ここでの動作確認は、「SNSで発行されたOpenIDのURLでWordPressのブログにコメントを書き込むことができることを確かめる動作確認」と、「SNSで発行されたOpenIDのURLでブログに投稿することができることを確かめる動作確認」を行います。[[BR]] |
740 | 685 | |
741 | 686 | 1. WordPressにコメントを書き込む[[BR]] |
742 | | 実際にOpenPNEのユーザーがOpenPNEで発行されたURLでコメントが投稿できるか動作確認してみましょう。まずコメントしたいブログ記事のページにいきます。 |
| 687 | 実際にSNSのユーザーがSNSで発行されたURLでコメントが投稿できるか動作確認してみましょう。まずコメントしたいブログ記事のページにいきます。 |
743 | 688 | |
744 | 689 | [[Image(http://ookura.pne.jp/images/wordpress/3_action_check/1-1.jpg, 700)]] |
… |
… |
|
748 | 693 | [[Image(http://ookura.pne.jp/images/wordpress/3_action_check/1-2.jpg)]] |
749 | 694 | |
750 | | 表示されたログインフォームには設定する前にはなかったOpenIDのログインフォームがあるはずです。この「OpenID url:」というフォームにOpenPNEから発行されたOpenIDのURLを入力することでログインできます。 |
751 | | |
752 | | OpenPNEで発行されるOpenIDは以下のような形式となります。 |
753 | | |
754 | | {{{ |
755 | | http://openid.openpne.jp/?m=openid&a=page_home&id={ユーザーのID番号} |
756 | | }}} |
757 | | |
758 | | ログインするとコメントを投稿したいブログ記事と共にコメント投稿フォームが出てきます。あとはコメントを入力し、通常通り投稿することができます。[[BR]] |
| 695 | 表示されたログインフォームには設定する前にはなかったOpenIDのログインフォームが表示されます。この「OpenID url:」というフォームにSNSから発行されたOpenIDのURLを入力することでログインすることができます。 |
| 696 | |
| 697 | ログインするとコメントを投稿したいブログ記事と共にコメント投稿フォームが出てきます。あとはコメントを入力し、通常通り投稿することができれば、OpenPNEとWordPressの連携成功です。[[BR]] |
759 | 698 | OpenIDで投稿したコメントには名前の横にOpenIDのロゴが表示されます。 |
760 | 699 | |
… |
… |
|
764 | 703 | 2. WordPressにブログの記事を投稿する |
765 | 704 | |
766 | | 次に、WordPressにブログの記事を投稿する動作確認を行います。しかし、OpenIDを発行された段階ではアカウントの権限レベルが設定されていないので、まずは管理者がブログ投稿者に「作成者」の権限を与える必要があります。それではまず、「作成者」の権限を与える方法から見ていきましょう。 |
767 | | |
768 | | WordPressにOpenIDで一度ログインしたユーザーは全てWordpressにアカウント登録されています。 |
769 | | |
770 | | そこで、WordPressに登録されたユーザーのアカウント権限レベルを変えて、ユーザーがブログ記事を書けるようにします[[BR]] |
| 705 | 次に、WordPressにブログの記事を投稿する動作確認を行います。しかし、OpenIDを発行された段階ではアカウントの権限レベルが設定されていないので、まずは管理者がブログ投稿者に「作成者」の権限を与える必要があります。それではまず、管理者がOpenIDでログインしたユーザに「作成者」の権限を与える方法から見ていきましょう。 |
| 706 | |
| 707 | WordPressにOpenIDで一度ログインしたユーザは全てWordpressにアカウント登録されています。 |
| 708 | |
| 709 | そこで、WordPressに登録されたユーザのアカウント権限レベルを「作成者」に変更して、ユーザがブログ記事を投稿できるように設定します。[[BR]] |
771 | 710 | |
772 | 711 | まず管理者のアカウントで管理ページにログインします。[[BR]] |
773 | | ユーザータブをクリックすると、ユーザーの一覧が表示されます。[[BR]] |
| 712 | ユーザータブをクリックすると、ユーザの一覧が表示されます。[[BR]] |
774 | 713 | |
775 | 714 | [[Image(http://ookura.pne.jp/images/wordpress/3_action_check/2-1.jpg, 700)]] |
776 | 715 | |
777 | | ここで、権限レベルを変更したいユーザーにチェックを入れて、「選択したユーザーの更新」にある権限レベルを指定しましょう。今回はユーザーの権限レベルを「作成者」 にします。 |
| 716 | ここで、権限レベルを変更したいユーザにチェックを入れて、「選択したユーザーの更新」にある権限レベルを指定しましょう。今回はユーザの権限レベルを「作成者」 にします。 |
778 | 717 | |
779 | 718 | 「一括更新」のボタンをクリックしてユーザーの権限レベルの変更します。[[BR]] |
780 | | これで、権限の変更は完了しました。 |
| 719 | 以上で、権限レベルの変更は完了しました。 |
781 | 720 | |
782 | 721 | |
783 | 722 | 次に、ユーザーの権限レベルが「作成者」になっているか確かめます。[[BR]] |
784 | | ※管理者のアカウントで管理画面にログインしている場合は一旦ログアウトしてください。 |
| 723 | この時、管理者のアカウントで管理画面にログインしている場合は一度ログアウトしてください。 |
785 | 724 | |
786 | 725 | ログイン画面でOpenID入力フォームに、権限レベルを変更したユーザーのOpenIDを入力してログインしてみましょう。すると、「ダッシュボード」や「作成」などの作成者に必要なタブが現れてブログが投稿できるようになります。 |
787 | 726 | |
788 | | 管理者のアカウントには表示される「プラグイン」 や「リンク」 などのタブが、作成者権限のユーザーには無いはずです。 |
| 727 | 管理者のアカウントには表示される「プラグイン」 や「リンク」 などのタブが、作成者権限のユーザーには表示されません。 |
789 | 728 | |
790 | 729 | [[Image(http://ookura.pne.jp/images/wordpress/3_action_check/2-2.jpg, 700)]] |
… |
… |
|
798 | 737 | Drupalとは、個人のブログから企業のサイトまで幅広く利用することができるCMS(Content Management System)です。様々なモジュールをアプリケーションに追加することによって、掲示板など様々なコンテンツを提供できることができます。 |
799 | 738 | |
800 | | OpenPNEは比較的クローズなコミュニティサイトとして運営していくことが多いと思われますが、外部にも情報を発信したいという場合もあると思います。 |
| 739 | OpenPNEは比較的クローズなコミュニティサイトとして運営していくことが多いと思われますが、外部にも情報を発信したいという場合もあります。 |
801 | 740 | そこで、Drupalを用いて、SNS内の外部向けのサイトを設置することで、既に運営されているSNSのコンセプトを非会員の人にも、より理解してもらえると同時に、更なる会員の増加が期待できます。WordPressでも同様のことは出来ますが、DrupalはWordPress以上にユーザーの権限レベルを詳細に設定できるという特徴があります。 |
802 | 741 | |
803 | | 前提条件としてDrupal、OpenPNEがインストールされているものとします。DrupalのバージョンはOpenIDに標準対応しているDrupal6.0を使用しています。 |
| 742 | 前提条件としてDrupal、OpenPNEがインストールされているものとします。 |
804 | 743 | なお、ここではWordPress自体のインストール方法や詳細については解説していません。 |
805 | 744 | それについての詳細はWordPressのドキュメントもしくはWebサイトを参照してください |
… |
… |
|
834 | 773 | |
835 | 774 | |
836 | | これでひとまず設定は完了しました。一旦ログアウトし、OpenIDでログインができるかを確認してみましょう。 |
| 775 | 以上で設定は完了しました。一旦ログアウトし、OpenIDでログインができるかを確認してみましょう。 |
837 | 776 | ログイン画面で 「Log in using OpenID」 をクリックするとOpenID入力フォームが出てくるので、OpenIDを入力して、ログインしてみましょう。 |
838 | 777 | |
… |
… |
|
840 | 779 | |
841 | 780 | ちなみに、初回ログイン時にDrupalにSNSのニックネームが登録されます。 |
842 | | つまり、SNSでニックネームを変更した場合Drupalと同期できないので、変更したい場合はDrupalで設定する必要があります。 |
| 781 | つまり、SNSでニックネームを変更した場合Drupalと同期することができないので、変更したい場合はDrupalで設定する必要があります。 |
843 | 782 | |
844 | 783 | ==== OpenIDでログインするSNSユーザーの権限を設定 ==== |
… |
… |
|
846 | 785 | 初期設定では、コメントなどの投稿権限は許可されていますが、サイトの管理まではできません。そこで、今回はOpenIDでログインしたSNSユーザーにサイトの管理権限を付与してみましょう。 |
847 | 786 | |
848 | | まず、グループの権限設定を作成します。Drupalではこの権限設定をDrupalに登録しているユーザーに付与することで、グループに応じてコンテンツを表示させたり、一部の管理機能を許可させたりといったことができるようになっています。[[BR]] |
849 | | 管理者のアカウントでログインし、左側のナビから「Administer」 → 「User management」 → 「Roles」を開きます。初期の状態では「anonymous user」と「authenticated user」の二つの設定があるはずです。下部に新規に作成する権限設定の名前を登録するフォームがあるので、名前をつけて「Add role」ボタンを押します。 |
| 787 | まず、グループの権限設定を作成します。Drupalではこの権限設定をDrupalに登録しているユーザーに付与することで、グループに応じてコンテンツを表示させたり、一部の管理機能を許可させたりすることができます。[[BR]] |
| 788 | 管理者のアカウントでログインし、左側のナビから「Administer」 → 「User management」 → 「Roles」を開きます。初期の状態では「anonymous user」と「authenticated user」の二つの設定があります。下部に新規に作成する権限設定の名前を登録するフォームがあるので、名前を入力して「Add role」ボタンをクリックします。 |
850 | 789 | |
851 | 790 | 今回はサイトのレイアウトが編集できる権限設定を作ります。「OpenID - Designer」というグループ名で登録しましょう。 |
… |
… |
|
866 | 805 | 「Administer」 → 「User management」 → 「Users」に、Drupalに登録された全てのユーザーが表示されます。Rolesの列に何も表記のないユーザーは初期グループの「authenticated user」に属しています。[[BR]] |
867 | 806 | |
868 | | 権限設定を変更したいユーザーにチェックマークをつけて、「Update options」から「Add a role to the selected users」に、先程作成した「OpenID - Designer」があるはずなのでこれを選択し、「Update」をクリックします。[[BR]] |
869 | | これで設定は完了です。次に動作確認に移ります。一旦管理者アカウントからログアウトしておきましょう。 |
| 807 | 権限設定を変更したいユーザーにチェックマークをつけて、「Update options」から「Add a role to the selected users」に、先程作成した「OpenID - Designer」があるので選択し、「Update」をクリックします。[[BR]] |
| 808 | 以上で設定は完了です。次に動作確認に移ります。一旦管理者アカウントからログアウトしておきましょう。 |
870 | 809 | |
871 | 810 | ==== 動作確認 ==== |
… |
… |
|
881 | 820 | Drupalに表示されるコンテンツの構成を変更します。「Administer」→「Site building」→「Blocks」から変更ができます。 |
882 | 821 | |
883 | | ここでの変更は特に指定をしないので、好きなように変更をしてみましょう。 |
884 | | |
885 | 822 | [[Image(http://ookura.pne.jp/images/drupal/check_system/2-1.jpg, 700)]] |
886 | 823 | |
887 | 824 | 変更を施したらホームに戻って確認して、作業は完了です。 |
888 | 825 | |
889 | | [[Image(http://ookura.pne.jp/images/drupal/check_system/2-2.jpg, |
890 | | |
891 | | 700)]] |
| 826 | [[Image(http://ookura.pne.jp/images/drupal/check_system/2-2.jpg,700)]] |