既存のWordPressサイトをローカル環境に移行する

サイトをカスタマイズするのはもう少し先かなと思っていたのですが、どーせいつかはしないといけないので、データが少ないうちに当サイトのローカル環境への移行を済ませることにしました。何かいろいろうまくいかなかったり、やり直したりして時間かかったのですが、ようやく成功しましたのでまとめます。

準備するもの

当作業で使用したソフトや環境を最初に紹介しておきます。ご参考に。

  1. レンタルサーバー:Xserver
  2. ローカル環境構築ソフト:MAMP
  3. FTPソフト:Dreamweaver

ローカル環境の準備とデータベースの作成

早速ローカル環境の準備を進めていきましょう。これにはMAMPというローカル環境構築ソフトを使用します。
→MAMPのインストールと新データベースの作成方法についてはこちらをご参照ください。

MAMPの設定とローカルホストのphpMyAdminで新しいデータベースを作成できたら次に進んでください。

ファイルの移行

現行サイトのデータファイルをFTPサーバから取ってきて、MAMPのhtdocsフォルダにまるまるつっ込みます。

既存ファイルの取得


MAMPのhtdocsフォルダの中に新しいフォルダを1つ作成します。この時、半角英数字でフォルダ名をつけておいてください。(この画像ではwp_siqpress)このフォルダ名がローカルホストのURLになります。既存サイトのWordPressファイルを全てダウンロードし、作成したフォルダの中に入れます(画像では枠で囲った部分がダウンローロしてきたファイルたち)。

私が利用しているXserverではpublic_html内のフォルダ&ファイル全てになります。


ファイル取得方法はいろいろあるかと思いますが、FTPソフトを利用することが多いです。私はAdobeのDreamweaverを使ってダウンロードしました。無料体験版でもできます。

データベース情報の編集

データベース情報が既存サイトのまま(レンタルサーバの情報)なのでローカルサーバと同じ情報に書き換えます。


データベース情報はwp-config.phpというファイルに記されていますので、テキストエディタなどで開き、データベース名(MAMPのphpMyAdminで作成した新しいデータベース名)、MySQLユーザ名、パスワード(MAMP/XAMPPではrootと初期設定されてます)、ホスト名(localhost)を編集します。

データベースの移行

ファイルが済んだら次はデータベースの移行です。

ファイルはそれぞれが特定のアプリケーションに依存するもの(ファイル間でアプリケーションの互換性がないわけではないがプログラムで指定して呼び出す必要あり)、データベースはいろんなアプリケーションでデータ共有ができて、情報の一貫性を保持したまま1つの場所に積み上げられていくもの、みたいな認識です。

全然うまく説明できてないですね。。。とにかくファイルとデータベースは別物で両方移行する必要があります。

phpMyAdmin(レンタルサーバ)で既存データベースをエクスポート

方法はレンタルサーバによって異なるかもしれませんが、ここではXserverで提供されているphpMyAdminを使ってデータのエクスポートを行います。データベースのバックアップを取るのもこれと同じ方法です。


まずはXseverのサーバーパネルからphpMyAdminにログインします。うっかりユーザ名とパスワードを忘れてしまった場合はpublic_htmlフォルダのwp-config.phpファイルで確認できます。(さっき書き換えたデータベース情報と同じ箇所です。)


ログインできたらバックアップするデータベースを選択してエクスポートをクリックします。


WordPressしか使用していないデータベースであれば全選択をクリック。ここで注意ですがサイズが大きいと一気にエクスポート/インポートできない可能性があります。その場合は2回に分けてエクスポートしてください。おそらく一番重いのはwp_postsテーブル(投稿記事のデータ)です。


エクスポート形式はSQL、また今回はデータベースまるまる取り出すのでzip圧縮しておいてください。


生成オプションは全ての項目にチェック。他はいじらなくて大丈夫です。最後に左下の実行ボタンをクリックするとSQLファイルがダウンロードされます。

データベースファイルの編集

エクスポートしたSQLファイルを編集して、データベース内に至るところに記載されている既存サーバーのURLをローカルホストURLに置換します。方法は以下の2つ。

1. インポート前にエディタで検索置換する方法

ダウンロードしたSQLファイルをエディタ(テキストエディットやメモ帳でOK)で開きます。検索バー(Mac: command+F、Win: ctrl+F)に現行サイトURLを入力し、ローカルホストのURLに置換します。※ローカルホストのURLはhttp://localhost:8888/htdocs内に作成したフォルダ名


例なのでテキトーですが、こんな感じに上が既存サイトのURL、下がローカルホストのURLです。できたら保存。これでデータベース移行の準備が整いました。

2. インポート後にphpMyAdminで変更する方法

この方法を行う場合は、先にデータベースのインポートを済ませておいてください(後述)。順序が逆になります。


インポートしたデータベースのwp_optionsテーブルを選択して表示タブを開き、そこのsiteurlのoption_valueをローカルホストのURLに変更します。(値の編集はダブルクリックで直接入力できます。)

phpMyAdmin(MAMP)でデータベースをインポート

ローカルのphpMyAdmin(MAMP)にアクセスし、エクスポートしたsplファイルをローカルサーバのデータベースにインポートします。


最初に作成したデータベースを選択してインポートタブをクリック。(画像はもうインポートした後なのでテーブルが組みついてますが、本来はまだデータベース内は空っぽです。)そこでさっきのsqlファイルをアップロードして実行すればOK。

ローカルホストに反映されたか確認

MAMPでサーバ起動させた状態でブラウザからhttp://localhost:8888/フォルダ名 にアクセスします。
ポート番号を変更した場合は8888の部分にその番号を入力してください。


見慣れた画面が出れば成功です。

アクセスできたら

IDとパスワードを入力してログインしたら、ダッシュボードの設定>一般でサイトURLがhttp://localhost:8888/フォルダ名 になっているか確認してください。これでデータベースの再構築がスタートします。

プラグインやテーマは全て無効になっているので必要なものは有効化してください。あとは試しに記事書いたり、いろいろイジリたおしてみたり。画面真っ白になってもローカルだけなので、また本サイトからデータ取ってくればいいです。

アクセスできなかった場合

まずMAMPを再起動してみてください。(一旦接続を切って、もう一度入れる)

それでもダメな場合は、ローカルホストのURL、wp-config.phpのデータベース情報に間違いや矛盾がないか、FTPサーバから取得したファイルに漏れがないかチェックしてみてください。どこか間違ってるはずです。

私は見つけられなくて最初からやり直しました。。。

終わりに

お疲れ様でした。このやり方が初心者でも一番スムーズに進めそうかと思ったのですがいかがでしたでしょうか?この方法や仕組みを頭に入れておくとデータのバックアップを取ったり、レンタルサーバを乗り換えたりといった作業もできるようになります。

今になって思うのは、私はテーマのカスタマイズを本サイトにアップする前にローカルでプレビューできればいいので、新規サイトをローカルにインストールして、カスタマイズに必要なファイルだけFTPサーバから持ってくるのでもよかったのかも。

ただ初めてだと仕組みが全くわからないので最初は模倣でとりあえず目的を果たして、そこからいろいろ試行錯誤してだんだん理解していくのが挫折しにくいのかなと思います。手順に従うだけでも難しい部分もあるかと思いますが、私も最初うまくいかなくていろんな方法で何度かやり直してるうちにわかるようになりました。

休日などに是非トライしてみてください。

ほなまた。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です