現在テーマ変更中です

BackWPupを使ってWordPressを引っ越しさせる方法

WordPressのプラグインの一つである「BackWPup」でバックアップしたデータを使って別のサーバに引っ越しさせる時の手順です。

単純に復元する際もだいたい同じですので参考にしてください。

ちなみにバックアップを取る方法はこちら↓

BackWPupと自宅FTPサーバでWordPressをバックアップする方法
AWSを使ってるけどバックアップしようと思います。 よくあるバックアップをとろう!的な記事では、せっかく頑張って作った記事が消失するかもしれないからやっておこうね、と言うのが多いと思います。 記事データ自体が消えることはほぼ無いです。まぁ、某ゲームがやらかしたから不安に思われる方もいると思いますが。 どちらかと言うとWordPress自体に何か新しい事をしよう...

 

 

リンク先の記事だと週1バックアップの為に重要ではないファイルはバックアップしないように設定していますので、引っ越し用にJOBを作成して全部まとめてダウンロードしておきましょう。

 

手順

  1. ファイルを新サーバへアップロードする
  2. SQLをインポートする

以上です。

注意点はFFFTPが使えない事、phpMyAdminがデフォルトでは使えないことです。

AWSのインスタンスに接続するにはキーペアが必要なのでFTPソフトは「Filezilla」を使いました。

 

1.ファイルを新サーバへアップロードする

FTPソフト「Filezilla」の準備

まず「Filezilla」をインストールします。「https://osdn.jp/projects/filezilla/」からダウンロードしてインストールしてください。

起動するとこんな感じです。まずはキーペアを登録します。編集→設定をクリックする。

スクリーンショット_2016-08-06_18_58_50.png
SFTPをクリックし、「鍵ファイルを追加」をクリックすると選択画面になるのでインスタンスに対応するPPKファイル(PEMを変換したファイル)を選択してください。

ちなみにPEMファイルを選択することもでき、Filezillaが変換してくれます。

スクリーンショット_2016-08-06_18_59_26.png

行が追加されたら成功です。

スクリーンショット_2016-08-06_18_59_01.png

 

これで接続できるので、画面左上にあるサーバっぽい絵をクリックする。

スクリーンショット_2016-08-06_18_59_52.png

 

まず左下の「新しいサイト」をクリックする。

「自分のサイト」の下に新規サイトが追加されるので任意の名前を入力する。

「ホスト」は接続するインスタンスのパブリックDNSを入力する。

「ユーザ」は「nginx」と入力する。

「プロトコル」と「ログオンの種類」は一見クリックできなさそうですが普通にできるので、プロトコルは「SFTP」、ログオンの種類は「パスワードを尋ねる」に変更する。

最後に「接続」をクリックする。

スクリーンショット_2016-08-06_19_00_09.png

するとパスワード入力画面になるので入力せずに「OK」をクリックする。

スクリーンショット_2016-08-06_19_00_15.png

次に物騒なメッセージが表示されますが、パブリックDNSを確認したら「OK」をクリックする。

スクリーンショット_2016-08-06_19_00_20.png

これでようやく接続できました。右側がインスタンスの中身です。「vhosts」フォルダになってなければ「/var/www/vhosts」に移動しましょう。

スクリーンショット_2016-08-06_19_01_33.png

 

ローカルからファイルをアップロードする

BackWPupでできた圧縮ファイルを解凍し、アップロードします。

アップロードする場所はwp-setupした場合であれば「wp-setup hoge」のhogeと言うフォルダができているので/var/www/vhosts/hogeと移動してください。

うちの場合は「www.shimayu.net」というフォルダができていますので/var/www/vhosts/www.shimayu.netに移動します。

基本的には解凍したファイル全部をアップロードしますが、

  • backwpup_readme.txt
  • manifest.json
  • プラグイン一覧のテキストファイル
  • SQLファイル
  • wp-config.php

はアップロードしません。特にwp-config.phpはWordPress、MySQLに詳しくない場合は絶対にアップしないでください。面倒な作業が必要になります。

スクリーンショット_2016-08-02_05_25_33.png

ファイルは全て上書きします。これでファイルだけは以前のWordPressと同様になりました。あとはSQLだけです。

 

2.SQLをインポートする

phpMyAdminが使えれば楽ちんですが、AMIMOTOではデフォルトで無効にしています。セキュリティに不安があるからね、仕方ないね。
まず一時的に有効にします。インスタンスにSSH接続します。やり方がわからない方はこちら↓
https://www.shimay.uno/archives/4948

phpMyAdminを有効化する

まず管理者権限にします。suコマンド入力後にパスワードを入力する。

cdコマンドで設定ファイルのある/etc/nginx/conf.d/へ移動します。

viエディタでファイルを開くため、「vi ファイル名」を入力します。ファイル名は「wp-setupの時のフォルダ名.conf」です。うちの場合は「www.shimayu.net.conf」です。

スクリーンショット_2016-08-06_23_01_28.png

すると.confの中身が表示されますので↓キーで下の方に移動します。目印は「##include /etc/nginx/phpmyadmin;」の行です。

スクリーンショット_2016-08-06_23_01_45.png

まずこのままでは変更できないので、キーボードの「a」を押します。これでINSERTモードになります。

「##include /etc/nginx/phpmyadmin;」の##を消します。

次に下の5行に#を入れてコメントアウトします。

スクリーンショット_2016-08-06_23_02_08.png

上記画像のようになったらEscキーを押してから「:w」と入力してEnter、「:q」と入力してEnter。

「:w」は保存コマンド、「:q」は終了コマンドです。

終了コマンドを入力すると画面が戻るので、「service nginx restart」でNginxを再起動します。

スクリーンショット_2016-08-06_23_04_01.png
どちらもOKになれば完了です。これでphpMyAdminが利用できます。

SQLをインポートする

301 Moved Permanently

と入力すると自ドメインのphpMyAdminに接続できます。うちの場合だとhttp://www.shimayu.net/phpMyAdmin/ですね。今は無効にしてるので見れませんが。

スクリーンショット_2016-08-02_04_52_34.png

ユーザ名とパスワードは、wp-setupした後に表示されています。

スクリーンショット_2016-08-02_04_52_37.png
これを入力すると、データベースの内部が見られます。
画面中央上部の「インポート」をクリックする。

スクリーンショット_2016-08-02_04_52_55.png

「インポートするファイル」欄のアップロードファイルを選択します。

BackWPupでエクスポートした○○.sqlファイルを選択し、「実行」をクリックする。

スクリーンショット_2016-08-02_04_53_06.png

問題がなければ正常に終了します。下の画面が出てくれば成功です。

スクリーンショット_2016-08-02_04_54_17.png
WordPressにアクセスし、内容に問題がないか確認したらphpMyAdminを無効に戻しておきましょう。
以上で引っ越しが完了しました。

wp-config.phpをアップロードしない訳

wp-config.phpにはMySQLに接続する為の設定が記載されています。

MySQLのユーザ名、パスワード、データベース名は当然ながらwp-setupする毎に異なります。

その為、旧サーバにあるwp-config.phpは旧サーバ用のユーザ名やパスワードが記載されているので、新サーバに上書きしてしまうとWordPressがエラーで見られなくなります。

「データベース接続確立エラー」が表示された場合、wp-config.phpの設定が正しいか確認してください。

 

参考

【WordPress】素人でも出来た!AWS EC2へのサーバー移行方法7 旧データをアップロード - Danshiblog

BackWPupでバックアップ・リストア(復元)の具体的手順 - エス技研

網元で作成したインスタンスに(S)FTPクライアントソフトで接続するには? - AMIMOTO AMI

網元でのデータベース操作 - AMIMOTO AMI