バックアップと復元を応用したWordPressの環境コピー

  • このエントリーをはてなブックマークに追加
  • Pocket
  • LINEで送る

こんにちわ、家富です。

WordPressをコピーしたい時は意外に多く、

例えば

  • サイトのドメインが変わった
  • サイトの設置先URLが変わった
  • 全く同一環境のテストサイトがほしくなった
  • 開発のためローカルマシン上に全く同じ環境がほしくなった

など、特に開発に携わっている方であれば、
多々遭遇したことがあると思います。

そこで今回は、その2つを応用した「WordPressの環境コピー」について、
お話をさせていただきます。

最近では「Duplicator」という、
WordPress環境の移行に特化したプラグインがあり、
そちらを使うことで簡単に移行できたりするのですが、
環境依存がおおいプラグインでもあり、
サーバーによっては利用出来ないことが多々あります。

そんなときのために、
今日は移設に関する一連の流れを書きたいと思います。

コピー元環境からファイルを取得する

まずコピー元環境からWordPressのファイル一式をコピーしましょう。

バックアップの手順と同様ですが、
今回は「環境のまるごとコピー」なので、
WordPressの本体を含めてまるっとコピーしてしまいます。

念のために記載しますが、
WordPressが設置されているディレクトリに他のファイルが
紛れ込んでいる場合などに、
不要なものをコピーしてしまう可能性もあります。

下記にWordPressが利用しているファイル・ディレクトリを記載しますので、
コピーの際には参考にしてみてください。

  • wp-admin/
  • wp-content/
  • wp-includes/
  • index.php
  • license.txt
  • readme.html
  • wp-activate.php
  • wp-blog-header.php
  • wp-comments-post.php
  • wp-config.php
  • wp-config-sample.php
  • wp-cron.php
  • wp-links-opml.php
  • wp-load.php
  • wp-login.php
  • wp-mail.php
  • wp-settings.php
  • wp-signup.php
  • wp-trackback.php
  • xmlrpc.php

基本的には上記のファイル・フォルダをFTPでダウンロードするか、
同一サーバー上でのコピーであれば、copy コマンドなどで
一括して複製してしまいましょう。

ここで注意するべきことが1つ、
バックアップの際にも記載したのですが、
FTP接続時の文字コードは必ず「UTF-8」で行うようにしてください。

WordPressは全ての文字コードを「UTF-8」で管理しているため、
メディアファイルなどに日本語が含まれると、
ダウンロードの際に文字化けが発生し、
正常に環境コピーができなくなってしまう恐れがあります。

またこれは私が体験した問題で、
念のために記載しておくのですが、
Macを利用されている場合UTF-8を使ってダウンロードしたのに、
日本語の処理に問題があり

「Finder上では同一の文字に見えるのに、
実際には文字コードが異なっていて、違う文字である」

というやっかいな問題が発生することがあります。

私は開発環境をMacで構築していますので、
この現象にMacのFTPソフトである「Transmit」「YummyFTP」の
2つで遭遇したことがあります。

回避策としてはParallels上に構築したWindows10で、
「Filezilla」を利用することでした。

Mac版もFilezillaは存在しますが、
文字コード的な処理がどのようになっているか、
こちらは確認が出来ていませんので、
もし上記のような状況が発生した場合には、
Windows上の環境で試してみると上手くいく場合があります。

コピー元環境からデータベースのデータを取得する

次にデータベースをバックアップしてしまいましょう。

サーバーにPHPMyAdmin等がインストールされていれば、
そちらにアクセスし、WordPressが利用しているテーブルを、
全て「エクスポート」してください。

この際の文字コードはやはり「UTF-8」、
出力の形式は「SQL」でエクスポートしましょう。

もしサーバー上にPHPMyAdminが無い場合も、
心配はご無用です。

バックアップの回でも紹介した、
ミニマルなMySQL管理ツール「Adminer」を利用しましょう。

こちらのファイルを1つサーバーにアップするだけで、
PHPMyAdminとほぼ同様のことができてしまいます。

エクスポートも同様に可能なので、
サクッとSQLファイルをダウンロードしてください。

コピー先環境にファイルをアップする

ファイル、データベースがバックアップできたので、
次に設置の段階に入ります。

まずはファイルを一式を、
移設先のサーバー/環境にアップしましょう。

これは説明するまでもありませんが、
復元の回でも触れており、
何度も口を酸っぱくして申し上げますが、
FTP接続を行う場合には「UTF-8」で接続してアップロードして下さい。

コピー先環境にデータベースの内容を復元する

次にデータベースの内容を復元しましょう。
こちらももはや説明は不要ですね。

移設先のサーバーにPHPMyAdminがあればそちらを使い、
無ければ上述の「Adminer」を設置し、
対象のテーブルにSQLファイルをインポートしてください。

データベースの内容を書き換える

復元の回でも申し上げていますが、
WordPressはデータベースの中に設置先のURLを保持していて、
こちらを書き換えないと、
旧ドメイン/URLにリダイレクトされてしまい、
いつまでたっても確認が出来ません。

PHPMyAdminやAdminer等のツールでは、
データベースのレコードが1件毎に編集できるので、
こちらで編集してしまうのが気軽に思えますが、
この方法は絶対にやらないようにしましょう。

なぜかといいますと、
復元の回でも記述していますが、
WordPressはPHPの「配列」というデータを、
シリアライズという方法を使って「そのまま」データベースに、
保存する処理を行っている箇所があります。

この「シリアライズ」されたデータは非常にもろく、
1文字テキストが増えたり減ったりしただけで、
データが不正になっているとみなされ、
復元できなくなってしまうことがあります。

そうなってしまうと、
また元のデータベースを書き戻すところからやりなおし!
といったことになりかねませんので、
「シリアライズ」についてよくご理解している方以外は、
手作業で調整するのは出来るだけ避けましょう。

WordPress界隈には優秀な技術者が多く、
上記のことを簡単に行ってくれるツールがあります。

復元の回でも紹介した「Search Replace DB」という、
WordPressのデータベース書き換えに特化したPHPスクリプトです。

このスクリプトを使うことで、
本当に簡単に、WordPressのURL情報を、
任意の内容に書き換えることができます。

シリアライズされたデータも、
ちゃんと復元できるように調整して、
書き換えてくれるので安心です。

書き換えの詳細な手順については、
詳細に説明したブログを投稿しておりますので、
下記のURLからご参照ください。

http://inspire-tech.jp/2013/10/wordpress-search-replace-db/

ログイン確認

データベースの書き換えが完了したら、
最後にログインを確認しましょう。

新しいドメイン上で正しくログインができれば、
環境コピーは完了です。

念のため管理画面にログインしたら、
設定から「パーマリンク」構造を更新し、
htaccessを再度生成するようにしましょう。

その後各ページが404になっていないかなど、
必ずチェックするようにしてください。

さいごに

いかがだったでしょうか?

要は環境コピーとは「バックアップ」「復元」なので、
両方の詳細がわかれば簡単に行うことが出来ます。

ローカル環境などに環境コピーをすることで、
WordPressのバージョンアップが問題無いかの確認など、
簡単に行うことが可能になります。

非常に利便性が高いので、
環境複製にお困りの方は是非試してみて下さい。

ただし、文字コードの設定を間違えたり、
データベースの書き換えに失敗してしまうと、
正しく環境がコピーできないので、
その点には出来るだけ注意してください。

 

  • このエントリーをはてなブックマークに追加
  • Pocket
  • LINEで送る

SNSでもご購読できます。

コメントを残す

*