ワタクシが管理しているwebサーバーの1つに
XOOPS 2.0.16a JPで運用しているサーバーがありました
XOOPSは慣れると使いやすいCMSですがあまりアップデートされないので
なんとなく古いままのXOOPSを使い続け、セキュリティー上好ましくない状況のようです
久しぶりに思い立って 古いバージョンのXOOPSを順次アップデートして行くことにしました
とりあえず標題の通り XOOPS 2.0.16a JP を最新のパッケージ XOOPS X(テン)
にアップデートしてみました・・・
XOOPS X は XOOPS Cube Legacy 2.2.2 をベースにしたパッケージで
今までのようにすべてのファイルを集めてきてFTPでアップロード
あるいはxxx.tar.gzをルートディレクトリにいれて展開とかしなくても
setup.cgi とか install.sh を実行できる環境であれば
サーバーの違いが有るにせよ、かなり簡単にセットアップが可能となり
モジュールのアップデートもxupdate を使うと超簡単です
(進化してるんですね)
上書きでのインストールも考えなかった訳ではありませんが
のちのち原因不明のエラーに悩むのがが嫌だったので
新規にXOOPSX を入れて、必要なデータだけを書き戻す事にしました。
使っているサーバーはさくらインターネットのスタンダードコース
新しいデータベースも使うので1つ設定にしたら
MySQLのバージョンが5.1→5.5になってました
他の仕様は変更ないと思います
XOOPS X の総本山? gitHub?https://github.com/XoopsX
インストーラーは https://github.com/XoopsX/installer? にあります
install.cgi か setup.cgi をダウンロードしてXOOPSをインストールするルートディレクトリに
FTPでアップロードしてから、ファイル属性を 700 以上に設定し
ブラウザでインストールしたアドレスにアクセスすれば自動的にファイルを集めてくれて
順にインストールが完了しますが、さくらインターネットは *.cgi へのアクセスが制限されている
ようで、setup.cgi での自動でのインストールは出来ませんでした
次にチャレンジするのは install.sh?同じように ルートディレクトリへアップロードして
属性を777とかして?Poderosa(さくらインターネット推奨のテルネットソフト)で
シェルで gitHub の指定通り
T="../xoops_trust_path";curl xoopsx.github.io/installer/install.sh|sed "s#<T>#$T#"|sh
を実行すると、XOOPS_ROOT_PATH以下はちゃんとファイルが集まりますが
何故かXOOPS_TRUST_PATH へのファイルがコピーされなくて
インストールが完了できません、仕方が無いので?XOOPS_TRUST_PATH のファイル群は手動で
アップロード XOOPS_ROOT_PATH に installディレクトリもいれてブラウザから
アクセスして再度インストールしたら今度はOKでした
悪名高い CORE SERVER では setup.cgi で簡単インストールできます
※その後でエラー吐きますけど(笑
古いバージョンのXOOPSの場合 文字コードがEUCの場合があり
そのままだと上手く新しいXOOPSに取り込めない可能性もありますが
さくらの場合最初にインストールした時(2009年)からUTF-8だったようで
古いデータベースからPHP my Admin でエクスポートしたデータを
新しいデータベースにPHP my Adminでそのままインポートして
同じテーブルデータの中身だけコピーしてやれば文字化けも無くOKでした
XOOPS X でモジュールも全て新しい物を使ったのですが
アクセスカウンターはアップデートされていないので仕方なく使う事にしました
module ディレクトリにアップロードして
互換モジュール→モジュールの管理→モジュールのインストールから
logcounterx をインストールすると TYPE=MyISAM なんちゃらのエラーを吐いて
インストール出来ません・・・
CORE SERVER にインストールしてテストした時には問題無かったのに・・・(?_?)
ネットで調べたら MySQLのバージョンによっては SQLの文面に
TYPE=MyISAM が有るとダメで、ENGINE=MyISAM に変更すれば大丈夫みたいな
書き込みが有ったので早速やってみた
logcounterxのフォルダ内の icx_update.php と mysql.sql.phpにこの記述が有るので
これを全部 ?TYPE=MyISAM ⇒ENGINE=MyISAMに書き換えて再度アップロード
ハイ!問題なくインストール可能でした。
さくらインターネットはPHPのセーフモードはオフなので
他にはなにも設定しなくてもxupdateが動きますから簡単アップデートできます
次のアップデート予定は
XOOPS JPEx 1.7c を XOOPS X にアップデート予定です
これは結構ムズイかも・・・
XOOPS JPEx 1.7c は「Japanese」表示でデータは EUC-JP
XOOPS Xはもちろん全部 UTF-8 を使用します
CORE SERVER の移行実験では既に動いていますので
完全に移行できたらまた細かい点も報告します