ページへ戻る

+ Links

− Comments

 印刷 

ホダ塾をXoopsXにアップグレードしよう! :: xoops123

xpwiki:XOOPSでWebサイトを作ろう/ホダ塾をXOOPS X にアップグレードしよう!

ホダ塾をXoopsXにアップグレードしよう! anchor.png

 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へアップグレードするのが最良の選択となるのですが、若干の作業が必要となりますので、少し説明させていただきますね。

Page Top

アップグレードは3ステップ anchor.png

作業は、大きく分けて3ステップです。

hoda_1.PNG
Page Top

1 サイトのバックアップ anchor.png

 まず最初にやるべきことが、現状のサイトのバックアップです。

hoda_2.PNG

 確かに、バックアップなしでアップグレードすることも可能ですし、殆ど問題なく作業終了できるとは思いますが、「もしも」ということを考えると、バックアップなしで作業するのはとてもリスキーです。バックアップしておくと、もし間違えてしまった場合でも元に戻すことが出来るので、安心ですね。

Page Top

1.1 サイトを一時閉鎖する anchor.png

管理画面 > 互換モジュール > 全般設定 > サイトを閉鎖する > はい 「送信」
hoda_3.PNG

 もし、そのサイトへのデータ書き込みを行うのがあなただけの場合は、閉鎖しなくても良いかもしれません。でも、ユーザーの投稿を許可していたり、コメントを受け付けるようにしている場合は、バックアップしている途中で内容が変わってしまうことも考えられますので、できればサイト閉鎖してバックアップを取った方が良いでしょうね。
 サイト閉鎖の理由はデフォルトで良いと思いますが、「いつ頃に再開するのか」などの記述を加えても良いかもしれません。

 ちなみに、初期状態では「サイト閉鎖時でもアクセスが認められているグループ」に「サイト管理者」を入れた状態でサイト閉鎖するようにしていますが、この場合、管理者である自分がサイトを表示した時に普通に表示できるので、ついついサイト閉鎖していることを忘れがちですのでお気をつけ下さいね。

hoda_image006.png

 この画面は、「管理者以外」に表示されます。「後程」じゃあちょっと・・・「○日午後8時頃に再開予定です。」とか書いた方が親切ですよね?

Page Top

1.2 ファイルのバックアップ anchor.png

 普段お使いのFTPソフトを使って、サイト(サーバ)にあるファイルを全部バックアップしましょう。知識がある方は、tar.gzとかzip に纏めるのも良いでしょう。私的には、サーバから自分のPCに転送・保存するのがお勧めですね。

 バックアップするのは、ディレクトリを丸ごとFTPソフトでコピー(ダウンロード)するのが簡単ですね。必要なのは、次の2つのディレクトリです。

hoda_5.PNG

 もちろん、ご利用になっているサーバによって構成が違う場合もあります。(というか、違う場合が殆どかも?)
 例えば、WEBサイトのルート(公開側)がhtdocじゃなくてpublic_htmlとかwwwという名称になっている場合とか、XOOPSがインストールされているディレクトリの名称がxoopsだったり、サイト直下にXOOPSのhtml側のファイル群があったり、xoops_trust_pathが公開側ではなくその上層にあったり・・・色々です。

hoda_6.PNG
hoda_7.PNG

 でも、結局、必要なのは「公開側のファイル(ディレクトリ)一式」と「xoops_trust_pathディレクトリ一式」ということですね。

Page Top

1.3 SQLデータのバックアップ anchor.png

 XOOPSはデータベースとしてMySQLを使っていることはご存じですよね?
 ということは、バックアップとしてMySQLのデータも必要になることですね。
 バックアップは、PHPMyAdminなどを使う方法とProtectorモジュールを利用する方法が主な方法です。簡単なのは後者、Protectorモジュールを利用する方法です。
 ここでは、後者の方法でご説明しますね。

管理画面 > Protector > PREFIXマネージャ > ACTIONS > backup または zip , tar.gz
hoda_8.PNG

 「backup」ボタンを押すと非圧縮のSQLデータを自分のPCにダウンロードすることができます。「zip」「tar.gz」はそれぞれ圧縮されたデータです。
 全部ダウンロードしてもそんなに大きな容量ではないので、念のため、全部ダウンロードしておきましょう。

Page Top

2 XoopsX関連ファイルの準備とアップロード anchor.png

hoda_9.PNG
Page Top

2.1 XoopsXの最新コードをダウンロード anchor.png

https://github.com/XoopsX/legacy/archive/stable.zip

 XoopsXは、GitHub上でファイルが登録管理されており、上記URLは最新の安定版のアーカイブ(圧縮)ファイルです。自分のPCにダウンロード出来たら解凍します。なお、解凍に関しては次のサイトを参考にされると良いでしょう。

Page Top

2.2 アップグレードに不要なディレクトリとファイルを削除 anchor.png

installディレクトリとmainfile.phpファイルを削除(必要に応じてfavicon.icoも削除)

 解凍したら内容を確認しましょう。こんな感じになっていると思います。

hoda_10.PNG

 この中で使うのは、htmlとxoops_trust_pathです。(一部、extrasの中にあるファイルも使いますが)
 このhtmlが公開側なのですが、アップグレードには不要なディレクトリ(フォルダ)とファイルがありますので、削除しましょう。htmlを開いて下さい。

 このような感じに沢山のディレクトリ(フォルダ)があると思います。
 この中で、installディレクトリとmainfile.phpは不要ですので削除してください。(mainfile.phpはXOOPSの基本設定用のファイルです。もし、ここで削除しておかないと既にサーバ上にある設定済みのファイルを上書きしてしまって、動作出来なくなってしまうので、特に注意が必要です。)

hoda_12.PNG

 また、独自のfaviconを使っている場合は、favicon.icoも削除しましょう。
 「faviconってなに?」っていう方は、残しておいても良いでしょう。(faviconは、ブラウザのアドレス欄の左などに表示される小さなアイコンのことです。)

hoda_11.PNG
Page Top

2.3 FTPでサーバにアップロード anchor.png

 XoopsX関連ファイルの準備が出来たら、FTPを使ってサーバにアップロードしましょう。

hoda_13.PNG
hoda_14.PNG
hoda_15.PNG
Page Top
【重要】XCL2.1からXCL2.2へのアップグレード用ファイルのアップロード anchor.png

アップグレード用ファイルupgrade22.class.phpをサーバのhtml/preloadディレクトリにアップロードします。

hoda_16.PNG
Page Top
【重要】ディレクトリパーミッションの変更 anchor.png

FTPソフトで、サーバ上の2つのディレクトリのパーミッションを777に変更してください。

xoops_trust_path/templates_c
xoops_trust_path/uploads
hoda_17.PNG
Page Top

3 アップグレード実行 anchor.png

hoda_18.PNG
Page Top

3.1 ブラウザからアップグレード処理 anchor.png

 ブラウザを起動して、あなたのサイトにアクセスします。
 profileモジュール等、必須モジュールのインストール画面が表示されますので、画面表示に従ってインストールしてください。
 インストール完了したら、管理画面に切り替わると思います。無事、管理画面が表示されたらXCL2.2へのアップグレードは成功です。あとは、トップページを表示させたり、管理画面でいくつかクリックして、正常に動作しているかを確認してみてください。
 その後は、まだ必要な作業がありますので、一旦、ブラウザ画面を閉じて下さい。

Page Top

3.2 不要なディレクトリ、ファイルの削除 anchor.png

 無事にサイトの動作確認が出来たら、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 Top

3.3 管理画面でモジュールのアップデート anchor.png

管理画面 > 互換モジュール > モジュールの管理

 ブラウザであなたのサイトに再度アクセスしてください。
 今の状態は、XCL2.2用のモジュールで上書きされているので、管理画面のモジュールの管理にて、モジュールのアップデートを行いましょう。アップデートが必要なモジュールには”New”アイコンが表示されていますので、それを目安にしてください。

 アップデート出来ましたか?
 では、サイトのトップページや各モジュールのページなどを表示させて、再度確認してみましょう。ちゃんと動作していることが確認できたら、アップグレード完了です。

Page Top

3.4 サイトを再開する anchor.png

管理画面 > 互換モジュール > 全般設定 > サイトを閉鎖する 「いいえ」「送信」

サイトを閉鎖するを「いいえ」にして「送信」し、サイトを再開しましょう!

hoda_19.PNG
Page Top
※ もし、うまくいかない場合は? anchor.png
hoda_20.PNG

extras/utility_tools/legacy22_check.php を XOOPS_ROOT_PATH (mainfile.phpと同じディレクトリ)に置いて、ブラウザでこのファイルにアクセスしてください。ヒントが表示されるかもしれません。

hoda_21.PNG

コメント一覧

投稿ツリー

トピック


ropie   投稿日時 2014/5/8 10:13

一点、3.2の
html/preload/upgrade22.class.php (アップグレード用ファイルを削除)
を行うと、Xoopsが真っ白で反応が無くなってしまいました。

※欄通り、extras/utility_tools/legacy22_check.php  を使用し、
upgrade22.class.phpを再度元に戻すことで正常に動作しています。

上記以外では問題なくHD -> XにUpgrade完了しました!ありがとうございます!

marine  投稿日時 2014/5/8 21:29

ropieさん、コメントありがとうございます。

なるほど・・・upgrade22.class.php 削除で真っ白でしたか。
その辺り、色々な状況を確認する必要がありますね。

r2-d2.nao-san   投稿日時 2016/4/4 12:49

XOOPSを社内の部門サイトに使わせてもらっています。 上記の手順でひとしきりアップロードし終わったのですが、 3.1で FETAL: open error: site setting config. と表示されて前に進みません。 チェックツールも同じ表示になります。 気になる点は、 ・サイトがWindowsサーバであること ・このサーバが社内のAD配下にあること です。 パーミッションを変更するとして、どうしていいのかちょっと分からず、とりあえず自分のIDで書き込めることと、admin系の他のIDにも同じ更新権限がつけられていることは確認しました(少なくとも参照のみはなし)。 それ以外で確認することがありますか?

marine  投稿日時 2016/4/6 21:40

mainfile.phpにちゃんとXOOPS_ROOT_PATHの設定がされていないのかもしれませんね。
ご確認くださいませ。



新しくコメントをつける

題名
ゲスト名
投稿本文
より詳細なコメント入力フォームへ

Last-modified: 2013-12-04 (水) 14:51:27 (JST) (4036d) by marine