X(旧Twitter)の埋め込みが表示されない場合は、再読み込みすると表示される場合があります

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

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

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

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

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

手順

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

以上です。

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

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

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

FTPソフト「Filezilla」の準備

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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に詳しくない場合は絶対にアップしないでください。面倒な作業が必要になります。

ファイルは全て上書きします。これでファイルだけは以前の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」です。

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

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

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

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

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

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

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

SQLをインポートする

301 Moved Permanently

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

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

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

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

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

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