Time Machine バックアップから Xoops サイトを復旧

Mac Pro が故障して以来,その中に設置されていた Xoops Cube Legacy ページがダウンしていたが,故障の直前に取っていた Time Machine バックアップから復旧することができた.その方法をメモしておく.

予備条件

  • ホームページを公開するドメインをもらっている.以下このドメインを http://url/sitename とする.
  • Apache サーバが動いている.
  • MySQL サーバも動いている.MySQL ユーザ名は root であるとする.

手順

  1. MySQL データを復旧
  2. Xoops サイトをアップロード
  3. パーミッションを設定

MySQL データの復旧

ターミナルを立ち上げて

$ defaults write com.apple.finder AppleFinderShowAllFiles true
$ killall Finder

と打ち込んで不可視ファイルが表示されるようにしておく.

バックアップのあるTime Capsuleにアクセスする.バックアップは macの名前.sparsebundle に入っているのでそれをダブルクリック,latest の中に最新のバックアップが入っている.MySQL データはその中の

Macintosh_HD/usr/local/mysql/data

にあるので,そこから Xoops Cube Legacy サイトのデータベース (ここでは xcl_db とする) をデスクトップにドラッグドロップしてコピーする.

システム環境設定その他 MySQLを開いて MySQL サーバを停止する.

MySQL サーバを停止

ホームページを設置する mac の

Macintosh_HD/usr/local/mysql/data

xcl_db フォルダをドラッグドロップする.管理者パスワードを求められたら入力する.

ターミナルで上記フォルダに移動して中のファイルのパーミッションを見る:

$ cd /usr/local/mysql/data
$ ls -l
total ?????
-rw-rw----     1 _mysql  wheel   5242880  4  7 10:43 ib_logfile0
-rw-rw----     1 _mysql  wheel   5242880  4  7 10:43 ib_logfile1
-rw-rw----     1 _mysql  wheel  27262976  4  7 10:03 ibdata1

<中略>

drwx------  1110 ユーザ名 staff     37740  4  4 10:54 xcl_db

付け加えたファイルはたいてい上のようにオーナーが管理者でユーザーグループが staff などになっているので,これをオーナー mysql, ユーザーグループ wheel に変更:

$ chown -R mysql:wheel xcl_db
$ ls -l
$ cd /usr/local/mysql/data
$ ls -l
total ?????
-rw-rw----     1 _mysql  wheel   5242880  4  7 10:43 ib_logfile0
-rw-rw----     1 _mysql  wheel   5242880  4  7 10:43 ib_logfile1
-rw-rw----     1 _mysql  wheel  27262976  4  7 10:03 ibdata1

<中略>

drwx------  1110 _mysql wheel   37740  4  4 10:54 xcl_db

次いでシステム環境設定の MySQL コントロールパネルで MySQL データベースを再起動.

MySQL サーバを再稼働

ターミナルから MySQL にアクセスする.

$ export PATH=$PATH:/usr/local/mysql/bin
$ mysql -u root -p
Enter password:

ユーザ root のパスワードを入れて MySQL に入る:

Welcome to the MySQL monitor.  Commands end with ; or ¥g.
Your MySQL connection id is 43
Server version: 5.5.21 MySQL Community Server (GPL)

Copyright (c) 2000, 2011, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '¥h' for help. Type '¥c' to clear the current input statement.

mysql>

データベースのリストを表示:

mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
| phpmyadmin         |
| xcl_db                   |
+--------------------+
5 rows in set (0.00 sec)

データベース xcl_db が表示される.xcl_db のテーブルにアクセスできるようにする:

mysql> use xcl_db;
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A

Database changed
mysql>

テーブルを表示してみると:

mysql> show tables;
+---------------------------------------+
| Tables_in_tkyxcl                      |
+---------------------------------------+
| a84e57_altsys_language_constants      |
| a84e57_avatar                         |

<中略>

| f36f86_xoopsnotifications             |
+---------------------------------------+
369 rows in set (0.01 sec)

mysql>

という感じでテーブルもリストアされている.mysql を抜ける.

mysql> exit;
Bye
$

参照したページ:

MySQLと
オープンソースに捧げる毎日:MySQLのバックアップその1

Xoops サイトをアップロード

Time Capsule の先の latest の中,

Macintosh_HD/Library/WebServer

の中にある xoops サイトフォルダ (以下 citename と呼ぶ),xoops_trust_path フォルダ (以下 xp_trust_path と呼ぶ) をそれぞれ mac の

Macintosh_HD/Library/WebServer/Documents
Macintosh_HD/Library/WebServer

にコピーするだけでよい.

ついで

Macintosh_HD/Library/WebServer/mainfile.php

の以下の箇所が正しく記述されているかを確認.35行目あたり

    define('XOOPS_ROOT_PATH', '/Library/WebServer/Documents/sitename');

40行目あたり

    define('XOOPS_TRUST_PATH', '/Library/WebServer/xp_trust_path');

45行目あたり

    define('XOOPS_URL', 'http://url/sitename');

70行目あたり

    define('XOOPS_DB_USER', 'root');

74行目あたり

    define('XOOPS_DB_PASS', 'MySQL の root ユーザのパスワードを入れる');

78行目あたり

    define('XOOPS_DB_NAME', 'xcl_db');

mainfile.php は書き込み不可になっているので変更するときにはアクセス権を書き込み可能にしてから訂正する.

最後に

/Library/WebServer/Documents/konno/cache
/Library/WebServer/Documents/konno/templates_c

の中にあるファイルが悪さをする可能性があるのでこれらの中に入っているファイルをすべて削除する.

パーミッションの設定

Time Machine バックアップではファイルのパーミッションが変更されてしまうらしく,再度設定し直す必要がある.

$ chmod 707 /Library/WebServer/xp_trust_path/cache
$ chmod 777 /Library/WebServer/xp_trust_path/session
$ cd /Library/WebServer/Documents/sitename/
$ chmod 644 mainfile.php
$ chmod 777 cache templates_c uploads

以上で完了.ブラウザから http://url/sitename にアクセスするとホームページが表示されるはず.

参照したページ:

XOOPS Cube Legacyを別サーバーに移動。


広告

コメントを残す

以下に詳細を記入するか、アイコンをクリックしてログインしてください。

WordPress.com ロゴ

WordPress.com アカウントを使ってコメントしています。 ログアウト /  変更 )

Google+ フォト

Google+ アカウントを使ってコメントしています。 ログアウト /  変更 )

Twitter 画像

Twitter アカウントを使ってコメントしています。 ログアウト /  変更 )

Facebook の写真

Facebook アカウントを使ってコメントしています。 ログアウト /  変更 )

%s と連携中