2013年6月28日金曜日

文系ひよこWeb担の気になるネタと備忘録: xoops (XCL)のデータバックアップ方法

文系ひよこWeb担の気になるネタと備忘録: xoops (XCL)のデータバックアップ方法:

2009年03月27日

xoops (XCL)のデータバックアップ方法

xoopsなどCMS系のデータは、従来のhtmlなどと違い記事のデータはデータベースに登録されます。

サーバーによっては、自動インストール機能(Xserverなど)がついているものがあって、非常に簡単にインストール可能です。

しかし、サイトが順調に立ち上がり運営していくなかでどうしてもバックアップの問題がでてきます。

最初は??という感じで、いったいどこにデータがはいっているのか皆目検討が着かないかもしれませんね。

私も公式サイトなどで見てはいたのですが、先日初めてバックアップからリストア(復元)まで行う機会があったので、備忘録として記録しておきます。

1.元のサイトのバックアップを取る。


バックアップするものは2種類。
A:xoopsのフォルダ構造全体
→こちらは、ftpソフトなどでローカルにすべて保存します。xoopsのインストールディレクトリ全部と、xoops_trust_path一式になります。
特にuploadディレクトリや、class、themesなど変更をしていると思うので、丸ごと抜いたほうが確実です。
template_cやcashの中身は削除で。


B:データベース上のデータ。
→難しそうですが、いくつかやり方があります。
モジュールとしてbackpackなどがありますが、私は、protectorモジュールで行いました。

・protectorモジュール管理画面へ行く
・「prefixマネージャー」
・リストの右端の「backup」をクリック
・sqlファイルをダウンロードするように聞かれるので、ローカルに保存。
1.gif
・これで、バックアップ完了。


リストア(復元)の方法

次に復元です。かなり緊張します。
戻らなかったらどうしよう。。。。
移行先では、新規でxoopsのインストールは不要です。
流れとして、ディレクトリ構造をそっくりそのまま移し、データベースにデータテーブルを移行。mainfile.phpの中身を移行先のアドレスに書き換える。という感じ。


1.ファイル群をアップ
バックアップの1.でローカルに落としたファイルたちをその構造のまま、移行先にアップロード。

2.データベースを移行。
扱いなれない人にはちょっとやっかいですが、大丈夫。私にもできました。
A:移行先サーバーに新たにデータベースを作成。サーバーからmysqlを操作するために、phpmyadmin(ほとんどはこれ??)にログイン。
B:左のメニュー(DBリスト)から2.で新規に作成したDBをクリック。(当然なにも入っていない。)
C:右のフレームの上部、【インポート】をクリック

2.gif

D:ファイルアップロードの画面になるので、先ほどローカルに保存した、sqlファイルを選択。下記画像のとおりに設定し、実行。

3.gif

E:左のテーブル一覧が埋まったら完了

3.環境を合わせる(mainfile.php)の設定。

主に下記の部分。

■アドレス関係
// XOOPS Physical Path
// Physical path to your main XOOPS directory WITHOUT trailing slash
// Example: define('XOOPS_ROOT_PATH', '/home/****');
define('XOOPS_ROOT_PATH', '/home/***');

// XOOPS Trusted Path
// This is option. If you need this path, input value. The trusted path
// should be a safety directory which web browsers can't access directly.
define('XOOPS_TRUST_PATH', '/***/xoops_trust_path');

// XOOPS Virtual Path (URL)
// Virtual path to your main XOOPS directory WITHOUT trailing slash
// Example: define('XOOPS_URL', 'http://****.com);
define('XOOPS_URL', 'http://***.com/');


適宜新環境に合わせて修正

■DB関係の確認、、っと
新環境で作ったDBとの整合性があっているか。

// Table Prefix
// This prefix will be added to all new tables created to avoid name conflict in the database. If you are unsure, just use the default 'xoops'.
define('XOOPS_DB_PREFIX', '*****');

// SALT
// This plays a supplementary role to generate secret code and token.
define('XOOPS_SALT', '****');

// Database Hostname
// Hostname of the database server. If you are unsure, 'localhost' works in most cases.
define('XOOPS_DB_HOST', 'localhost');

// Database Username
// Your database user account on the host
define('XOOPS_DB_USER', '*******);

// Database Password
// Password for your database user account
define('XOOPS_DB_PASS', '******');

// Database Name
// The name of database on the host. The installer will attempt to create the database if not exist
define('XOOPS_DB_NAME', '***);


以上で完成。

うまくいかなかったら、まずftpでアップロードしたファイルがキチンと上げられているか確認してみよう。
大量のファイル転送なので、エラーが出ている可能性もあります。
私はこれで3時間つまずいた。。。
このときは、テーマチェンジャーのデータがあがっていなかった。。

メンバーからすべてもとの環境になりました!

ちなみに、私の環境はXserverです。
'via Blog this'

0 件のコメント:

コメントを投稿