(1)フォーラムで聞いてみよう!まず、質問する前にこちらをご覧下さい。わかりやすい解説がいっぱい。うさぎにもできるXOOPS入門!基本的なことからマニアックなネタまで。2.2.2をベースに、有用なモジュール等を追加したディストリビューションです。LegacyをXCLと表記します。ホダ塾ディストリビューション(以下「ホダ塾」と略します。)は、XCL2.1系をベースに開発・リリースされたディストリビューションであり、最終バージョンはHD1.04(XCL2.17)でした。(XCL2.1系の最終バージョンはXCL2.18)ホダ塾は、当時のXOOPS界を代表する方々が、各種有用なモジュールを追加の上、独自技術も追加して構築された素晴らしい機能を有するディストリビューションでしたが、残念ながらXCL本体や同梱モジュールのバージョンが古くなり、セキュリティ面や最新のPHP・MySQLに対応していない等の問題も生じているのが現状なんです。そこで、ホダ塾から最新のXoopsXへアップグレードするのが最良の選択となるのですが、若干の作業が必要となりますので、少し説明させていただきますね。アップグレードは3ステップ作業は、大きく分けて3ステップです。サイトのバックアップまず最初にやるべきことが、現状のサイトのバックアップです。確かに、バックアップなしでアップグレードすることも可能ですし、殆ど問題なく作業終了できるとは思いますが、「もしも」ということを考えると、バックアップなしで作業するのはとてもリスキーです。バックアップしておくと、もし間違えてしまった場合でも元に戻すことが出来るので、安心ですね。「送信」もし、そのサイトへのデータ書き込みを行うのがあなただけの場合は、閉鎖しなくても良いかもしれません。ユーザーの投稿を許可していたり、コメントを受け付けるようにしている場合は、バックアップしている途中で内容が変わってしまうことも考えられますので、できればサイト閉鎖してバックアップを取った方が良いでしょうね。サイト閉鎖の理由はデフォルトで良いと思いますが、「いつ頃に再開するのか」などの記述を加えても良いかもしれません。ちなみに、初期状態では「サイト閉鎖時でもアクセスが認められているグループ」に「サイト管理者」を入れた状態でサイト閉鎖するようにしていますが、この場合、管理者である自分がサイトを表示した時に普通に表示できるので、ついついサイト閉鎖していることを忘れがちですのでお気をつけ下さいね。この画面は、「管理者以外」に表示されます。「後程」じゃあちょっと・・・「○日午後8時頃に再開予定です。ファイルのバックアップ普段お使いのFTPソフトを使って、サイト(サーバ)にあるファイルを全部バックアップしましょう。纏めるのも良いでしょう。私的には、サーバから自分のPCに転送・保存するのがお勧めですね。バックアップするのは、ディレクトリを丸ごとFTPソフトでコピー(ダウンロード)するのが簡単ですね。必要なのは、次の2つのディレクトリです。ご利用になっているサーバによって構成が違う場合もあります。(というか、違う場合が殆どかも?)例えば、WEBサイトのルート(公開側)がhtdocじゃなくてpublic_htmlとかwwwという名称になっている場合とか、XOOPSがインストールされているディレクトリの名称がxoopsだったり、サイト直下にXOOPSのhtml側のファイル群があったり、xoops_trust_pathが公開側ではなくその上層にあったり・・・色々です。結局、必要なのは「公開側のファイル(ディレクトリ)一式」と「xoops_trust_pathディレクトリ一式」ということですね。SQLデータのバックアップXOOPSはデータベースとしてMySQLを使っていることはご存じですよね?ということは、バックアップとしてMySQLのデータも必要になることですね。バックアップは、PHPMyAdminなどを使う方法とProtectorモジュールを利用する方法が主な方法です。簡単なのは後者、Protectorモジュールを利用する方法です。ここでは、後者の方法でご説明しますね。tar.gz「backup」ボタンを押すと非圧縮のSQLデータを自分のPCにダウンロードすることができます。「zip」「tar.gz」はそれぞれ圧縮されたデータです。全部ダウンロードしてもそんなに大きな容量ではないので、念のため、全部ダウンロードしておきましょう。XoopsXの最新コードをダウンロードhttps://github.com/XoopsX/legacy/archive/stable.zipXoopsXは、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は、ブラウザのアドレス欄の左などに表示される小さなアイコンのことです。FTPでサーバにアップロードXoopsX関連ファイルの準備が出来たら、FTPを使ってサーバにアップロードしましょう。【重要】XCL2.1からXCL2.2へのアップグレード用ファイルのアップロードアップグレード用ファイルupgrade22.class.phpをサーバのhtml/preloadディレクトリにアップロードします。【重要】ディレクトリパーミッションの変更FTPソフトで、サーバ上の2つのディレクトリのパーミッションを777に変更してください。ブラウザからアップグレード処理ブラウザを起動して、あなたのサイトにアクセスします。profileモジュール等、必須モジュールのインストール画面が表示されますので、画面表示に従ってインストールしてください。インストール完了したら、管理画面に切り替わると思います。無事、管理画面が表示されたらXCL2.2へのアップグレードは成功です。あとは、トップページを表示させたり、管理画面でいくつかクリックして、正常に動作しているかを確認してみてください。その後は、まだ必要な作業がありますので、一旦、ブラウザ画面を閉じて下さい。無事にサイトの動作確認が出来たら、FTPソフトにて、サーバ上の不要なディレクトリやファイルを削除します。モジュールの管理ブラウザであなたのサイトに再度アクセスしてください。今の状態は、XCL2.2用のモジュールで上書きされているので、管理画面のモジュールの管理にて、モジュールのアップデートを行いましょう。アップデートが必要なモジュールには”New”アイコンが表示されていますので、それを目安にしてください。アップデート出来ましたか?では、サイトのトップページや各モジュールのページなどを表示させて、再度確認してみましょう。動作していることが確認できたら、アップグレード完了です。(mainfile.phpと同じディレクトリ)に置いて、ブラウザでこのファイルにアクセスしてください。ヒントが表示されるかもしれません。(アップグレード用ファイルを削除)を行うと、Xoopsが真っ白で反応が無くなってしまいました。使用し、upgrade22.class.phpを再度元に戻すことで正常に動作しています。21:29ropieさん、コメントありがとうございます。削除で真っ白でしたか。その辺り、色々な状況を確認する必要がありますね。12:49XOOPSを社内の部門サイトに使わせてもらっています。表示されて前に進みません。チェックツールも同じ表示になります。パーミッションを変更するとして、どうしていいのかちょっと分からず、とりあえず自分のIDで書き込めることと、admin系の他のIDにも同じ更新権限がつけられていることは確認しました(少なくとも参照のみはなし)。21:40mainfile.phpにちゃんとXOOPS_ROOT_PATHの設定がされていないのかもしれませんね。