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

Changes between Version 10 and Version 11 of pne-book-7


Ignore:
Timestamp:
Feb 27, 2008, 2:08:59 PM (12 years ago)
Author:
imoto
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • pne-book-7

    v10 v11  
    1818
    1919== MasterPNE ==
    20 MasterPNEとは、OpenPNEのユーザーアカウントを親(Master)として、外部のアプリケーションを連携させる方法です。[[BR]] MasterPNEに対応するには、OpenPNE本体ではなく、外部システム側がMasterPNEの提供する認証機構をサポートしている必要があります。[[BR]] ですので、今後OpenPNEでは、より多くの外部システムと連動するため、複数の認証プロトコルをサポートしていく予定です。
     20MasterPNEとは、OpenPNEのユーザーアカウントを親(Master)として、外部のアプリケーションを連携させる方法です。[[BR]]
     21MasterPNEに対応するには、OpenPNE本体ではなく、外部システム側がMasterPNEの提供する認証機構をサポートしている必要があります。[[BR]] ですので、今後OpenPNEでは、より多くの外部システムと連動するため、複数の認証プロトコルをサポートしていく予定です。
    2122
    2223=== OpenPNE X Trac ===
    23 OpenPNE × Trac (前提条件)OpenPNE、Trac(dagのyumインストール)のインストール
    24 
    25 1.mod_auth_mysqlの導入[[BR]] 2.httpd.confの修正[[BR]] 3.動作確認
    26 
    27 1.mod_auth_mysqlの導入[[BR]] mod_auth_mysqlはApacheの通常のファイルベースのベーシック認証をMySQLベースに置き換える仕組みです。[[BR]] インストール
    28 
    29 {{{
     24
     25OpenPNEとTracをMasterPNEで連携することで、SNSのユーザーだけTracにログインできるということが容易に可能になります。[[BR]]
     26現在、OpenPNEの公式SNSと公式TracはこのMasterPNEで動いています。[[BR]]
     27OpenPNE公式SNS内の「プロフィール変更」の欄に「TRACログインID」というTracのログインIDを入力する欄を設け、このTRACログインIDとOpenPNE公式SNSのパスワードでOpenPNEのTracにログイン出来る様になります。
     28
     29前提条件としてOpenPNE、Trac(dagのyumインストール)がインストールされているものとします。
     30
     31
     32 ==== 導入手順 ====
     33 1.mod_auth_mysqlの導入[[BR]]
     34 2.httpd.confの修正[[BR]]
     35 3.動作確認
     36
     37 ==== mod_auth_mysqlの導入 ====
     38 まずは、mod_auth_mysqlの導入します。[[BR]]
     39 mod_auth_mysqlとはApacheの通常のファイルベースのベーシック認証をMySQLベースに置き換える仕組みです。[[BR]]
     40 インストールは比較的簡単に出来ると思います。また、最初からサーバにインストールされているいる場合もあるので一度確認してみてください。[[BR]]
     41 
     42 
     43 インストール
     44 {{{
     45
    3046yum install mod_auth_mysql
    31 }}}
    32 ※RedhatEL(CentOS)には標準で搭載されています。
    33 
    34 2.httpd.confの修正
    35 
    36  * SNSのニックネーム・SNSのログインパスワードを、外部認証のID・パスワードとして利用
    37  * http://xxx.openpne.jpのSNSをMasterとして、http://xxx.openpne.jp/trac/のTRACアプリケーションにログインするための設定
    38 
    39 {{{
     47
     48}}}
     49 ※RedhatEL(CentOS)には標準で搭載されています。[[BR]]
     50
     51
     52 ==== httpd.confの修正 ====
     53 次に、httpd.confを修正します。[[BR]]
     54 今回は、SNSのニックネーム・SNSのログインパスワードを、外部認証のID・パスワードとして利用することにします。[[BR]]
     55 また、http://xxx.openpne.jp のSNSをMasterとして、http://xxx.openpne.jp/trac/ のTracアプリケーションにログインするための設定をします。[[BR]]
     56 AuthMySQLUser、AuthMySQLPassword、AuthMySQLDBは適宜読み替えてください。[[BR]]
     57 
     58 AuthMySQLNameFieldでログインID用のフィールドを指定してください。今回はSNSのニックネームを使用するのでnicknameとしています。[[BR]]
     59 AuthMySQLPasswordFieldでパスワード用のフィールドを指定しています。[[BR]]
     60 
     61
     62 {{{
     63
    4064 <Location /trac/>
    4165 AuthName "OpenPNE"
     
    5276 Require valid-user
    5377</Location>
    54 }}}
    55 ※「AuthMySQLNameField」でID用のフィールドを、「AuthMySQLPasswordField」でパスワード用のフィールドを特定しています。
    56 
    57 Apacheを再起動して設定を有効にします。
    58 
    59 {{{
     78
     79}}}
     80 
     81 httpd.confの修正が終わったら、Apacheを再起動して設定を有効にします。
     82
     83 {{{
    6084# /usr/local/apache/bin/apachectl restart
    6185}}}
    62 3.ログイン 通常通り、SNSのユーザー登録します。[[BR]] 次に、TRAC(認証サイト)に移動しSNSのニックネームとパスワードでログインします。
    63 
    64 {{{
    65 コメント
    66 TracとOpenPNEを連携することで、ソース管理をしている組織にも簡単にSNSを導入できます。
    67 現在、OpenPNEの公式SNSと公式Tracはこのmod_auth_mysqlで動いています。
    68 OpenPNE公式SNS[http://sns.openpne.jp/]
    69 OpenPNE公式Trac[http://trac.openpne.jp/]
    70 }}}
     86
     87
     88 ==== 動作確認 ====
     89 最後に動作確認をしましょう。
     90 
     91 これだけの簡単な設定で、TracとOpenPNEを連携させることが出来ました。[[BR]]
     92 それでは動作確認してみましょう。[[BR]]
     93 通常通り、SNSのユーザー登録します。[[BR]]
     94 次に、Trac(認証サイト)に移動しSNSのニックネームとパスワードでログインします。
     95 
     96 無事ログイン出来たら、OpenPNEとTracでMasterPNEを使って連携することが出来ました。
     97
     98{{{
     99OpenPNE.jp ~OpenPNE公式SNS~
     100http://sns.openpne.jp
     101
     102OpenPNE Trac
     103http://trac.openpne.jp
     104}}}
     105
    71106
    72107== SlavePNE ==
    73 SlavePNEとは、他のシステムのアカウントを親、OpenPNEを子(Slave)として連携させる方法です。
     108SlavePNEとは、他のシステムのアカウントを親、OpenPNEを子(Slave)として連携させる方法です。OpenPNEでは現在認証系の外部ライブラリにPEARライブラリのAuth_Containerを使っています。このSlavePNEはAuth_Containerを使っています。
     109
     110
    74111
    75112=== XOOPS X OpenPNE ===
    76 OpenPNEの外部認証としてXOOPSを利用する
    77 
    78 手順[[BR]] (前提条件)[[BR]] XOOPS、OpenPNEのインストール[[BR]]
    79 
    80 1.OpenPNEのconfig.php内のIS_SLAVEPNE、オプションを設定[[BR]] 2.OpenPNEのconfig.php内のsession_save_pathを設定[[BR]] 3.XOOPSのユーザIDとパスワードでOpenPNEにログインする
    81 
    82 1.OpenPNEのconfig.php内のIS_SLAVEPNE、オプションを設定[[BR]] IS_SLAVEPNEをtrueにする。[[BR]] オプションの設定をする。[[BR]] username,password,hostspec,databaseはxoopsのDB設定と同一にする。[[BR]] xoopsのDBを参照し、table,usernamecol,passwordcolを設定。[[BR]] 最後に、cryptTypeをmd5に設定。(XOOPSはmd5を使用しているため)[[BR]] これでひとまず、XOOPSのユーザIDとパスワードでOpenPNEにログインすることができます。
     113
     114OpenPNEの外部認証としてXOOPSを利用していきます。[[BR]]
     115XOOPSとOpenPNEを連携することで、現在XOOPSのコミュニティを運営しているが新しくSNSの機能を追加したいという場合でも、簡単に同じアカウントでログインすることが出来ます。[[BR]]
     116XOOPSは多くのモジュールが提供されているので、OpenPNEだけでは足りない機能をXOOPSで補うことも出来るかもしれません。[[BR]]
     117
     118前提条件としてXOOPS、OpenPNEがインストールされているものとします。
     119
     120
     121 ==== 導入手順 ====
     122 1.config.phpのIS_SLAVEPNE、authオプションを設定[[BR]]
     123 2.動作確認
     124
     125 ==== config.phpのIS_SLAVEPNE、authオプションを設定 ====
     126 まず、OpenPNEのrootディレクトリにあるconfig.phpのIS_SLAVEPNEとauthオプションを設定します。[[BR]]
     127 IS_SLAVEPNEをtrueにします。[[BR]]
     128 次に、authオプションの設定をします。[[BR]]
     129 username,password,hostspec,databaseはxoopsのDB設定と同一にします。[[BR]]
     130 xoopsのDBを参照し、table,usernamecol,passwordcolを設定します。[[BR]]
     131 最後に、cryptTypeをmd5に設定します。これはXOOPSがmd5を使用しているためこの設定をしないとログインすることが出来ません。[[BR]]
     132 これだけの簡単な設定で、XOOPSのユーザIDとパスワードでOpenPNEにログインすることが出来ます。
    83133
    84134{{{
     
    107157
    108158}}}
    109 2.OpenPNEのconfig.php内のsession_save_pathを設定[[BR]] 上の設定だけでもログインは出来るのですが、このままでは自動ログインが出来ません。[[BR]] そこで、自動ログインするためにッションの設定をします。[[BR]] OpenPNEのconfig.php内のsession_save_pathを設定します。[[BR]] デフォルトではsession_save_pathがコメントアウトされているので、コメントアウトを削除します。
    110 
    111 {{{
    112 ///
    113 // セッション・クッキー設定
    114 ///
    115 
    116 ini_set('session.gc_probability',1);
    117 ini_set('session.gc_divisor',10000);
    118 
    119 ini_set('session.gc_maxlifetime', 432000); // 5 days
    120 //session_save_path('/tmp');
    121 
    122 }}}
    123 3.XOOPSのユーザIDとパスワードでOpenPNEにログインする[[BR]] 通常通りOpenPNEにログインしてください。[[BR]] 新規ユーザの場合は通常のOpenPNE同様プロフィール項目などの登録が必要です。[[BR]] メールアドレスなどはXOOPSと同じにしてしまうと管理が楽でしょう。
    124 
    125 {{{
    126 コメント
    127 XOOPSとOpenPNEを連携することで、現在XOOPSのコミュニティを運営しているが新しくSNSの機能を追加したいという場合でも、簡単に同じアカウントでログインすることが出来る様になります。
    128 XOOPSは多くのモジュールが提供されているので、OpenPNEだけでは物足りない機能をXOOPSで補うことも出来るかもしれません。
    129 
    130 XOOPS公式サイト(英語)[http://www.xoops.org/]
    131 XOOPSCube日本サイト[http://xoopscube.jp/]
    132 }}}
    133 
    134 
    135 === OpenLDAP X OpenPNE ===
    136 OpenPNEの外部認証としてLDAPを利用する[[BR]] LDAPを利用することで、設定次第ではXoopsやZenCartなどのDBを直接、認証システムとして利用出来る様になる。
    137 
    138 手順[[BR]] (前提条件)[[BR]] OpenPNEのインストール、LDAPに対応したアプリケーションのインストール[[BR]]
    139 
    140 1.OpenPNEのconfig.php内のIS_SLAVEPNE、オプションを設定[[BR]] 2.LDAPのidでログインする
    141 
    142 1.OpenPNEのconfig.php内のIS_SLAVEPNE、オプションを設定[[BR]] IS_SLAVEPNEをtrueにして外部認証を許可します。[[BR]] 次に、オプションを設定します。[[BR]] storageにLDAPを選択し、optionsを設定します。[[BR]] 以上で設定は終了。
    143 
    144 {{{
    145 // 外部認証を使用するかどうか
    146 define('IS_SLAVEPNE' , false);
    147 
    148 // IS_SLAVEPNEがtrueの場合のauthオプション
    149 $GLOBALS['_OPENPNE_AUTH_CONFIG'] =
    150 array(
    151     'storage'=>"LDAP",
    152     'options'=>array(
    153         'url' => 'ldap://192.168.0.1',
    154         'basedn' => 'dc=example,dc=com',
    155         'userattr' => 'uid'
    156     ),
    157 
    158 );
    159 
    160 }}}
    161 2.LDAPのidでログインする[[BR]] OpenPNEのemail欄(名前欄)にLDAPのuid、password欄にLDAPのpasswordを入力。[[BR]] そのままOpenPNEのプロフィール項目を記入し、通常通りOpenPNEの登録を完了してください。[[BR]] メール承認後、LDAPのuidとpasswordでログイン出来ます。
    162 
    163 {{{
    164 コメント
    165 社内ではOpenLDAPを使うことが多いかもしれないですが、この様にOpenLDAPとOpenPNEを連携することが出来ます。
    166 同じIDでログインすることが出来るので社内SNSなどSNSの導入も比較的楽に導入出来る様になります。
    167 OpenLDAP[http://www.openldap.org/]
    168 
    169 }}}
     159 
     160
     161 
     162 ==== 動作確認 ====
     163 それでは動作確認をしましょう。
     164 
     165 XOOPSのユーザIDとパスワードでOpenPNEにログインします。[[BR]]
     166 通常通りOpenPNEにログインしてください。[[BR]]
     167 新規ユーザの場合は通常のOpenPNE同様プロフィール項目などの登録が必要です。[[BR]] これで、XOOPSとOpenPNEをSlavePNEで連携させることが出来る様になりました。
     168
     169{{{
     170
     171XOOPS Project
     172http://www.xoops.org/
     173
     174XOOPSCube日本サイト
     175http://xoopscube.jp/
     176
     177}}}
     178
     179
    170180
    171181
    172182=== GoogleApps X OpenPNE ===
    173 手順
    174 
    175 (前提条件)Google Appsへの申し込み、OpenPNEのインストール[[BR]] 1.config.php内のIS_SLAVEPNE、オプションを設定[[BR]] 2.Google Appsのアカウント設定[[BR]] 3.Gmailのアカウント(メールアドレス)とパスワードでOpenPNEにログインする[[BR]]
    176 
    177 1.config.php内のIS_SLAVEPNE、オプションを設定 IS_SLAVEPNEをtrueに設定する。
    178 
    179 optionsのhostをssl://pop.gmail.comに、portを995に設定する。
    180 
    181 {{{
     183それではGoogleAppsとOpenPNEを連携させていきましょう。[[BR]]
     184GoogleAppsにはさまざまな特徴があり、大容量WebメールのGmail、カレンダーの共有が出来るGoogleカレンダー、ワードやエクセルの形式も編集出来るGoogleDocs&Spreadsheetsとさまざまなツールを使うことが出来ます。[[BR]]
     185そのGoogleAppsとOpenPNEを連携して利用することで、一つのアカウントでログインすることができ、社内でのアカウント管理も楽になります。また、この方法で連携したSNSにはGoogleAppsのアカウントを持ったユーザのみログイン可能なので、限定したユーザのみログインできるSNSを作ることが出来ます。[[BR]]
     186小規模の会社であれば、OpenLDAPを使っていない場合がほとんどだと思います。しかし、この様にPOP3でOpenPNEと連携することが出来ます。[[BR]]
     187
     188前提条件としてGoogle Appsへの申し込み、OpenPNEのインストールさているものとします。
     189
     190 ==== 導入手順 ====
     191 1.config.phpのIS_SLAVEPNE、authオプションを設定[[BR]]
     192 2.Google Appsのアカウント設定[[BR]]
     193 3.動作確認[[BR]]
     194
     195
     196 ==== config.phpのIS_SLAVEPNE、authオプションを設定 ====
     197 
     198 まず、OpenPNEのrootディレクトリにあるconfig.phpのIS_SLAVEPNEとauthオプションを設定します。[[BR]]
     199  IS_SLAVEPNEをtrueにします。[[BR]]
     200  authオプションのstorageをPOP3、hostをssl://pop.gmail.comに、portを995に設定します。
     201 
     202 
     203  {{{
    182204
    183205// 外部認証を使用するかどうか
     
    195217
    196218}}}
    197 2.Google Appsのアカウント設定
    198 
    199 OpenPNEにログインしたいアカウント(メールアドレス)で、Google Appsにログインする。
    200 
    201 右上の「設定」から「メール転送とPOP設定」に遷移すると、「POPのダウンロード」設定が、「1.ステータス:POPは無効になっています」となっており、POPが無効になっているので、すぐ下にある「すべてのメールでPOPを有効にする」というラジオボタンを選択し、POPを有効にして変更を保存する。[[BR]] 設定は終了。
    202 
    203 3.Gmailのアカウント(メールアドレス)とパスワードでOpenPNEにログインする[[BR]] OpenPNEにログインする(※この時点で、Google Appsでの認証は通過している)
    204 
    205 「プロフィール入力画面」が表示されるので、入力し登録。
    206 
    207 次に、「メールアドレス登録」が表示されるのでメールアドレスを入力し、メールを送信する(Google Appsのメールアドレスを入力しておくと管理が楽になる)
    208 
    209 上で入力したメールアドレスにSNSから届いたメールを開き、パスワードを入力し、登録を完了させる。(このパスワードはほとんど使うことがないので、Google Appsと同じパスワードを入力しておくと管理が楽になる) [[BR]] これで、すべての登録が完了。
    210 
    211 ※この設定をしたSNSに入ることが出来るのは、Google Appsのアカウントを持ったユーザだけになります。
    212 
    213 
    214 
    215 {{{
    216 コメント
    217 GoogleAppsにはさまざまな特徴があります。
    218 大容量WebメールのGmailや、カレンダーの共有が出来るGoogleカレンダー。また、GoogleDocs&Spreadsheetsも使うことも出来るのでワードやエクセルを修正したいときなどに重宝します。
    219 そのGoogleAppsとOpenPNEを連携して利用することで、一つのアカウントでログインすることができるので、社内でのアカウント管理も楽になります。また、この方法で連携したSNSにはGoogleAppsのアカウントを持ったユーザのみログイン可能なので、限定したユーザのみログインできるSNSを作ることが出来ます。
    220 
    221 GoogleApps[https://www.google.com/a/]
     219
     220
     221 ==== Google Appsのアカウント設定 ====
     222 次に、Google Appsのアカウント設定を行います。この設定を行わないと、ログインできません。
     223
     224 では、まずOpenPNEにログインしたいアカウント(メールアドレス)で、Google Appsにログインします。[[BR]]
     225 右上の「設定」から「メール転送とPOP設定」に遷移すると、「POPのダウンロード」設定が、「1.ステータス:POPは無効になっています」となっており、POPが無効になっているので、すぐ下にある「すべてのメールでPOPを有効にする」というラジオボタンを選択し、POPを有効にして変更を保存します。[[BR]]
     226 
     227 これで設定は終了です。[[BR]]
     228
     229 ==== 動作確認 ====
     230 Google Appsのアカウント(メールアドレス)とパスワードでOpenPNEにログインすします。[[BR]]
     231 OpenPNEにログインした時点で、Google Appsでの認証は通過しています。[[BR]]
     232 
     233 次に、「プロフィール入力画面」が表示されるので、入力し登録を完了します。[[BR]]
     234 
     235 「メールアドレス登録」が表示されるのでメールアドレスを入力し、メールを送信します。この時、Google Appsのメールアドレスを入力しておくと管理が楽になります。
     236 
     237 入力したメールアドレスにSNSから届いたメールを開き、パスワードを入力し、登録を完了させます。[[BR]]
     238 これでログインすることが出来ればGoogle AppsとOpenPNEをSlavePNEで連携させることが出来る様になりました。[[BR]]
     239 
     240 
     241 {{{
     242
     243GoogleApps
     244https://www.google.com/a/
    222245
    223246}}}
     
    226249
    227250=== Geeklog X OpenPNE ===
    228 OpenPNEの外部認証としてGeeklogを利用する
    229 
    230 手順[[BR]] (前提条件)[[BR]] Geeklog、OpenPNEのインストール[[BR]] OpenPNEのWEBサーバからGeeklogのMySQLに接続できること[[BR]]
    231 
    232 1.OpenPNEのconfig.php内のIS_SLAVEPNE、オプションを設定 2.Geeklogのconfig.phpを設定する 3.Geeklogにユーザ登録する 4.OpenPNEへGeeklogに登録したユーザ名とパスワードでログインする
    233 
    234 1.config.php内のIS_SLAVEPNE、オプションを設定
    235 
    236 IS_SLAVEPNEをtrueにして、optionsを設定する。
    237 
    238 {{{
     251それではGeeklogとOpenPNEを連携させていきましょう。[[BR]]
     252Geeklogは拡張性が高い汎用CMSとして普及しており、OpenPNEにはない機能があります。[[BR]]
     253中でも、BlogなどOpenPNEだけでは管理できない機能もGeeklogを使い、ID連携することで非常に管理が楽になる。[[BR]]
     254一つのコミュニティの中で、クローズな所はOpenPNEで、オープンな所はOpenPNEでといったように使い分けることも可能です。[[BR]]
     255
     256前提条件としてGeeklog、OpenPNEがインストールされているものとします。[[BR]]
     257また、OpenPNEのWEBサーバからGeeklogのMySQLに接続できる必要があります。[[BR]]
     258
     259
     260
     261 ==== 導入手順 ====
     262 1.OpenPNEのconfig.phpのIS_SLAVEPNE、authオプションを設定[[BR]]
     263 2.Geeklogのconfig.phpを設定[[BR]]
     264 3.Geeklogにユーザ登録[[BR]]
     265 4.動作確認[[BR]]
     266 
     267 ==== OpenPNEのconfig.phpのIS_SLAVEPNE、authオプションを設定 ====
     268 まず、OpenPNEのrootディレクトリにあるconfig.phpのIS_SLAVEPNEとauthオプションを設定します。[[BR]]
     269 IS_SLAVEPNEをtrueにします。[[BR]]
     270 次に、authオプションの設定をします。[[BR]]
     271 ここではphptypeにmysqlを使用しています。MySQLユーザ名、MySQLパスワード、MySQLパスワード、ホスト名、データベース名は適宜読み替えてください。[[BR]]
     272 tableはgl_usersを使います。usernamecolにはusersを、passwordcolにはpasswdを設定してください。[[BR]]
     273 また、cryptTypeはmd5にしてください。[[BR]]
     274 
     275 これでOpenPNE側の設定は終了です。
     276 
     277 {{{
    239278
    240279// 外部認証を使用するかどうか
     
    261300
    262301}}}
    263 2.Geeklogのconfig.phpを設定する[[BR]] config.php ユーザ名を変更できない設定にする。
     302
     303 
     304 ==== Geeklogのconfig.phpを設定 ====
     305 
     306 次に、Geeklogのconfig.phpを設定します。[[BR]]
     307 config.phpでユーザ名を変更できない設定にします。[[BR]]
    264308
    265309{{{
     
    269313
    270314}}}
    271 3.Geeklogにユーザ登録する[[BR]] 新規登録から、Geeklogにユーザ登録する
    272 
    273 4.OpenPNEへGeeklogに登録したユーザ名とパスワードでログインする
    274 
    275 ※ パスワードの変更はGeeklogでおこなう。[[BR]] ※ メールアドレス変更は、Geeklog、OpnePNEそれぞれでおこなう。
    276 
    277 
    278 デメリット
    279 
    280  1. OpenPNEを招待制にできない。
    281  1. GeekloとOpenPNE、それぞれ個別にユーザ登録が必要。
    282  1. メールアドレスが二重管理になる。
    283  1. ニックネーム(OpenPNE)=ユーザ名(Geeklog)ではないのでわかりにくい
    284 
    285 OpenPNE1[http://wiki.geeklog.jp/index.php/OpenPNE1]
    286 
    287 
    288 {{{
    289 コメント
    290 Geeklogは拡張性が高い汎用CMSとして普及しており、OpenPNEにはない機能がいくつもある。
    291 中でも、BlogなどOpenPNEだけでは管理しにくい部分もGeeklogを使い、ID連携することで非常に管理が楽になる。
    292 一つのコミュニティの中でも、クローズな所はOpenPNEで、オープンな所はOpenPNEでといったように使い分けることも可能だ。
    293 
    294 Geeklog日本公式サイト[http://www.geeklog.jp/]
    295 Geeklog [http://www.geeklog.net/]
    296 }}}
     315 
     316 
     317 ==== Geeklogにユーザ登録 ====
     318 Geeklogにユーザ登録します。[[BR]]
     319 新規登録から、Geeklogにユーザ登録してください。[[BR]]
     320
     321 
     322 ==== 動作確認 ====
     323 OpenPNEへGeeklogに登録したユーザ名とパスワードでログインします。
     324 ログイン出来れば、GeeklogとOpenPNEをSlavePNEで連携させることが出来る様になりました。
     325
     326{{{
     327
     328Geeklog日本公式サイト
     329http://www.geeklog.jp
     330
     331Geeklog
     332http://www.geeklog.net
     333
     334}}}
     335
     336
     337=== OpenLDAP X OpenPNE ===
     338
     339OpenPNEの外部認証としてLDAPを利用する方法を見ていきましょう。[[BR]]
     340社内のシステムでOpenLDAPを使うことも多いと思います。[[BR]]
     341その様な時にOpenLDAPとOpenPNEを連携することが出来れば同じIDでログインすることが出来るので社内SNSなどSNSの導入も比較的楽に導入出来る様になります。[[BR]]
     342
     343前提条件としてLDAPに対応したアプリケーション、OpenPNEがインストールされているものとします。[[BR]]
     344
     345
     346 ==== 導入手順 ====
     347 1.config.phpのIS_SLAVEPNE、authオプションを設定[[BR]]
     348 2.config.phpのsession_save_pathを設定[[BR]]
     349 3.動作確認
     350
     351
     352 ==== config.phpのIS_SLAVEPNE、authオプションを設定 ====
     353 まず、OpenPNEのrootディレクトリにあるconfig.phpのIS_SLAVEPNEとauthオプションを設定します。[[BR]]
     354 IS_SLAVEPNEをtrueにします。[[BR]]
     355 次に、authオプションの設定をします。[[BR]]
     356 storageにLDAPを選択し、authオプションを設定します。[[BR]]
     357 下に設定の一例を挙げています。
     358 
     359
     360{{{
     361// 外部認証を使用するかどうか
     362define('IS_SLAVEPNE' , false);
     363
     364// IS_SLAVEPNEがtrueの場合のauthオプション
     365$GLOBALS['_OPENPNE_AUTH_CONFIG'] =
     366array(
     367    'storage'=>"LDAP",
     368    'options'=>array(
     369        'url' => 'ldap://192.168.0.1',
     370        'basedn' => 'dc=example,dc=com',
     371        'userattr' => 'uid'
     372    ),
     373
     374);
     375
     376}}}
     377
     378
     379 ==== 動作確認 ====
     380 それでは動作確認をしましょう。
     381 
     382 LDAPのuidとpasswordでOpenPNEにログインします。[[BR]]
     383 新規ユーザの場合は通常のOpenPNE同様プロフィール項目などの登録が必要です。[[BR]  メール承認後、LDAPのuidとpasswordでログイン出来ます。
     384 
     385
     386
     387{{{
     388
     389OpenLDAP
     390http://www.openldap.org
     391
     392}}}
     393
     394
     395
     396
     397
     398
     399 === コラム 自動ログイン設定 ===
     400 SlavePNEを使うときに、自動ログイン設定が出来ないということがあります。
     401 自動ログイン設定を使う場合にはOpenPNE側で設定が必要です。
     402 
     403  ==== config.phpのsession_save_pathを設定 ====
     404 
     405 OpenPNEのrootディレクトリにあるconfig.php内のsession_save_pathを設定してきます。[[BR]]
     406 自動ログインするためにセッションの設定をします。[[BR]]
     407 
     408 まず、OpenPNEのrootディレクトリにあるconfig.php内のsession_save_pathを設定します。[[BR]]
     409 デフォルトではsession_save_pathがコメントアウトされているので、コメントアウトをはずします。
     410 次に、pathを設定する必要があればpathを環境に応じて設定してください。
     411 このpathはOpenPNEが設置されている絶対アドレスにしてください。
     412 これでセッションが保存されるようになります。
     413 
     414{{{
     415///
     416// セッション・クッキー設定
     417///
     418
     419ini_set('session.gc_probability',1);
     420ini_set('session.gc_divisor',10000);
     421
     422ini_set('session.gc_maxlifetime', 432000); // 5 days
     423session_save_path('/tmp');
     424
     425}}}