【環境】PHPバージョン:5.2.14,MySQLバージョン:5.5.13,legacy:2.1.8a,altsys:0.7,protector:3.4
1つのXOOPSシステム上には同じモジュールを複数インストールできません。Duplicatableモジュールは,この問題を解決してくれます。
D3モジュールをインストールする前に,次の作業が必要です。
(1)XOOPS_TRUST_PATHの設定
①ディレクトリを作成する。
ディレクトリをドキュメント下に作成するのは,セキュリティ上好ましくありません。たとえば,下記のようにドキュメントルートと横並びにするとよいでしょう。
/home/abcd/public_html←ドキュメントルート
/home/abcd/public_html/XOOPS_TRUST_PATH←×
/home/abcd/XOOPS_TRUST_PATH←○
②mainfile.phpに追記
39行目あたりに下記のように記述します。
define(‘XOOPS_TRUST_PATH’, ‘/home/abcd/XOOPS_TRUST_PATH‘);
mainfile.phpは通常「読み取り専用」に設定されているので,サーバー上のmainfile.phpのパーミッションを,たとえば444から644に変更してからアップロード上書きします。アップロード後は,また読み取り専用に戻します。
(2)ALTSYSモジュールをインストール
インストールのみでよいです。
(3)Protecterモジュールのインストール
この操作は必須ではありませんが,セキュリティ性を向上させるためにインストールすることをお勧めします。
Protecterのチェックを有効にするためには,mainfile.phpを編集する必要があります。
ファイルの下方に書かれている記述に,以下の赤字部分を追記します。
*****************************************************
if (!defined(‘_LEGACY_PREVENT_LOAD_CORE_’) && XOOPS_ROOT_PATH != ”) {
include XOOPS_TRUST_PATH.’/modules/protector/include/precheck.inc.php’ ;
@include_once XOOPS_ROOT_PATH.’/include/cubecore_init.php';
if (!isset($xoopsOption[‘nocommon’]) && !defined(‘_LEGACY_PREVENT_EXEC_COMMON_’)) {
include XOOPS_ROOT_PATH.’/include/common.php';
}
include XOOPS_TRUST_PATH.’/modules/protector/include/postcheck.inc.php’ ;
}
*****************************************************
MySQLバージョン5で,モジュールのインストールができないときは,XOOPS_TRUST_PATH内に置くディレクトリの中から「mysql.sql」ファイルを探し,「TYPE=MyISAM;」を「ENGINE=MyISAM;」に修正するとインストールできるようになります。