PukiWiki 1.4.8_alpha をベースにした Wikiモジュールです。
インストール手順
xpWiki のXOOPSへのインストール
XOOPS 側の準備
- XOOPS_TRUST_PATH の準備
- まずは、XOOPS_TRUST_PATH について理解をしてください。以下の記事が秀逸で参考になると思います。
- XOOPS_ROOT_PATH/mainfile.php にて XOOPS_TRUST_PATH を設定する。設定済みなら、もちろん何もしないでOK。
XOOPS_ROOT_PATH の define 行の下に同じく define で設定してください。
できれば、ドキュメントルートの外に設置できればベストです。
[例]define('XOOPS_TRUST_PATH', '/home/yourhome/xoops_trust');
他モジュールとの依存関係
- ブロックの複製機能を利用したい場合は、altsys モジュールをインストールしてください。
- protector モジュールを使用する場合はできる限り、protector 3.02 以降を使用してください。
- 3.02 未満の場合、ref プラグインで画像を多数張った場合や付箋の移動などで、DoS/crawlerチェックに引っ掛かる可能性があります。(xpWiki 3.55 以降で対応)
xpWiki のインストール
- サーバーへの設置とパーミッション設定
- 簡単インストーラー
xpwiki_installer.cgi を使用する方法
xpwiki_installer.cgi を XOOPS_ROOT_PATH/ へアップロードする
- XOOPS_ROOT_PATH/xpwiki_installer.cgi に実行権限を与える (755など)
- XOOPS_URL/xpwiki_installer.cgi にブラウザでアクセスし、画面の指示に従う。
- アーカイブを解凍してFTPでアップロードする方法
- xpWiki*.zip を解凍する (ダウンロード)
- 必要なファイルをWebサーバーへアップロードする
- html ディレクトリの中身をすべて XOOPS_ROOT_PATH ディレクトリへアップロードする。
- html側のモジュールディレクトリ名'xpwiki'は自由に変えてもOKです。
- xoops_trust_path ディレクトリの中身をすべて XOOPS_TRUST_PATH ディレクトリへアップロードする。
- 携帯対応レンダーをXOOPSに適用する場合で、XOOPS 2.0.16aJPを使用している場合のみ、core_addons/html_2.0.16aJP ディレクトリの中身を XOOPS_ROOT_PATH へアップロードする。
(XOOPS Cube Legacy の場合は、このディレクトリは必要ありません。)
- html ディレクトリの中身をすべて XOOPS_ROOT_PATH ディレクトリへアップロードする。
- XOOPS_TRUST_PATH/cache ディレクトリがなければ作成して、パーミッションを 707 などにして、ファイル作成権限を与える。
- XOOPS_TRUST_PATH/class/hyp_common/favicon/cache ディレクトリのパーミッションを 707 などにして、ファイル作成権限を与える。
- XOOPS_TRUST_PATH/class/hyp_common/ini/http_request.ini.dist は、http通信をする Hyp_HTTP_Request クラスの設定ファイルの雛形です。プロキシ設定などサーバー固有の設定をしたい場合は、ファイル名を "http_request.ini" として設定保存してください。
設定書式は、ini 形式です。 - XOOPS_ROOT_PATH/class/hyp_common/cache ディレクトリのパーミッションを 707 などにして、ファイル作成権限を与える。
- XOOPS_ROOT_PATH/modules/xpwiki/admin/setup.cgi に実行権限を与える(パーミッション 705, 755 etc)
- XOOPS_URL/modules/xpwiki/admin/setup.cgi へブラウザでアクセスする。
- すべてのメッセージが'OK'であればパーミッションの設定は完了しています。
'NG'があった場合や正常にアクセスできない場合*2は、以下を参考にパーミッションの設定を行ってください。 - XOOPS_ROOT_PATH/modules/xpwiki 以下のパーミッションを設定する(例)
attach 707 attach/s 707 private/backup 707 private/cache 707 private/cache/page 707 private/cache/plugin 707 private/counter 707 private/diff 707 private/trackback 707 private/wiki 707
- すべてのメッセージが'OK'であればパーミッションの設定は完了しています。
- 簡単インストーラー
- XOOPSのモジュールインストールを行う
XOOPS Cube Legacy 上での注意点
html/preload ディレクトリに HypCommonPreLoad.class.php が含まれています。これは、HypCommonPreLoad をサイトに適用するファイルです。
HypCommonPreLoad は、デフォルトで、スパム投稿防止フィルターなどの各種フィルターは無効になっています。設定値を変更して運用したい場合は、HypCommonPreLoad のページを参考にサイト運営ポリシーに合わせて、適宜調整してください。
- 注意
HypCommonFunc Ver 20080604 未満では、デフォルトで、すべてのフィルターが有効になっていましたが、Ver 20080604 以降では、すべての機能デフォルトで無効となりました。
以前のバージョンからのアップデートで、HypCommonPreLoad の独自設定を行っていない場合で、引き続き機能を有効にしたい場合は、設定値を変更する必要があります。
設定値の変更方法は、HypCommonPreLoad のページを参照してください。
オリジナル設定の行い方
各種設定
- 各種設定は、ini ディレクトリにある *.ini.php ファイルを編集して行います。
- 各 *.ini.php ファイルの雛形(規定値)は、XOOPS_TRUST_PATH/modules/xpwiki/ini にあります。それらのファイルから必要な部分を切り出して、XOOPS_ROOT_PATH/modules/xpwiki/private/ini ディレクトリ内の同名ファイルに追加記述してください。
プラグイン
xpWiki のプラグインは、クラスオブジェクトになっています。XOOPS_ROOT_PATH/modules/xpwiki/private/plugin に派生クラスを置くことで、各プラグインを上書きすることができます。
派生クラス名は、元のクラス名にインストールディレクトリ名を加えた名称にします。
例えば、amazon プラグインの場合、元のクラス名が xpwiki_plugin_amazon なので、モジュールインストールディレクトリが 'xpwiki' の場合、xpwiki_xpwiki_plugin_amazon になり、モジュールインストールディレクトリが 'mywiki' の場合、xpwiki_mywiki_plugin_amazon となります。
派生プラグインは、自分で書いてもよいですが、既存の xpWiki 用プラグインを変換するツールを用意してあります。
変換ツールは、xpWiki管理画面のプラグイン変換ツールから 'xpWiki Plugin converter from System to User' をお使いください。
各プラグイン内の設定は plugin_NAME_init() 内に記述されていますので、その部分のみ書いておくことで、プラグインのバージョンアップ時にも柔軟に対応できます。
例えば、モジュールディレクトリ名が xpwiki の場合の amazon プラグインで associate ID のみを 'hogehoge-22' に変更したい場合は、次のようになります。
- XOOPS_ROOT_PATH/modules/xpwiki/private/plugin/amazon.inc.php
1 2 3 4 5 6 7 8 9 10 11 12 13 14
class xpwiki_xpwiki_plugin_amazon extends xpwiki_plugin_amazon { function plugin_amazon_init() { parent::plugin_amazon_init(); // Amazon associate ID $this->cont['PLUGIN_AMAZON_AID'] = 'hogehoge-22'; } } ?>
プロキシ設定
外部へ接続する場合に、プロキシ設定が必要であれば、pukiwiki.ini.php に設定項目がありますが、HypCommonFunc Ver. 20080516 以降を利用している場合、実際に外部接続に使う Hyp_HTTP_Request クラスの設定ファイル http_request.ini を設定することで、一元的に設定することができます。
http_request.ini は、XOOPS_TRUST_PATH/class/hyp_common/ini/http_request.ini.dist が雛形となっていますので、そのファイルを編集設定し XOOPS_TRUST_PATH/class/hyp_common/ini/http_request.ini として保存してください。
http_request.ini の書式は、ini 形式となっています。
モジュールの複製
xpWiki は GIJOE氏が提唱している D3(Duplicatable V3) に準拠しています。XOOPS_ROOT_PATH 側に置く xpwiki ディレクトリの名称を好きなように変えて、アップロードすることでいくつでもインストールすることができます。
PukiWiki 用プラグインの取り込み
PukiWiki プラグインを xpWiki プラグインに自動変換することができます。ただし、すべてのプラグインが問題なくできるとは限りません。
変換ツールは、xpWiki管理画面のプラグイン変換ツールから 'Plugin converter from PukiWiki 1.4 to xpWiki' をお使いください。
変換したプラグインは、XOOPS_TRUST_PATH/modules/xpwiki/plugin ディレクトリに置いてください。
上手く変換できなかった場合は、サーバーにアップロードした時点や、プラグインを呼び出した時にPHPの実行が止まって画面が真っ白になることがあります。もし、そのような状態になった時には、サーバーから削除して変換されたプラグインの内容のデバグを行ってください。