ワードプレスを運営していて、別ドメイン別サーバーでテスト的にサイトを復元させたいときってありますよね。新しいテーマを試したいとか、PHPのバージョンアップに対応したいとか。いきなり本番環境でやるのは怖いです。
そんな時の自分へのメモとして手順をまとめなおしました。
(追記 この記事は「BackWPupを使わずに、バックアップをとってリストア(復元)してみた」というタイトルでしたが、タイトル変更とともに内容を書き直しました。2019/5/18)
- ドメイン取得、ネームサーバの変更
- サーバー契約、ドメイン登録、ssl申請
- バックアップを取る
- version.php、wp-config.phpをダウンロードする
- ルートディレクトリ上のファイル(.htaccessなど)をダウンロード
- プラグインリストのダウンロード
- テーマ全ファイルのダウンロード
- uploadファイルのダウンロード
- データベースのエクスポート
- ssl、秘密鍵、証明書のダウンロード
- phpmyadminで新しいデータベースを作り、4つの重要事項をメモする
- 復元させるデータベースをインポートする
- 使っていた同じワードプレスのバージョンをアップロードする
- wp-config.phpを書き換える
- データベースの旧ドメインを新ドメインにすべて書き換える
- プラグインを入れる
- uploadファイルをアップロードする
- テーマをアップロードし適用する
- (さらに)検索エンジンにインデックスしないにチェックを入れる
- (さらに)アナリティクスやアドセンスなど広告タグを外す
google広告
ドメイン取得、ネームサーバの変更
まずは復元するための別ドメインを取得し、ネームサーバ設定を復元させたいサーバーに設定変更します。
ドメイン取得をムームードメイン。レンタルサーバーをさくらのレンタルサーバ スタンダードとして説明します。(実際に管理人が使っているものです)
新しく取得するなら、トップページ検索ボックスに自分が欲しいと考えるドメインを打ち込みましょう。このように取得できるドメインが出てきますので、「カートに追加」から手続きを進めます。
ドメインを取得、もしくはすでに入手済みのドメインを使うなら、ログイン後、ドメイン一覧を選び、使用するドメインをクリック → ネームサーバ設定変更
ネームサーバ1:ns1.dns.ne.jp
ネームサーバ2:ns2.dns.ne.jp
さくらサーバーの場合はこのように設定します。レンタルサーバーによって違いますのでご自分のサーバーのネームサーバー設定をご覧ください。
ネームサーバの設定は切り替えてから時間がかかる場合があります。先にこの作業をやっておいて、翌日から作業を再開するということが多いです。
サーバー契約、ドメイン登録、ssl申請
さくらのレンタルサーバ スタンダードから契約します。ワードプレスをやるなら「スタンダード」プラン以上が必要です。ライトプランだとデータベースが作れないのでワードプレスを運営できません。
また、データベースを20個作れますので、最大20個のブログを作れます。テスト用に借りるならレンタルサーバーは1つで十分でしょう。管理人は1年契約しています。入金を済ませると、上記で設定したムームードメインが登録できますので作業を進めます。
さくらインターネットサーバコントロールパネルからログイン。
ドメイン名:○○○.sakura.ne.jp
パスワード:登録完了メールに記載。ログイン後、変更も可能
FileZillaなどのftpソフトにも登録します。。設定は「Filezilla さくらサーバ windows」などで検索すると方法が出ていますのでご参考に。
さくらサーバコントロールパネル → ドメイン/SSL設定 → 新しいドメインの追加 → 他社で取得したドメインを移管せずに使う(>> ドメインの追加へ進む) → ドメイン名に登録したドメイン(wpblogdiy.comなど)を入力 → 送信する
管理人は複数ドメインを利用していますのでフォルダで、各サイトのファイルを管理しています。【詳細設定】マルチドメインを利用 – さくらのサポート情報 こちらをご参考に。
ドメイン反映まで時間がかかる場合があるので、ちょっとここで一息。Filezillaで適当なindex.htmlを入れて、ドメインを打ち込んで表示できれば反映完了。
現在運用中のドメインでssl化(https://接続)をしている人は、テスト環境でもssl化しているほうが表示が確認できて便利です。
さくらサーバで運営中のワードプレスを無料ssl化してみた手順をまとめました。を参考に、テストドメインでもssl申請をしておきましょう。
バックアップを取る
現在運用中のサイトのバックアップを取ります。本当の初心者の方は、BackWPupの利用がおすすめです。「Backwpup 設定」などで検索すると設定方法が出てきますので、ワードプレスファイルとデータベースをまるごと保存しておきましょう。
ワードプレス運用歴が長くなると、uploadフォルダのファイル数も多くなるし、データベースも大きくなるので、全てのファイルを保存するのは大変すぎます。そこで、管理人は必要なファイルのみにしぼって保存しています。
version.php、wp-config.phpをダウンロードする
version.phpは、「wp-includes」フォルダ内にあります。現在使用中のワードプレスのバージョンを知るためです。過去のバージョンは日本語 « リリース — WordPressから、ダウンロードできます。 このファイルは復元に必須ではありません。
wp-config.phpは、すごく大事なファイルでデータベースユーザー名やパスワードなど重要な情報が書いてあります。ftpソフトなどで保存しておきます。
ルートディレクトリ上のファイル(.htaccessなど)をダウンロード
.htaccessのファイルは大事です。グーグルアナリティクス、アドセンスの確認用ファイルはテスト復元時には必要ないですが、通常のバックアップでは保存しておいたほうが、いざ本番で復元するときに探さずに済みます。
プラグインリストのダウンロード
プラグインを一つ一つ保存すると容量が大きくなるので、使用中のプラグインの名前とそのバージョンを、リストにして一枚のテキストファイルで保存します。BackWPupにその機能があります。 ちなみに管理人はBackwpupは、このためにしか使っていません。
テーマ全ファイルのダウンロード
使用中のテーマファイルはすべて重要なので保管します。もちろん、親テーマ、子テーマ両方とも保存です。
ftpソフトを使って、ドラッグアンドドロップでもいいし、sshで圧縮してからダウンロードしてもいいです。管理人はsshで行っています。圧縮したサーバー上のファイルを消去するのを忘れずに。
uploadファイルのダウンロード
uploadファイルは、自分がアップした大切な画像が入っています。ファイルの中にはプラグインが勝手に作ったファイルもありますが、これは保存する必要はありません。 以前保管したファイルにftpソフトで上書きダウンロードして、
「サイズが異なるかソースが新しければ上書き」機能を使えば効率的にダウンロードできます。
データベースのエクスポート
データベースのエクスポート(=ダウンロード)は、phpmyadminから行うのが簡単です。先述した、wp-config.phpの情報。データベースユーザー名とパスワード、データベース名が必要です。
さくらインターネットサーバコントロールパネル → データベースの設定 → 管理ツールログイン に進むとphpMyadminが開きます。
wp-config.phpの「MySQL データベースのユーザー名」と「MySQL データベースのパスワード」を入力してログインします。
左カラムからデータベースをクリックして選択 → エクスポート
Export method:詳細 – 可能なオプションをすべて表示
圧縮:gzip形式(zip形式)
を選択して一番下にスクロールして実行ボタンを押すと、PC内のダウンロードファイルにgzip形式(zip形式)に圧縮されてダウンロードされます。終了後は左上のアイコンからログアウトしておきましょう。
ssl、秘密鍵、証明書のダウンロード
さくらインターネットサーバコントロールパネル → ドメイン/SSL設定 から、ssl証明書 「更新」をクリック。 証明書のダウンロード、秘密鍵のダウンロードをしておきます。 Let’s Encryptの無料sslを利用していると3カ月で期限が来ますので、自動更新後は再度ダウンロードしなおす必要があります。
以上で運営中のブログのバックアップは終了です。
コンパネから新しいデータベースを作り、4つの重要事項をメモする
バックアップ用のサーバーのさくらインターネットサーバコントロールパネル → データベースの設定 → データベースの新規作成
新しいデータベースを作ります。その時に以下の3項目をメモっておきます。のちに新しいワードプレスのwp-config.phpに書き込むため
1)データベース名:
2)データベース ユーザ名:
3)パスワード:
さらにデータベースの設定画面に戻って
4)データベース サーバ:mysql○○○.db.sakura.ne.jp
○○○は4桁ぐらいの数字。以上4項目をメモしておきます。
復元させるデータベースをインポートする
上述でバックアップしたデータベースをルートディレクトリ(wwwフォルダ内)にアップロードする。ftpでもsshでもいいです。
SSHソフト(tera termなど)を開いてアップロードした圧縮したデータベースを解凍します。
.gzファイル :gunzip ○○.sql.gz .zipファイル:unzip ○○.sql.zip
さらにmyspqlのコマンドを打ち込んでデータベースをインポートします。(参考:【さくらインターネット】phpMyAdminからMySQLのインポートが失敗(タイムアウト?)するときの対処法 – ysklog)
mysql -u (データベースユーザー名) -p(データベースパスワードpとの間にスペースは入れない) -h mysql(データベースサーバーの番号).db.sakura.ne.jp (インポートさせたい新データベース名) < (古いデータベース名).sql
無事に終了したら、アップロードしたデータベースを削除します。
rm ○○.sql.gz rm ○○.sql.zip
念のため、phpMyadminでデータベースができていることを確認しましょう。
使っていた同じワードプレスのバージョンをアップロードする
ダウンロードしておいたversion.phpファイルでワードプレスのバージョンを確認し、同じものを復元用サーバーにアップロードします。過去のバージョンは日本語 « リリース — WordPressから、ダウンロードできます。
wp-config.phpを書き換える
アップロードしたワードプレスファイルのwp-config.phpファイルを新しいデータベースの情報に書き換える。wp-config.phpが無ければ、wp-config-sample.phpをwp-config.phpとして保存し、中身を書き換えてアップロードします。
データベース名:
データベース ユーザ名:
パスワード:
データベース サーバ:mysql○○○.db.sakura.ne.jp
データベースの旧ドメインを新ドメインにすべて書き換える
別ドメインでサイトを復元させる時、デーベース内の旧ドメインを、新しいテスト用ドメインに書き換えておかないとワードプレスが上手く走ってくれません。例えば、新サイトからログインしたのに、元のワードプレスの画面が表示されたりするんです。
だからと言ってSQLファイルを一括変換するのは上手くいきません。
- WordPress移行時にURLをSQLで直接一括置換はダメ! 「Search and Replace for WordPress Databases Script」を使おう | infoScoop開発者ブログ
- wordpress移行の置換ツール「SearchReplaceDB2」最新バージョンの実行方法 | Sumirexxx
この2つの記事とやり方が大変参考になりました。ありがとうございます。
Database Search and Replace Script in PHP | interconnect/it
この操作のために便利なツールをダウンロードしておきましょう。
ちなみに2019年05月19日現在の情報では、php7.3だとエラーが出ますので、一時的に7.2にバージョンを落としてデータベースを変換させてから7.3に戻しましょう。
プラグインを入れる
保存しておいたプラグインリストからプラグインを呼び出してアップロードします。復元の場合、設定も自動的に復元されることが多いですが、内容も一応チェックしておきましょう。
uploadファイルをアップロードする
uploadファイルに自分でアップしてバックアップを取った画像をアップロードします。SSHを利用してファイルを圧縮してからアップロードして解凍するとよいでしょう。
ただしテスト用の復元なら、無理にアップロードせずに必要なファイルのみを数枚アップロードするだけでもいいと思います。
テーマをアップロードし適用する
使用していたテーマを、ftpでもsshでもいいので、アップロードして管理画面から適用します。
(さらに)検索エンジンにインデックスしないにチェックを入れる
テストするための復元なら、ワードプレスの管理画面 → 設定 → 検索エンジンでの表示 検索エンジンにインデックスしないにチェックを入れて変更保存する。普通にワードプレスを表示させて、headerにどのページにも「noindex」が入っていることを確認しておきましょう。
(さらに)アナリティクスやアドセンスなど広告タグを外す
ファイルのテストのための復元なら、アナリティクスやアドセンスはかえって邪魔になるので、タグを外しておきましょう。