ここの情報は古いです。ご理解頂いた上でお取り扱いください。

Changes between Version 25 and Version 26 of pne-book-7


Ignore:
Timestamp:
Mar 25, 2008, 2:10:06 AM (13 years ago)
Author:
imoto
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • pne-book-7

    v25 v26  
    44== 外部アプリとの連携でOpenPNEはここまで良くなる ==
    55
    6 = 機能連係 =
    7 
    8 
    9 == 小窓 ==
    10  * 天鳳
    11  * Skype
     6OpenPNEは人と人とのつながりを表現するソフトウエアです。
     7OpenPNE本体に個別の機能を作らなくても外部アプリケーションと連携することで、多くの機能をSNSに取り込むことが出来ます。
     8今回は、外部サービスと連携する手段の一つとしてID連携を中心に外部連携を紹介していきます。
     9
    1210
    1311= ID連携 =
     
    1816MasterPNEに対応するには、OpenPNE本体ではなく、外部システム側がMasterPNEの提供する認証機構をサポートしている必要があります。[[BR]] ですので、今後OpenPNEでは、より多くの外部システムと連動するため、複数の認証プロトコルをサポートしていく予定です。
    1917
     18http://sc.pne.jp/200801081910.png
     19
    2020=== OpenPNE X Trac ===
    2121TracはPythonにより実装されているソフトウェアのプロジェクト管理とバグ追跡のためのツールです。現在、多くのオープンソースプロジェクトで活用されています。
    2222OpenPNEプロジェクトでも現在Tracを利用してプロジェクト管理やバグ追跡をしています。
    2323
    24 
    2524OpenPNEとTracを連携させることで、SNSのユーザーだけTracにログインできるということが可能になります。[[BR]]
    2625
    2726現在、OpenPNEの公式SNSとOpenPNE公式TracはこのOpenPNEとTracのMasterPNEで動いています。[[BR]]
    28 OpenPNE公式SNS内の「プロフィール変更」の欄に「TRACログインID」というTracのログインIDを入力する欄があるので、この「TRACログインID」にログインIDを入力すれば、このTRACログインIDとOpenPNE公式SNSのパスワードでOpenPNE公式Tracにログイン出来る様になります。
     27OpenPNE公式SNS内の「プロフィール変更」の欄に「TRACログインID」というTracのログインIDを入力する欄があるので、この「TRACログインID」にログインIDを入力すれば、このTRACログインIDとOpenPNE公式SNSのパスワードでOpenPNE公式Tracにログインできるようになります。
    2928
    3029前提条件としてOpenPNE、Trac(dagのyumインストール)がインストールされているものとします。
     
    4645
    4746 ==== 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 のパッケージがインストールされているか確認してください。
    5254 
    5355 インストール
     
    6264 ==== httpd.confの修正 ====
    6365 次に、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】は適宜各自の設定に読み替えてください。
    6769 
    6870 AuthMySQLNameFieldでログインID用のフィールドを指定してください。今回はSNSのニックネームを使用するのでnicknameとしています。[[BR]]
    6971 AuthMySQLPasswordFieldでパスワード用のフィールドを指定しています。[[BR]]
    7072 
    71 
     73 
     74 
    7275 {{{
    7376
     
    98101 ==== 動作確認 ====
    99102 それでは動作確認してみましょう。[[BR]]
    100  通常通り、SNSのユーザー登録します。[[BR]]
     103 通常通り、SNSのユーザー登録します。[[BR]]
    101104 次に、Trac(認証サイト)に移動しSNSのニックネームとパスワードでログインします。
    102105 
    103  無事ログイン出来たら、OpenPNEとTracでMasterPNEを使って連携することが出来ました。
     106 [ログイン後キャプチャ画面の挿入]
     107 
     108 上記画面のようにTracにログインできたら、OpenPNEとTracの連携成功です。
    104109
    105110
    106111== SlavePNE ==
    107112=== SlavePNEとは ===
    108 SlavePNEとは、他のシステムのアカウントを親、OpenPNEを子(Slave)として連携させる方法です。OpenPNEでは現在認証系の外部ライブラリにPEARライブラリのAuth_Containerを使っています。このSlavePNEはAuth_Containerを使っています。
    109 
     113SlavePNEとは、他のシステムのアカウントを親、OpenPNEを子(Slave)として連携させる方法です。
     114
     115http://sc.pne.jp/200801081913.png
     116
     117OpenPNEでは現在SlavePNEを実現させるための外部ライブラリに、PEARライブラリのAuth_Containerを使っています。このAuth_Containerがサポートするシステムであれば、OpenPNEと連携させることが出来ます。
     118
     119http://sc.pne.jp/200712182052.png
     120
     121[対応リスト]
    110122
    111123
    112124=== XOOPS X OpenPNE ===
    113 
    114125XOOPSは、コミュニティサイト構築用ソフトウェアです。
    115 このソフトウェアを使用することにより、ポータルサイトを手軽に作成することが出来ます。
     126このソフトウェアを使用することにより、コミュニティサイトを手軽に作成することが出来ます。
    116127
    117128XOOPSとOpenPNEを連携することで、現在XOOPSのコミュニティを運営しているが新しくSNSの機能を追加したいという場合でも、簡単に同じアカウントでログインすることが出来ます。[[BR]]
    118 XOOPSは多くのモジュールが提供されているので、OpenPNEだけでは足りない機能をXOOPSで補うことも出来るかもしれません。[[BR]]
     129XOOPSは多くのモジュールが提供されているので、OpenPNEだけでは足りない機能をXOOPSで補うこともできます。[[BR]]
    119130前提条件としてXOOPS、OpenPNEがインストールされているものとします。
    120131
     
    141152
    142153 ==== config.phpのIS_SLAVEPNE、authオプションを設定 ====
    143  まず、OpenPNEのrootディレクトリにあるconfig.phpのIS_SLAVEPNEとauthオプションを設定します。[[BR]]
     154 まず、SNSのrootディレクトリにあるconfig.phpのIS_SLAVEPNEとauthオプションを設定します。[[BR]]
    144155 
    145156 {{{
     
    159170
    160171
    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]]
     175XOOPSのDB構造を参照し、【table】、【usernamecol】、【passwordcol】を設定します。[[BR]]
     176
     177 最後に、【cryptType】をmd5に設定します。これはXOOPSがmd5を使用しているためこの設定をしなければ、ログインすることが出来ません。[[BR]]
     178 これだけの簡単な設定で、XOOPSのユーザIDとパスワードでSNSにログインすることが出来ます。
    167179
    168180{{{
     
    177189    'dsn'         => array(
    178190        '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',
    183195        'new_link' => true,
    184196        ),
     
    192204}}}
    193205 
    194 
    195206 
    196207 ==== 動作確認 ====
    197208 それでは動作確認してみましょう。
    198209 
    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の連携成功です。
    202214 
    203215=== GoogleApps X OpenPNE ===
    204216
    205 GoogleAppsにはさまざまな特徴があり、大容量WebメールのGmail、カレンダーの共有が出来るGoogleカレンダー、ワードやエクセルの形式も編集出来るGoogleDocs&Spreadsheetsとさまざまなツールを使うことが出来ます。[[BR]]
    206 GoogleAppsとOpenPNEを連携して利用することで、一つのアカウントでログインすることができ、社内でのアカウント管理も楽になります。また、この方法で連携したSNSにはGoogleAppsのアカウントを持ったユーザのみログイン可能なので、限定したユーザのみログインできるSNSを作ることが出来ます。[[BR]]
    207 小規模の会社であれば、OpenLDAPを使っていない場合がほとんどだと思います。しかし、この様にPOP3でOpenPNEと連携することが出来ます。[[BR]]
     217GoogleAppsにはさまざまな機能があり、大容量WebメールのGmail、カレンダーが共有できるGoogleカレンダー、ワードやエクセルの形式も編集できるGoogleDocs&Spreadsheetsとさまざまなツールを使うことができます。
     218
     219GoogleAppsとOpenPNEを連携して利用することで、一つのアカウントでログインすることができ、社内でのアカウント管理が楽になります。また、この方法で連携したSNSにはGoogleAppsのアカウントを持ったユーザだけがログイン可能なので、限定したユーザでSNSを作ることができます。[[BR]]
    208220
    209221前提条件としてGoogle Appsへの申し込み、OpenPNEのインストールさているものとします。
    210222
    211 なお、ここではGoogle Apps自体のイ詳細については解説していません。
    212 それについての詳細はGoogle AppsのWebサイトを参照してください。
     223なお、ここではGoogle Apps自体の登録やサービスの詳細については解説していません。 詳細はGoogle AppsのWebサイトを参照してください。
    213224
    214225[[Image(https://trac.openpne.jp/svn/prj/pne-book/pne-book-7/GoogleApps.png,650)]]
     
    246257 LICENSE
    247258}}}
    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に設定します。
    251262 
    252263 
     
    270281
    271282 ==== Google Appsのアカウント設定 ====
    272  次に、Google Appsアカウント設定を行います。この設定を行わないと、ログインできません。
     283 次に、Google Apps内でアカウント設定を行います。この設定を行わないと、ログインできません。
    273284
    274285 では、まずOpenPNEにログインしたいアカウント(メールアドレス)で、Google Appsにログインします。[[BR]]
    275286 右上の「設定」から「メール転送とPOP設定」に遷移すると、「POPのダウンロード」設定が、「1.ステータス:POPは無効になっています」となっており、POPが無効になっているので、すぐ下にある「すべてのメールでPOPを有効にする」というラジオボタンを選択し、POPを有効にして変更を保存します。[[BR]]
    276287 
    277  これで設定は終了です。[[BR]]
     288 以上で設定は終了です。[[BR]]
    278289 
    279290 [[Image(https://trac.openpne.jp/svn/prj/pne-book/pne-book-7/GoogleApps_pop.png,650)]]
     
    284295 それでは動作確認してみましょう。
    285296 
    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の連携成功です。
    294301 
    295302
     
    298305
    299306Geeklogはブログ機能が充実したコンテンツマネジメントシステムです。
    300 特徴としては、拡張性・汎用性が高く、システムを簡単に拡張するプラグインシステムだけではなく、手軽に開発することが出来るアドオン開発環境が整備されています。
    301 
    302 Geeklogは拡張性が高い汎用CMSとして普及しており、OpenPNEにはない機能があります。[[BR]]
    303 BlogなどOpenPNEだけでは管理できない機能を使い、OpenPNEとID連携することでコンテンツの管理が非常に楽になります。[[BR]]
    304 一つのコミュニティの中で、クローズにしたい所はOpenPNEで、オープンにしたい所はOpenPNEでといったようにコミュニティの中でオープンとクローズドを上手く使い分けることも可能です。[[BR]]
     307特徴としては、拡張性・汎用性が高く、システムを簡単に拡張することができるプラグインシステムを搭載しています。
     308
     309GeeklogはBlogなど外部に公開するコンテンツを管理するシステムが充実しているため、OpenPNEと連携することにより、OpenPNEにもコンテンツを外部に公開する機能を充実させることができます。
    305310
    306311前提条件としてGeeklog、OpenPNEがインストールされているものとします。[[BR]]
     
    325330
    326331 ==== 導入手順 ====
    327  1.OpenPNEのconfig.phpのIS_SLAVEPNE、authオプションを設定[[BR]]
     332 1.config.phpのIS_SLAVEPNE、authオプションを設定[[BR]]
    328333 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]]
    334338 
    335339 {{{
     
    348352}}}
    349353 
    350  IS_SLAVEPNEをtrueにします。[[BR]]
     354 【IS_SLAVEPNE】をtrueにします。[[BR]]
    351355 次に、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の設定は終了です。
    357361 
    358362 {{{
     
    367371    'dsn'         => array(
    368372        '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',
    373377        'new_link' => true,
    374378        ),
     
    385389 ==== Geeklogのconfig.phpを設定 ====
    386390 
    387  次に、Geeklogのconfig.phpを設定します。[[BR]]
     391 次に、Geeklogのrootディレクトリにあるconfig.phpを設定します。[[BR]]
    388392 
    389393 {{{
     
    405409}}}
    406410 
    407  config.phpの設定でユーザ名を変更できない様にします。[[BR]]
    408 
     411 config.phpの設定でユーザが自分でユーザ名を変更できないようにします。[[BR]]
     412 
    409413{{{
    410414
     
    415419 
    416420 
    417  ==== Geeklogにユーザ登録 ====
    418  Geeklogにユーザ登録します。[[BR]]
    419  新規登録から、Geeklogにユーザ登録してください。[[BR]]
    420 
    421421 
    422422 ==== 動作確認 ====
    423423 それでは動作確認してみましょう。
    424424 
    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 
    429431 === OpenLDAP X OpenPNE ===
    430432
    431433 OpenLDAPはLDAPを実装したオープンソースのディレクトリサービスソフトウェアのことです。
    432  LDAPの特徴から、OpenLDAPを社内システムでを使うことも多いと思います。[[BR]]
    433  その様な時にOpenLDAPとOpenPNEを連携することが出来れば同じIDでログインすることが出来るので社内SNSなどSNSの導入も比較的楽に導入出来る様になります。[[BR]]
    434 
     434 OpenLDAPには強力なセキュリティシステムがあるなどの特徴から、OpenLDAPを社内システムで使用することがあります。[[BR]]
     435 その様な時にOpenLDAPとOpenPNEを連携することができれば同じIDでログインすることができるので社内SNSの導入が容易になります。[[BR]]
    435436
    436437 前提条件としてLDAPに対応したアプリケーション、OpenPNEがインストールされているものとします。
     
    456457
    457458  ==== config.phpのIS_SLAVEPNE、authオプションを設定 ====
    458  まず、OpenPNEのrootディレクトリにあるconfig.phpのIS_SLAVEPNEとauthオプションを設定します。[[BR]]
     459 まず、SNSのrootディレクトリにあるconfig.phpのIS_SLAVEPNEとauthオプションを設定します。[[BR]]
    459460 
    460461  {{{
     
    473474}}}
    474475 
    475   IS_SLAVEPNEをtrueにします。[[BR]]
     476  【IS_SLAVEPNE】をtrueにします。[[BR]]
    476477  次に、authオプションの設定をします。[[BR]]
    477   storageにLDAPを選択し、authオプションを設定します。[[BR]]
    478   下に設定の一例を挙げています。
    479  
     478  【storage】にLDAPを選択し、authオプションを設定します。[[BR]]
     479  【url】、【basedn】、【userattr】は適宜各自の設定に読み替えてください。
    480480
    481481  {{{
     
    502502 
    503503  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の連携成功です。
    557507
    558508
     
    561511 === OpenIDとは? ===
    562512 
    563  OpenIDとはWEBサイトを超えて認証システムを構築できるシステムです。[[BR]]
    564  OpenPNEにおけるOpenIDの連携には二つの方法が考えられます。[[BR]]
    565  その二つの方法とは「OpenPNEがOpenIDのプロバイダーになる」と「OpenPNEがOpenIDのカスタマーになる」です。[[BR]]
    566  今回はOpenPNEがプロバイダになる方法を紹介します。
     513 OpenIDは、Webサイトを超えて認証システムを構築できるシステムです。
     514OpenPNEにおけるOpenIDの連携には二つの方法があります。
     515 「OpenPNEがOpenIDのID発行者(プロバイダ)になる」と「OpenIDを使ってOpenPNEにログインできるようにする(コンスーマ)」です。今回はOpenPNEのプロバイダ機能を利用した連携方法を紹介します。
     516 
    567517 
    568518 OpenIDは、URLの形式で発行されます。このURLを取得していると、OpenIDに対応しているすべてのサイトにひとつのIDでログインすることができます。
     
    570520 ここでは、OpenIDに対応をしているオープンソースのソフトウェアを使って、OpenPNEとの連携方法を紹介していきます。[[BR]]
    571521 
    572  OpenPNEが発行するOpenIDの仕様は本稿執筆時(2008年2月末)の開発版のものとなります。安定版とは仕様が異なる場合がありますが、ご了承ください。
    573  
    574522 [[Image(https://trac.openpne.jp/svn/prj/pne-book/pne-book-7/OpenID.png,650)]]
    575523 
    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 
    581530 
    582531 {{{
     
    592541}}}
    593542 
    594  OpenPNEで発行されるOpenIDのURLは以下のような形式となります。
    595  
    596  {{{
    597 http://openid.openpne.jp/?m=openid&a=page_home&id={ユーザーのID番号}
     543 SNSで発行されるOpenIDのURLは以下のような形式となります。
     544 
     545 {{{
     546http://hogehoge.jp/?m=openid&a=page_home&id={ユーザーのID番号}
    598547}}}
    599548 
     
    601550 
    602551 === OpenPNE X WordPress ===
    603  WordPressは、オープンソースのブログツールです。[[BR]]
     552 WordPressは、オープンソースのブログ構築用ソフトウェアです。[[BR]]
    604553 WordPressには様々なテーマや、プラグインが存在し、これらを導入することによりオリジナルのブログを構築できます。[[BR]]
    605554 
    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]]
    611556 
    612557 前提条件としてWordPress、OpenPNEがインストールされているものとします。
     
    636581  ==== 1.WordPressに導入するプラグインの入手 ====
    637582  今回はWP-OpenIDというプラグインを使用します。[[BR]]
    638   まずこのプラグインを入手しましょう。WP-OpenIDのダウンロードページからダウンロードします。本稿執筆時(2008年2月)の最新バージョンは2.1.4のものとなります。
     583  まずこのプラグインを入手しましょう。WP-OpenIDのダウンロードページからダウンロードします。
    639584 
    640585  [[Image(https://trac.openpne.jp/svn/prj/pne-book/pne-book-7/WP-OpenID.png,650)]]
     
    713658  [[Image(http://ookura.pne.jp/images/wordpress/2_plugin_install/2-1.jpg)]]
    714659 
    715   次にプラグインタブ内のプラグイン管理にWP-OpenIDモジュールが表示されていることを確認して「使用する」をクリックし、有効化します。これでプラグインの有効化は完了しました
     660  次にプラグインタブ内のプラグイン管理にWP-OpenIDモジュールが表示されていることを確認して「使用する」をクリックし、有効化します。これでプラグインの有効化は完了です
    716661 
    717662  [[Image(http://ookura.pne.jp/images/wordpress/2_plugin_install/2-2.jpg, 700)]]
    718663 
    719664  次に、各種設定を行います。[[BR]]
    720   設定タブ内の一般設定タブを選択し、メンバーシップにある「誰でもユーザー登録ができるようにする」と「ユーザー登録してログインしたユーザーのみコメントをつけられるようにする」の二つのチェックボックスににチェックを入れ、「設定更新」 をクリックして設定を反映させてください
     665  設定タブ内の一般設定タブを選択し、メンバーシップにある「誰でもユーザー登録ができるようにする」と「ユーザー登録してログインしたユーザーのみコメントをつけられるようにする」の二つのチェックボックスににチェックを入れ、「設定更新」 をクリックして設定を反映させます
    721666 
    722667  [[Image(http://ookura.pne.jp/images/wordpress/2_plugin_install/3-1.jpg, 700)]]
     
    728673  [[Image(http://ookura.pne.jp/images/wordpress/2_plugin_install/3-1-1.jpg, 700)]]
    729674 
    730   作業が完了したら"設定更新"をクリックして設定を反映しましょう。[[BR]]
     675  作業が完了したら「設定更新」をクリックして設定を反映させます。[[BR]]
    731676 
    732677  最後に、同じく設定タブ内にあるWP-OpenIDを選択し、「Enable OpenID comment auto-approval」と「Add OpenID text to the WordPress post comment form.」の二つのチェックボックスにチェックを入れ、「Update options」 をクリックして設定を反映させましょう。
    733678 
    734679  [[Image(http://ookura.pne.jp/images/wordpress/2_plugin_install/3-2.jpg, 700)]]
    735   これで設定は完了です。[[BR]]
     680  以上で設定は完了です。[[BR]]
    736681 
    737682 
    738683  ==== 3. 動作確認 ====
    739   ここでの動作確認は、OpenPNEで発行されたOpenIDのURLでWordPressのブログにコメントを書き込むことができることを確かめる動作確認と、OpenPNEで発行されたOpenIDのURLでブログに投稿することができることを確かめる動作確認を行います。[[BR]]
     684  ここでの動作確認は、「SNSで発行されたOpenIDのURLでWordPressのブログにコメントを書き込むことができることを確かめる動作確認」と、「SNSで発行されたOpenIDのURLでブログに投稿することができることを確かめる動作確認」を行います。[[BR]]
    740685 
    741686  1. WordPressにコメントを書き込む[[BR]]
    742   実際にOpenPNEのユーザーがOpenPNEで発行されたURLでコメントが投稿できるか動作確認してみましょう。まずコメントしたいブログ記事のページにいきます。
     687  実際にSNSのユーザーがSNSで発行されたURLでコメントが投稿できるか動作確認してみましょう。まずコメントしたいブログ記事のページにいきます。
    743688 
    744689  [[Image(http://ookura.pne.jp/images/wordpress/3_action_check/1-1.jpg, 700)]]
     
    748693  [[Image(http://ookura.pne.jp/images/wordpress/3_action_check/1-2.jpg)]]
    749694 
    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]]
    759698  OpenIDで投稿したコメントには名前の横にOpenIDのロゴが表示されます。
    760699 
     
    764703  2. WordPressにブログの記事を投稿する
    765704 
    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]]
    771710 
    772711  まず管理者のアカウントで管理ページにログインします。[[BR]]
    773   ユーザータブをクリックすると、ユーザの一覧が表示されます。[[BR]]
     712  ユーザータブをクリックすると、ユーザの一覧が表示されます。[[BR]]
    774713 
    775714  [[Image(http://ookura.pne.jp/images/wordpress/3_action_check/2-1.jpg, 700)]]
    776715 
    777   ここで、権限レベルを変更したいユーザーにチェックを入れて、「選択したユーザーの更新」にある権限レベルを指定しましょう。今回はユーザーの権限レベルを「作成者」 にします。
     716  ここで、権限レベルを変更したいユーザにチェックを入れて、「選択したユーザーの更新」にある権限レベルを指定しましょう。今回はユーザの権限レベルを「作成者」 にします。
    778717 
    779718  「一括更新」のボタンをクリックしてユーザーの権限レベルの変更します。[[BR]]
    780   これで、権限の変更は完了しました。
     719  以上で、権限レベルの変更は完了しました。
    781720 
    782721 
    783722  次に、ユーザーの権限レベルが「作成者」になっているか確かめます。[[BR]]
    784   ※管理者のアカウントで管理画面にログインしている場合は一旦ログアウトしてください。
     723  この時、管理者のアカウントで管理画面にログインしている場合は一度ログアウトしてください。
    785724 
    786725  ログイン画面でOpenID入力フォームに、権限レベルを変更したユーザーのOpenIDを入力してログインしてみましょう。すると、「ダッシュボード」や「作成」などの作成者に必要なタブが現れてブログが投稿できるようになります。
    787726 
    788   管理者のアカウントには表示される「プラグイン」 や「リンク」 などのタブが、作成者権限のユーザーには無いはずです
     727  管理者のアカウントには表示される「プラグイン」 や「リンク」 などのタブが、作成者権限のユーザーには表示されません
    789728 
    790729  [[Image(http://ookura.pne.jp/images/wordpress/3_action_check/2-2.jpg, 700)]]
     
    798737 Drupalとは、個人のブログから企業のサイトまで幅広く利用することができるCMS(Content Management System)です。様々なモジュールをアプリケーションに追加することによって、掲示板など様々なコンテンツを提供できることができます。
    799738 
    800  OpenPNEは比較的クローズなコミュニティサイトとして運営していくことが多いと思われますが、外部にも情報を発信したいという場合もあると思います。
     739 OpenPNEは比較的クローズなコミュニティサイトとして運営していくことが多いと思われますが、外部にも情報を発信したいという場合もあます。
    801740 そこで、Drupalを用いて、SNS内の外部向けのサイトを設置することで、既に運営されているSNSのコンセプトを非会員の人にも、より理解してもらえると同時に、更なる会員の増加が期待できます。WordPressでも同様のことは出来ますが、DrupalはWordPress以上にユーザーの権限レベルを詳細に設定できるという特徴があります。
    802741 
    803  前提条件としてDrupal、OpenPNEがインストールされているものとします。DrupalのバージョンはOpenIDに標準対応しているDrupal6.0を使用しています。
     742 前提条件としてDrupal、OpenPNEがインストールされているものとします。
    804743 なお、ここではWordPress自体のインストール方法や詳細については解説していません。
    805744 それについての詳細はWordPressのドキュメントもしくはWebサイトを参照してください
     
    834773 
    835774 
    836   これでひとまず設定は完了しました。一旦ログアウトし、OpenIDでログインができるかを確認してみましょう。
     775  以上で設定は完了しました。一旦ログアウトし、OpenIDでログインができるかを確認してみましょう。
    837776  ログイン画面で 「Log in using OpenID」 をクリックするとOpenID入力フォームが出てくるので、OpenIDを入力して、ログインしてみましょう。
    838777 
     
    840779 
    841780  ちなみに、初回ログイン時にDrupalにSNSのニックネームが登録されます。
    842   つまり、SNSでニックネームを変更した場合Drupalと同期できないので、変更したい場合はDrupalで設定する必要があります。
     781  つまり、SNSでニックネームを変更した場合Drupalと同期することができないので、変更したい場合はDrupalで設定する必要があります。
    843782 
    844783  ==== OpenIDでログインするSNSユーザーの権限を設定 ====
     
    846785  初期設定では、コメントなどの投稿権限は許可されていますが、サイトの管理まではできません。そこで、今回はOpenIDでログインしたSNSユーザーにサイトの管理権限を付与してみましょう。
    847786 
    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」ボタンをクリックします。
    850789 
    851790  今回はサイトのレイアウトが編集できる権限設定を作ります。「OpenID - Designer」というグループ名で登録しましょう。
     
    866805  「Administer」 → 「User management」 → 「Users」に、Drupalに登録された全てのユーザーが表示されます。Rolesの列に何も表記のないユーザーは初期グループの「authenticated user」に属しています。[[BR]]
    867806 
    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  以上で設定は完了です。次に動作確認に移ります。一旦管理者アカウントからログアウトしておきましょう。
    870809 
    871810  ==== 動作確認 ====
     
    881820  Drupalに表示されるコンテンツの構成を変更します。「Administer」→「Site building」→「Blocks」から変更ができます。
    882821 
    883   ここでの変更は特に指定をしないので、好きなように変更をしてみましょう。
    884  
    885822  [[Image(http://ookura.pne.jp/images/drupal/check_system/2-1.jpg, 700)]]
    886823 
    887824  変更を施したらホームに戻って確認して、作業は完了です。
    888825 
    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)]]