渡米生活。(日記)

渡米生活。本家から切り離しました。あまり渡米生活に関係のないプログラムネタや音楽ネタなど。

Wordpressの便利なバックアップ/リストアプラグイン - UpdraftPlus リストア編

以前、「Wordpressの便利なバックアップ/リストアプラグイン - UpdraftPlus」という記事を書いたのですが、本日リストアの方を試してみましたので、その記録です。

リストアの状況として、サーバー引っ越し(A)、またはwordpressクリーンインストール(B)を仮定しています。それぞれの場合の手順に(A)、(B)の記号がついていますので、ご参照下さい。

通常はサーバー引っ越しの方法で殆ど対応できますが、たとえばwpをハックされた、サーバーが死んでバックアップファイルしか残っていない、などの場合は、クリーンインストールを行います。
文字コードが設定した覚えがないのにUTF-7になっていた、などの現象があったら、まず間違いなく既に管理パスワード破られてハックされていますので、危険ですからwordpressクリーンインストールしましょう!

※今回、リストア先はvalueserverを使っています。これは、セーフモードがないサーバなので、特に問題ありませんでしたが、xrea/coreserverではもしかしたら問題が発生するかも知れません。
その際は、一時的に、トップディレクトリの.htaccess

AddHandler application/x-httpd-phpcgi .php

を足して、全てのファイルをcgiモードで動かしてしまえば良いと思います。
どうせ一回だけの作業ですので……
(作業が済んだら、消しておくのを忘れないように!)

最新バックアップをとる。(A、B共通)

※(B)クリーンインストールを行う場合は、wordpress本体及びUpdraftPlusを最新にアップデートするか、バージョンを確かめて同じバージョンのファイルが入手出来ることを確認しておくこと。

旧サーバのwordpressにログイン。プラグインからUpdraftPlusの「設定」をクリックし、「今すぐバックアップ」ボタンを押します。
更に、外部サーバにバックアップファイルを保存する設定にしている人は、その設定をメモ帳にでもコピーしておきます。

(B)クリーンインストールを行う場合は、wp-config.phpもローカルにダウンロードしておきます。

wordpressのアップロード

(A) 旧サーバ上のwordpressディレクトリをまるごと新サーバへコピー

ファイル数が多くて面倒なら、シェルが使えればログインしてtarで固めれば早い。だめなら、仕方がないので、ちまちま1ファイルずつコピーします。

(B) 新サーバへ新しいwordpressファイルをコピー

アップロードが完了したら、展開しておきます。

※エックスサーバへの引っ越しの場合:
ここまでやっておいたら、サーバーパネルから ドメインの「動作確認URL」をクリックして、動作確認URLを追加しておきます。

データベースを作成(A,B共通)

xrea/coreserver/valueserverなら、管理画面の「データベース」から作成可能。このデータベース名及びパスワードは、旧サーバのものと同じでなくても良い。データベースの文字コードを旧サーバのものと揃えておくこと!
エックスサーバの場合はこちらのページを参考にしてください。

wp-config.phpを変更(A,B共通)

wp-config.phpの以下の部分を変更。
(旧サーバと全く同じデータベース名、パスワードの場合は、変更しなくて良い)

/** WordPress のためのデータベース名 */
define('DB_NAME', 'データベース名');

/** MySQL データベースのユーザー名 */
define('DB_USER', 'ユーザー名');

/** MySQL データベースのパスワード */
define('DB_PASSWORD', 'パスワード');

/** MySQL データベースのあるサーバ。通常はlocalhostのままでよい。*/
/** エックスサーバはmysqlXXXX.xserver.jpなどの指定サーバに変更する */
define('DB_HOST', 'localhost');

更に、以下の二行を追加。
これは、サイト引っ越し中に、旧サイトにリダイレクトされてしまうのを一時的に防ぐための設定です。

define('WP_HOME','http://新サーバのドメイン名/wp');
define('WP_SITEURL','http://新サーバのドメイン名/wp');

WP_HOMEは公開アドレス、WP_SITEURLはwordpress本体が置かれているアドレスを書きます。最後の'/'は書かないこと。公開アドレスに'/wp'を含めない設定にしている場合は以下のとおり。

define('WP_HOME','http://新サーバのドメイン名');
define('WP_SITEURL','http://新サーバのドメイン名/wp');

ひとたび引っ越しが完了し、データベースに埋め込まれている全てのドメイン名を新サーバのものに変更するか、独自ドメインを利用しているならDNSを変更して独自ドメインから新サーバへアドレスを向けた後は、コメントアウトします。

引っ越しではなく、同じサーバ上で再インストールを行う場合は、これらの行は書かないこと。

wordpressのインストール(A,B共通)

新サーバのwordpressの管理画面にアクセス。

http://サーバー名/wordpress/wp-admin/

アクセスしたら、ユーザー名とパスワードに、旧サーバのwordpressで一番最初に作成した管理用のユーザー名とパスワードを入力する。多分、こうしないと、idの重複が起きるような…?
データベース読み込み時に「復元」ボタンを押すと、ここで設定したユーザ名は消えて、もとのサイトにあったユーザの情報がコピーされる模様です。なので、adminとか攻撃されやすいユーザ名でなければなんでもOK。

UpdraftPlusのインストー

(A)サーバー引っ越しの場合

この場合は、既にwp-contents/pluginにUpdraftPlusが存在するはずなので、新サーバでwordpressにログインし、プラグインからUpdraftPlusだけを有効化するだけで良い。

(B)クリーンインストールの場合

UpdraftPlusを新規インストールし、有効化しておく。

バックアップファイルのコピー(A,B共通)

UpdraftPlusの設定画面へ行き、

バックアップログ & 復元: 	可能な設定 

となっているところの「可能な設定」をクリック。すると、以下のような設定窓が開く。

ここで、保存先設定を弄っていなかった人は、「新しいバックアップ設定のフォルダを再スキャン」を押す。

一方、別のサーバにバックアップを保存していた人は、「バックアップファイルをアップロード」をクリックし、最初に保存しておいた旧サーバのバックアップファイルをアップロードする。

バックアップファイルのリストア

ファイルのアップロードが済んだら、「復元」ボタンを押す。新しい小ウィンドウが開く。



(A)サーバー引っ越しの場合

「データベース」のみにチェックを入れて、「復元」ボタンを押す。(テーマファイルなどは既にコピーされているはずなので、復元するのはデータベースのみで良い)

(B)クリーンインストール

全てにチェックを入れて、「復元」ボタンを押す。

別のサーバにバックアップを保存していた場合、しばらくすると、「これはリストアではなく、マイグレーションになります」みたいな忠告メッセージが出てくる(こんなの↓)

どのみちデータベースは空なので、もう一度「復元」を押す。
(プラグインが有料のオプションを勧めてくるが、必要ありません)

(B)クリーンインストールの場合、wp-content以下に、xxx-oldという名前のディレクトリやファイルが出来ている。これらは、中身が空であることを確かめて消してしまって良い。
(language-oldのみ空ではないけれど、これはwordpressがインストールしたものなので、再インストールしたwordpressが同じバージョンなら消してしまって問題ない。より新しいバージョンをインストールしてしまった場合は、language-oldの中身をlanguageディレクトリに移動。)

UpdraftPlusの設定(A,B共通)

UpdraftPlusの保存設定を行う。旧サーバは廃止して新サーバに完全移行するのであれば、旧サーバの設定をそのままコピーすれば良い。


以上!

結論を言うと、めちゃくちゃ簡単です!!
お金を払えば複数のサーバにバックアップも出来るようですが、無料版でも十分だと思います。