WARP
3、実サイトのバックアップとローカル環境での動作確認
Windowsでは、実サイトのパーミッション設定等が引き継がれないので、バックアップ先をWindowsマシンにするのは余り良い方法ではないらしいのですが、さりとて、Windows機しか持っていないひとは、やはりそこにバックアップを取っておくべきです。
そして、WARPを使うと、バックアップをとった上で、さらにローカル環境で実サイトのデータを反映して動作確認等をしたり、実サイトの状態そのもののカスタマイズを試すこともできるので、一石二鳥以上の効果があると思います。
ただし、カスタマイズ等を行う場合は、バックアップという意味合いから外れてしまいますので、その際には、別途バックアップをとっておくべきことは言うまでもありません。
(1)実サイトのバックアップ
実サイトをバックアップする方法のひとつとして、FTPソフトを使ってローカルにデータをダウンロードする方法があります。
どこにどうバックアップするかは好みもありますが、どこか余裕のあるドライブ下に backupとかbakなどのフォルダを作成して、そのしたにサイト名(例えば、xoops123)のフォルダを作り、実サイトのデータをダウンロードするのが一般的かと思います。
公開側のフォルダはもちろんxoops_trust_pathのバックアップもお忘れなく。
そして、もうひとつ忘れてはならない作業があります。データベースのバックアップです。
データベースをバックアップするにもいくつか方法があるそうですが、確実かつお奨めの方法がphpMyAdminを使った方法です。
phpMyAdminはWARPにおけるローカル環境でも使いますので、とまどうことなく利用できると思います。(ただし、実サーバでphpMyAdminが使えることが前提ですが)
phpMyAdminを使ったデータベースのバックアップは、データの「エクスポート」を行います。
まず、左カラムにデータベース一覧があるので、該当するものをクリックしてください。(この図は、WARPのものを使っていますが、実サイトでも殆ど同じだと思います。)
ここでは、xcl22というのがxoops用のデータベースなので、xcl22をクリックします。(もちろん、あなたのサイトのxoopsが違う名称のDBなら、当然それを選んでくださいね。)
データベース xcl22のテーブル一覧画面となりました。
ここで「エクスポート」をクリックしてください。
エクスポート画面となります。
初期状態で、全テーブルが選択された状態で、SQLにチェックが入っていると思います。
オプションもデフォルト状態で良いと思います。
下の方にファイル保存の項目がありますが、「ファイルに保存する」にチェックが入っていなかったらチェックしてください。圧縮は「gzip形式」が良いでしょう。
エンコーディングの変換は「non」で結構です。
良かったら、「実行する」ボタンを押してください。ダウンロードのボックスが表示されることでしょう。これを先ほど作成したバックアップフォルダあたりに「保存」してください。
(2)WARPにインポートして動作確認を行う
FTPでのバックアップとデータベースのダウンロードが完了したら、WARPにインポートして動作確認を行ってみましょう。
FTPでバックアップしたデータのうち、公開側のルートをhtml下にコピーします。
このとき、html直下にコピーしても良いのですが、フォルダが煩雑となって後から整理しにくいことから、できればhtml下に専用のフォルダを作成してから、コピーする方がさらに良いでしょう。
また、xoops_trust_pathは、このWARPで利用しているxcl22_trust_pathと同列にコピーしてください。
(けっして、xcl22_trust_pathに上書きしないように)
すると図の様なディレクトリ構造となることでしょう。
hogeフォルダに実サイトの公開側ルートにあるファイルとフォルダ全部をコピー、xoops_trust_pathに実サイトのxoops_trust_path内のファイルとフォルダ全部をコピーします。
次にhogeフォルダにある mainfile.phpを編集して、WARPの環境に合わせます。
できれば、mainfile.phpを編集前に同じフォルダ内でコピーして、mainfile_internet.phpなどの名前にリネームしておくと、バックアップとして有効でしょう。
mainfile.phpで編集する箇所は、ルートパスとトラストパスの設定、XOOPS_URLやデータベース設定です。パス設定は、先ほど作成した各フォルダ名に合わせます。
define('XOOPS_ROOT_PATH', 'W:/home/warp/html/hoge');
define('XOOPS_TRUST_PATH', 'W:/home/warp/xoops_trust_path');
define('XOOPS_URL', 'http://localhost/hoge');
データベースに関する記述で書き替える必要があるのは、次の4カ所です。
define('XOOPS_DB_HOST', 'localhost');
define('XOOPS_DB_USER', 'root');
define('XOOPS_DB_PASS', 'root');
define('XOOPS_DB_NAME', 'hoge');
DB_NAMEは、ローカルにある既存のデータベース名と重複しない限り、任意のもので結構ですが、半角英数を用いて、文字間に空白を設けないでください。
ここでは、データベース名はhogeとしていますが、これは次にphpMyAdminでhogeというデータベースを作成するので、名称を覚えておいてください。
では次に、WARPのphpMyAdminでデータベース作成とインポートを行います。
phpMyAdminの初期画面で新規データベースを作成します。
MySQL localhost欄の新規データベースを作成すると書かれた下のテキストボックスに、先ほどmainfile.phpに設定したデータベース名を入力します。(ここでは、hoge)
その右側にある「照合順序」は、プルダウンから実サイトと同じものを選択してください。
ここでは、utf8_general_ciを選択しています。
「作成」ボタンを押すと、空のデータベースが出来上がります。
次に先ほどエクスポートしてバックアップを取った実サイトのデータベースファイルをインポートしましょう。「インポート」をクリックします。
「インポートするファイル」項目の「参照」ボタンを押して、自パソコン内にある拡張子gzのバックアップファイルを選択します。ファイルの文字セットは、実サイトのエンコードに合わせます。
右下の「実行する」ボタンを押すと、インポートが始まります。
無事にインポートできたら完了です。
さあ、WARPで確認してみましょう。
ブラウザのアドレス欄に http://localhost/hoge と入力して、Enterキーを押すと・・・見慣れた「あなたのサイト」が表示されるはず。
色々なページを表示して動作確認を行いましょう。
大丈夫ですか? 上手く表示されたなら、バックアップと動作確認は完了です。
これで、あなたも万全な体制になりましたね。
あとは、カスタマイズするもよし、日々実サイトをバックアップしてローカルに反映して「ニヤッ」とするもよし・・・安心して運用できることでしょう。
もしも、実サイトが壊れたら・・・ローカルにバックアップしたデータを実サイトに戻すだけ。
やり方はWARPにインポートする時の逆ですが、詳細はもっと詳しいサイトがあると思うのでそちらを見てもらうとして・・・押さえておくポイントは2つ。
Windowsの場合、パーミッションが適切に引き継がれないことは最初の方で説明したとおりですが、Windowsから実サイトにバックアップデータを戻した際に、ディレクトリやファイルについて適切なパーミッション設定とならないので、Xoopsのインストール時と同じように必要とされるディレクトリやファイルのパーミッション設定を行ってください。
また、mainfile.phpをローカル用の設定に変更している場合、実サイト用の設定に変更する、あるいは別途バックアップした実サイト用のmainfile.phpをアップロードしてください。もちろん、その後適切なパーミッション設定とすることもお忘れ無く。