XoopsX(ズープステン)は、2013年現在最新のXOOPSである XOOPS Cube Legacy 2.2.2をベースに、有用なモジュール等を追加したディストリビューションです。 注)以下、XOOPS Cube LegacyをXCLと表記します。
一方、ホダ塾ディストリビューション(以下「ホダ塾」と略します。)は、XCL2.1系をベースに開発・リリースされたディストリビューションであり、最終バージョンはHD1.04(XCL2.17)でした。(XCL2.1系の最終バージョンはXCL2.18)
ホダ塾は、当時のXOOPS界を代表する方々が、各種有用なモジュールを追加の上、独自技術も追加して構築された素晴らしい機能を有するディストリビューションでしたが、残念ながらXCL本体や同梱モジュールのバージョンが古くなり、セキュリティ面や最新のPHP・MySQLに対応していない等の問題も生じているのが現状なんです。
そこで、ホダ塾から最新のXoopsXへアップグレードするのが最良の選択となるのですが、若干の作業が必要となりますので、少し説明させていただきますね。
まず最初にやるべきことが、現状のサイトのバックアップです。
確かに、バックアップなしでアップグレードすることも可能ですし、殆ど問題なく作業終了できるとは思いますが、「もしも」ということを考えると、バックアップなしで作業するのはとてもリスキーです。バックアップしておくと、もし間違えてしまった場合でも元に戻すことが出来るので、安心ですね。
管理画面 > 互換モジュール > 全般設定 > サイトを閉鎖する > はい 「送信」
もし、そのサイトへのデータ書き込みを行うのがあなただけの場合は、閉鎖しなくても良いかもしれません。でも、ユーザーの投稿を許可していたり、コメントを受け付けるようにしている場合は、バックアップしている途中で内容が変わってしまうことも考えられますので、できればサイト閉鎖してバックアップを取った方が良いでしょうね。
サイト閉鎖の理由はデフォルトで良いと思いますが、「いつ頃に再開するのか」などの記述を加えても良いかもしれません。
ちなみに、初期状態では「サイト閉鎖時でもアクセスが認められているグループ」に「サイト管理者」を入れた状態でサイト閉鎖するようにしていますが、この場合、管理者である自分がサイトを表示した時に普通に表示できるので、ついついサイト閉鎖していることを忘れがちですのでお気をつけ下さいね。
この画面は、「管理者以外」に表示されます。「後程」じゃあちょっと・・・「○日午後8時頃に再開予定です。」とか書いた方が親切ですよね?
普段お使いのFTPソフトを使って、サイト(サーバ)にあるファイルを全部バックアップしましょう。知識がある方は、tar.gzとかzip に纏めるのも良いでしょう。私的には、サーバから自分のPCに転送・保存するのがお勧めですね。
バックアップするのは、ディレクトリを丸ごとFTPソフトでコピー(ダウンロード)するのが簡単ですね。必要なのは、次の2つのディレクトリです。
もちろん、ご利用になっているサーバによって構成が違う場合もあります。(というか、違う場合が殆どかも?)
例えば、WEBサイトのルート(公開側)がhtdocじゃなくてpublic_htmlとかwwwという名称になっている場合とか、XOOPSがインストールされているディレクトリの名称がxoopsだったり、サイト直下にXOOPSのhtml側のファイル群があったり、xoops_trust_pathが公開側ではなくその上層にあったり・・・色々です。
でも、結局、必要なのは「公開側のファイル(ディレクトリ)一式」と「xoops_trust_pathディレクトリ一式」ということですね。
XOOPSはデータベースとしてMySQLを使っていることはご存じですよね?
ということは、バックアップとしてMySQLのデータも必要になることですね。
バックアップは、PHPMyAdminなどを使う方法とProtectorモジュールを利用する方法が主な方法です。簡単なのは後者、Protectorモジュールを利用する方法です。
ここでは、後者の方法でご説明しますね。
管理画面 > Protector > PREFIXマネージャ > ACTIONS > backup または zip , tar.gz
「backup」ボタンを押すと非圧縮のSQLデータを自分のPCにダウンロードすることができます。「zip」「tar.gz」はそれぞれ圧縮されたデータです。
全部ダウンロードしてもそんなに大きな容量ではないので、念のため、全部ダウンロードしておきましょう。
https://github.com/XoopsX/legacy/archive/stable.zip[18]
XoopsXは、GitHub上でファイルが登録管理されており、上記URLは最新の安定版のアーカイブ(圧縮)ファイルです。自分のPCにダウンロード出来たら解凍します。なお、解凍に関しては次のサイトを参考にされると良いでしょう。
installディレクトリとmainfile.phpファイルを削除(必要に応じてfavicon.icoも削除)
解凍したら内容を確認しましょう。こんな感じになっていると思います。
この中で使うのは、htmlとxoops_trust_pathです。(一部、extrasの中にあるファイルも使いますが)
このhtmlが公開側なのですが、アップグレードには不要なディレクトリ(フォルダ)とファイルがありますので、削除しましょう。htmlを開いて下さい。
このような感じに沢山のディレクトリ(フォルダ)があると思います。
この中で、installディレクトリとmainfile.phpは不要ですので削除してください。(mainfile.phpはXOOPSの基本設定用のファイルです。もし、ここで削除しておかないと既にサーバ上にある設定済みのファイルを上書きしてしまって、動作出来なくなってしまうので、特に注意が必要です。)
また、独自のfaviconを使っている場合は、favicon.icoも削除しましょう。
「faviconってなに?」っていう方は、残しておいても良いでしょう。(faviconは、ブラウザのアドレス欄の左などに表示される小さなアイコンのことです。)
アップグレード用ファイルupgrade22.class.phpをサーバのhtml/preloadディレクトリにアップロードします。
FTPソフトで、サーバ上の2つのディレクトリのパーミッションを777に変更してください。
xoops_trust_path/templates_c xoops_trust_path/uploads
ブラウザを起動して、あなたのサイトにアクセスします。
profileモジュール等、必須モジュールのインストール画面が表示されますので、画面表示に従ってインストールしてください。
インストール完了したら、管理画面に切り替わると思います。無事、管理画面が表示されたらXCL2.2へのアップグレードは成功です。あとは、トップページを表示させたり、管理画面でいくつかクリックして、正常に動作しているかを確認してみてください。
その後は、まだ必要な作業がありますので、一旦、ブラウザ画面を閉じて下さい。
無事にサイトの動作確認が出来たら、FTPソフトにて、サーバ上の不要なディレクトリやファイルを削除します。
html/cache (ディレクトリを削除) html/class/smarty/*.lib (smartyディレクトリ内の拡張子 lib のファイル全部) html/class/smarty/*.php (smartyディレクトリ内の拡張子 php のファイル全部) html/class/smarty/*.tpl (smartyディレクトリ内の拡張子 tpl のファイル全部) html/class/smarty/core (ディレクトリを削除) html/class/smarty/plugins/*.php (拡張子 php のファイル全部) html/settings (ディレクトリを削除) html/templates_c (ディレクトリを削除) html/preload/upgrade22.class.php (アップグレード用ファイルを削除) html/themes/admin (ホダ塾の管理画面用テーマディレクトリを削除)
ホダ塾で利用していたプリロードを外す(削除するより、html/preload/disabled/ ディレクトリに移動するのがお勧め)
html/preload/HdServerEnvironment.class.php html/preload/HdXoopsTplHook.class.php html/preload/LegacyRenderAssignMytrustdirname.class.php html/preload/HdFileSession.class.php
管理画面 > 互換モジュール > モジュールの管理
ブラウザであなたのサイトに再度アクセスしてください。
今の状態は、XCL2.2用のモジュールで上書きされているので、管理画面のモジュールの管理にて、モジュールのアップデートを行いましょう。アップデートが必要なモジュールには”New”アイコンが表示されていますので、それを目安にしてください。
アップデート出来ましたか?
では、サイトのトップページや各モジュールのページなどを表示させて、再度確認してみましょう。ちゃんと動作していることが確認できたら、アップグレード完了です。
(This host) = https://xoops123.com