この週末、ドメイン(yaibeen.com)はそのままで別のレンタルサーバへ移転しました。
Nucleusで構築したサイトの移行手順(旧サーバから新サーバへ)をメモします。

概要

  • phpMyAdminは利用しません。
  • 新サーバ(移行先)に別途DBリストア専用のNucleusをインストールします。
  • Nucleus CMS Japanで事前にNucleusインストール用配布ファイルをダウンロードして下さい。
    旧サーバで利用しているNucleusと同一バージョンであることが重要です。当サイトではv3.24を入手しました。

旧サーバ

  • Nucleusインストールディレクトリ『/usr/home/account/public_html/』
  • Nucleus テーブル・プリフィックス『blog_』

新サーバ

  • Nucleusインストールディレクトリ『/home/usr/account/www/blog/』
  • Nucleus テーブル・プリフィックス『blog_』

新サーバ(リストア専用Nucleus)

  • Nucleusインストールディレクトリ『/home/usr/account/www/restore/』
  • Nucleus テーブル・プリフィックス『restore_』

※上記は説明用の擬似環境です。

1.旧サーバでの作業

  • 必要に応じて、サイトを一時的に閉鎖します。これは『サイト管理→グローバル設定』で『他のサイトへのリダイレクト(非常時用)』を『はい』にします。これで管理者以外のアクセスは指定したURLへ転送されます。
  • Nucleus管理画面『DB保存/復元』にて『バックアップを作成』します。私は『圧縮』した状態でバックアップファイルを作成しました。
  • 旧サーバ上のファイルをFTPで全てダウンロードします。

2.新サーバでの作業(事前準備)

  • DB(MySQL)が利用できるように予め準備します。DBホスト名、ユーザ名、パスワード、データベース名等の情報を事前に準備します。
  • 必要に応じて、独自ドメイン、サブドメイン情報を追加します。
    whoisに登録されているネームサーバの設定は、この段階では変更しませんでした。
    新環境での正常動作確認がとれるまではhostsファイルへのIP追加で対処しています。動作確認を行なうPCのhostsファイルへ以下の感じで独自ドメインを追加します。

hosts(windowsの場合、windowsフォルダやwinntフォルダを検索して探して下さい)

???.???.???.???     hogehoge.com

3.新サーバでの作業(リストア専用Nucleusインストール)

  • 新サーバにリストア専用Nucleusディレクトリを作成します。
    ここでは『/restore』を作成したこととします。
  • Nucleus CMS Japanで配布ファイルをダウンロードし、『/restore』ディレクトリへFTPでアップロードします。
  • config.phpの属性を『666』へ変更します。
  • restore/install.phpへアクセスし新規でNucleusをインストールします。
    各種情報を入力し『テーブル・プリフィックス』は『restore_』としてインストールします。
  • insta..sql,install.phpを削除し、config.phpの属性を『444』とします。
  • これでリストア専用Nucleusのインストールは完了です。正常に動作していることを確認して下さい。
  • 正常動作確認後、管理者領域へログインします。『DB保存/復元』から『リストア』を行います。『参照』をクリックし、旧サーバのバックアップファイル(DB)を選択します。『ファイルからリストア』をクリックし、リストア処理が終了するまでしばらく待ちます。

リストア用Nucleusはテーブル・プリフィックスを『restore_』としています。旧サーバでバックアップしたDBはプリフィックス『blog_』となっています。よってプリフィックス『restore_』のテーブルが上書きで消えてしまうことはありません。
これで、新サーバに『リストア専用Nucleusテーブル』と『旧サーバから移行したNucleusテーブル』の2つが同居していることになります。

4.新サーバでの作業(リストア)

  • リストア専用Nucleusとは別にディレクトリを作成します。
    ここでは『/blog』ディレクトリを作成したことにします。
  • 事前に旧サーバからダウンロードしたファイル中のconfig.phpを適切(新環境に合わせて)に編集します。リストア専用Nucleusで生成されたconfig.phpを参考に編集すると楽です。
    編集は$MYSQL_???と$DIR_NUCLEUS,$DIR_MEDIA,$DIR_SKINSだけでOKでした。
    もちろん$MYSQL_PREFIXは『blog_』とします。
  • 旧サーバからFTPでダウンロードしたファイルを全て新サーバ『/blog直下』へアップします。
  • config.phpの属性を『444』へ変更し、mediaディレクトリ以下の属性も適切に設定します。ご利用のプラグインによっては書き込み権限が必要なディレクトリもあります。環境に合わせて適時修正して下さい。私の場合はNP_GraphicTextのキャッシュディレクトリの書き込み権限等を付与しています。
  • /blogへアクセスし、正常動作を確認します。

5.動作確認後の作業

新サーバでの動作に問題がなければwhoisに登録されているネームサーバの設定を変更します。
今回はDNSの浸透に1日強かかりました。

DNS浸透までに注意する点としては

  • DNSリゾルバ・キャッシュをクリアする。コマンドプロンプトで『ipconfig /flushdns』
  • 利用しているルータによってはDNSキャッシュ情報がなかなかクリアされないこともあるらしいので、ルータ再起動も忘れずに。
  • hostsファイルの変更を行なった場合は、DNS浸透後に元の状態に戻す。

私はうっかりルータの再起動を忘れていたために、少し悩みました。
リストア専用のNucleusは初期状態での速度チェックや、プラグインの試用等に使えて結構便利です。
サーバの移転を考えてらっしゃる方の参考になれば幸いです。