2007年5月17日木曜日

xoops cube2.1へのアップグレード 2.0.16a編

今度は2.0.16aからのアップデート。
cubeへのアップデートは2.0.16aにアップした後にやりましょう。

前回と同じくここをみれば全部かいてある内容です。邦訳もどこかにあります。

1.前準備
・phpは4.3.11以上が必要です。
・xoopsは2.0.16aにアップしましょう。差分が提供されています。
・モジュールの互換性をここで確認しましょう。ただ互換性を気にするとアップデートはできませんけどね。
・システムモジュールが必要な人は最新のシステムモジュールに。ここからダウン。やってみたけどバージョンはあがらず(ファイル比較はしてません・・・)。ちなみにこの時点ではsystemは削除できません。

2.サイトの閉鎖
 全般設定から次の作業をします。
 ・テーマをデフォルトに戻します。
 ・選択可能なテーマを無効にします。
 ・デバッグモードを有効にするでphpデバックを選択します。
 ・サイトを閉鎖するをはい、にします。
 ・PHPのカスタムブロックはこれを解除します。
 ・より安全をもとめるならすべてのブロック表示を解除します。特にシステム。
 ・スタートモジュールの設定も解除します。互換性がないモジュールの場合、システムが動きません。
 ・キャッシュの設定もすべて解除します。cubeではcacheシステムが違います。

3.ファイルの削除と上書きを行います。バックアップをとってからの方が良いです。
 ・mainfile.phpと以下のフォルダを除いて削除します。
* images
* themes
* uploads
* modules
* preload
* XOOPS_TRUST_PATH (あれば)

・D3モジュールを使っているかたは必ず最新版にしておいて下さい。(うちはありませんでした)
・D3forumのコメント統合を利用しているひとは人はhtml/class/smarty/pluginsからphpファイルを3つコピーせよということですが、使ってないのでわかりません。

# rm -R header.php kernel robots.txt user.php image.php language notifications.php search.php userinfo.php admin.php imagemanager.php lostpass.php pmlite.php viewpmsg.php backend.php edituser.php mainfile.dist.php templates_c xoops.css banners.php favicon.ico include readpmsg.php cache footer.php index.php misc.php register.php xmlrpc.php md5_create.php pda.php md5_check.php log sections md5file.dat debugchange.php


追記:
上記rmにはゴミがふくまれてますが気にしないで下さい・・・。

・パッケージにはmainfile.phpが含まれているので、削除してから上書きします。
  (削除しないと、既存の設定が消えてしまいます)
 ・utf環境の場合は言語ファイルをutf-8化する必要があります。
 ・cache template_c uploadsフォルダの属性を確認します。
 ・installフォルダは削除します。

# chmod -R 777 cache templates_c
# chown -R apache.apache .
# rm -R install

4.mainfile.phpにパッチを当てます。

変更前:
if (!isset($xoopsOption['nocommon']) && XOOPS_ROOT_PATH != '') {
include XOOPS_ROOT_PATH."/include/common.php";
}

変更後:
if (!defined('_LEGACY_PREVENT_LOAD_CORE_') && XOOPS_ROOT_PATH != '') {
@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";
}
}

上の3行をコメントアウトして下のを挿入して様子を見ます。

追記:
D3モジュールを利用するのであればtrust_pathの設定が必要
define('XOOPS_TRUST_PATH', '/usr/share/xoops');
をroot_pathのしたあたりに挿入。

プロテクターを利用するなら上のパッチではなく
include XOOPS_TRUST_PATH.'/modules/protector/include/precheck.inc.php' ;
if (!defined('_LEGACY_PREVENT_LOAD_CORE_') && XOOPS_ROOT_PATH != '') {
@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' ;
}
とパッチする必要あり。

5.モジュールインストール画面がでるので追加があれば指定します。
あとはモジュール管理画面ですべてのモジュールのアップデートを行います。

これにて完了。
1で修正したものをもとにもどしてエラーがなければ公開しましょう。(手抜き)




0 件のコメント:

コメントを投稿

フォロワー