ホダ塾をXoopsXにアップグレードしよう!
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へアップグレードするのが最良の選択となるのですが、若干の作業が必要となりますので、少し説明させていただきますね。
1 サイトのバックアップ
まず最初にやるべきことが、現状のサイトのバックアップです。
確かに、バックアップなしでアップグレードすることも可能ですし、殆ど問題なく作業終了できるとは思いますが、「もしも」ということを考えると、バックアップなしで作業するのはとてもリスキーです。バックアップしておくと、もし間違えてしまった場合でも元に戻すことが出来るので、安心ですね。
1.1 サイトを一時閉鎖する
管理画面 > 互換モジュール > 全般設定 > サイトを閉鎖する > はい 「送信」
もし、そのサイトへのデータ書き込みを行うのがあなただけの場合は、閉鎖しなくても良いかもしれません。でも、ユーザーの投稿を許可していたり、コメントを受け付けるようにしている場合は、バックアップしている途中で内容が変わってしまうことも考えられますので、できればサイト閉鎖してバックアップを取った方が良いでしょうね。
サイト閉鎖の理由はデフォルトで良いと思いますが、「いつ頃に再開するのか」などの記述を加えても良いかもしれません。
ちなみに、初期状態では「サイト閉鎖時でもアクセスが認められているグループ」に「サイト管理者」を入れた状態でサイト閉鎖するようにしていますが、この場合、管理者である自分がサイトを表示した時に普通に表示できるので、ついついサイト閉鎖していることを忘れがちですのでお気をつけ下さいね。
この画面は、「管理者以外」に表示されます。「後程」じゃあちょっと・・・「○日午後8時頃に再開予定です。」とか書いた方が親切ですよね?
1.2 ファイルのバックアップ
普段お使いのFTPソフトを使って、サイト(サーバ)にあるファイルを全部バックアップしましょう。知識がある方は、tar.gzとかzip に纏めるのも良いでしょう。私的には、サーバから自分のPCに転送・保存するのがお勧めですね。
バックアップするのは、ディレクトリを丸ごとFTPソフトでコピー(ダウンロード)するのが簡単ですね。必要なのは、次の2つのディレクトリです。
もちろん、ご利用になっているサーバによって構成が違う場合もあります。(というか、違う場合が殆どかも?)
例えば、WEBサイトのルート(公開側)がhtdocじゃなくてpublic_htmlとかwwwという名称になっている場合とか、XOOPSがインストールされているディレクトリの名称がxoopsだったり、サイト直下にXOOPSのhtml側のファイル群があったり、xoops_trust_pathが公開側ではなくその上層にあったり・・・色々です。
でも、結局、必要なのは「公開側のファイル(ディレクトリ)一式」と「xoops_trust_pathディレクトリ一式」ということですね。
1.3 SQLデータのバックアップ
XOOPSはデータベースとしてMySQLを使っていることはご存じですよね?
ということは、バックアップとしてMySQLのデータも必要になることですね。
バックアップは、PHPMyAdminなどを使う方法とProtectorモジュールを利用する方法が主な方法です。簡単なのは後者、Protectorモジュールを利用する方法です。
ここでは、後者の方法でご説明しますね。
管理画面 > Protector > PREFIXマネージャ > ACTIONS > backup または zip , tar.gz
「backup」ボタンを押すと非圧縮のSQLデータを自分のPCにダウンロードすることができます。「zip」「tar.gz」はそれぞれ圧縮されたデータです。
全部ダウンロードしてもそんなに大きな容量ではないので、念のため、全部ダウンロードしておきましょう。
2.1 XoopsXの最新コードをダウンロード
https://github.com/XoopsX/legacy/archive/stable.zip
XoopsXは、GitHub上でファイルが登録管理されており、上記URLは最新の安定版のアーカイブ(圧縮)ファイルです。自分のPCにダウンロード出来たら解凍します。なお、解凍に関しては次のサイトを参考にされると良いでしょう。
2.2 アップグレードに不要なディレクトリとファイルを削除
installディレクトリとmainfile.phpファイルを削除(必要に応じてfavicon.icoも削除)
解凍したら内容を確認しましょう。こんな感じになっていると思います。
この中で使うのは、htmlとxoops_trust_pathです。(一部、extrasの中にあるファイルも使いますが)
このhtmlが公開側なのですが、アップグレードには不要なディレクトリ(フォルダ)とファイルがありますので、削除しましょう。htmlを開いて下さい。
このような感じに沢山のディレクトリ(フォルダ)があると思います。
この中で、installディレクトリとmainfile.phpは不要ですので削除してください。(mainfile.phpはXOOPSの基本設定用のファイルです。もし、ここで削除しておかないと既にサーバ上にある設定済みのファイルを上書きしてしまって、動作出来なくなってしまうので、特に注意が必要です。)
また、独自のfaviconを使っている場合は、favicon.icoも削除しましょう。
「faviconってなに?」っていう方は、残しておいても良いでしょう。(faviconは、ブラウザのアドレス欄の左などに表示される小さなアイコンのことです。)
【重要】XCL2.1からXCL2.2へのアップグレード用ファイルのアップロード
アップグレード用ファイルupgrade22.class.phpをサーバのhtml/preloadディレクトリにアップロードします。
【重要】ディレクトリパーミッションの変更
FTPソフトで、サーバ上の2つのディレクトリのパーミッションを777に変更してください。
xoops_trust_path/templates_c xoops_trust_path/uploads
3.1 ブラウザからアップグレード処理
ブラウザを起動して、あなたのサイトにアクセスします。
profileモジュール等、必須モジュールのインストール画面が表示されますので、画面表示に従ってインストールしてください。
インストール完了したら、管理画面に切り替わると思います。無事、管理画面が表示されたらXCL2.2へのアップグレードは成功です。あとは、トップページを表示させたり、管理画面でいくつかクリックして、正常に動作しているかを確認してみてください。
その後は、まだ必要な作業がありますので、一旦、ブラウザ画面を閉じて下さい。
3.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
Page Info | |
---|---|
Page Name : | XOOPSでWebサイトを作ろう/ホダ塾をXOOPS X にアップグレードしよう! |
Page aliases : | None |
Page owner : | marine |
Can Read | |
Groups : | All visitors |
Users : | All visitors |
Can Edit | |
Groups : | No one |
Users : | No one |
コメント一覧
投稿ツリー
Re: XOOPSでWebサイトを作ろう/ホダ塾をXOOPS X にアップグレードしよう! (ropie, 2014/5/8 10:13)
Re: XOOPSでWebサイトを作ろう/ホダ塾をXOOPS X にアップグレードしよう! (marine, 2014/5/8 21:29)
ホダ塾をXOOPS X にアップグレードしよう!が、うまくいかない (r2-d2.nao-san, 2016/4/4 12:49)
Re: ホダ塾をXOOPS X にアップグレードしよう!が、うまくいかない (marine, 2016/4/6 21:40)
トピック
Re: XOOPSでWebサイトを作ろう/ホダ塾をXOOPS X にアップグレードしよう! (marine, 2014/5/8 10:13)
ホダ塾をXOOPS X にアップグレードしよう!が、うまくいかない (marine, 2016/4/4 12:49)
一点、3.2の
html/preload/upgrade22.class.php (アップグレード用ファイルを削除)
を行うと、Xoopsが真っ白で反応が無くなってしまいました。
※欄通り、extras/utility_tools/legacy22_check.php を使用し、
upgrade22.class.phpを再度元に戻すことで正常に動作しています。
上記以外では問題なくHD -> XにUpgrade完了しました!ありがとうございます!
ropieさん、コメントありがとうございます。
なるほど・・・upgrade22.class.php 削除で真っ白でしたか。
その辺り、色々な状況を確認する必要がありますね。
XOOPSを社内の部門サイトに使わせてもらっています。 上記の手順でひとしきりアップロードし終わったのですが、 3.1で FETAL: open error: site setting config. と表示されて前に進みません。 チェックツールも同じ表示になります。 気になる点は、 ・サイトがWindowsサーバであること ・このサーバが社内のAD配下にあること です。 パーミッションを変更するとして、どうしていいのかちょっと分からず、とりあえず自分のIDで書き込めることと、admin系の他のIDにも同じ更新権限がつけられていることは確認しました(少なくとも参照のみはなし)。 それ以外で確認することがありますか?
mainfile.phpにちゃんとXOOPS_ROOT_PATHの設定がされていないのかもしれませんね。
ご確認くださいませ。
新しくコメントをつける