WordPressを新環境へ「まるごと」移転する方法
こんにちは。今回のテーマはWordPressを新サーバーへ現在の環境を引き継いで移転する方法です。レンタルサーバーを変更したり、Local環境にもオンラインと同一環境を作りたい等の理由でWordPressを丸ごと引っ越したいという状況は結構ありますよね。
今回はLocal環境へWordPressを引っ越す方法で説明しますが、基本的にはオンライン上のサーバーでも変わりません。
(基本的にはLinuxユーザーを想定して書いていますが、基本的には他のOSも同じです)
準備
Localサーバーの準備
Ubuntu14.04にLAMP環境を導入する
Arch LinuxにLAMP環境を導入する方法
を参考にしてください。
新サーバーがレンタルサーバーの方はLocal環境の準備は不要です。
phpMyAdminの準備
また、今回はMySQLの操作にphpMyAdminを使用します。
引っ越し元と引越し先、両方のサーバーにphpMyAdminを導入してください。
phpMyAdminの導入はLinuxにphpMyAdminをインストールする方法をご参考に導入してください。
新サーバーでのWordPress用ユーザー作成
レンタルサーバーを使用する場合はサーバー管理者から付与されると思いますが、Local環境の方は自分で作成しましょう。今回はLinuxにphpMyAdminをインストールする方法で作成した”wp-user”を使用します。
テーマ、画像データ、pluginのダウンロード
まず、引越し元の画像データとテーマをダウンロードしましょう。
引越し元のWordPressディレクトリから「wp-contents」をダウンロードします。今回はwp_tempディレクトリにダウンロードしました。
画面ではFTPソフトのgFTPを使っています。lolipopの場合はブラウザ上でFTPサービスを提供していますし、他のサービスでも同様だと思います。
データベースのエクスポート
引っ越し元のデータベースをエクスポートしましょう。WordPressのデータベースはMySQLですのでツールとしてはphpMyAdminを使います。お使いのサーバーにphpMyAdminが入っていない場合はLinuxにphpMyAdminをインストールする方法をご参考に導入してください。
エクスポート
引越し元サーバーのphpMyAdminにログインします。
Wordpressデータが入ったデータベースを選びエクスポートタブを選択します。エクスポートするデータベースを選択しましょう。
エクスポートする時のSQLファイルの名前をつけましょう。今回はmydataとしました。
オプションはデフォルト状態から変更していません。画像の通りです。
もし、CREATE DATABASE項目があればチェックを入れておきましょう。(詳しくは後ほど)
データベースの修正
ここから先は状況に応じて修正が変わりますので適宜修正してください。
ダウンロードしたSQLファイルをエディタで開きましょう。今回はvimで開きますがnanoでも構いません。しかしgeditやleafpadでは動作が重いこともありますのでご注意を。
$ cd wp_temp $ vim mydata.sql
最低限でもデータベース項目のCREATE DATABASEとUSEの項目は確認してください。この項目が作成されていなかったり、新サーバーのデータベースと食い違うとインポート時にエラーを起こします。
CREATE DATABASE `[データベース名]` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci; USE `[データベース名]`;
#1 データベース名の修正
インポート時に新規データベースを作成する場合
つまりインポートと同時に’wordpress_2’を作成し、そこに内容をインポートする場合です。この時にはデータベース項目にCREATE DATABASE文とUSE文が必要です。今回のケースでは以下のようにしました。
CREATE DATABASE `wordpress_2` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci; USE `wordpress_2`;
もし、エクスポート時のデータベース名とインポート時のデータベース名が異なるときにはデータベース名を変更してください。今回はlolipopのデータベース名LAA048****-hw****からlocalのデータベース名wordpress_2に変更しますので、この修正を行いました。
インポート時に新規データベースを作成する場合
予め新規サーバーで空のデータベースを用意している方もいるでしょう。その場合にはCREATE DATABASE文は削除して下さい。データベース名が新旧で重複したときにエラーを起こします。
また、USEで用いるデータベース名は新規作成した空のデータベース名を用いてください。
#2 URLの変更
引っ越すことでURLが変更になる場合は以下のコマンドで書き換えましょう。
(エディタで書き換えてもOKです。)
$ sed -i 's|[旧URL]|[新URL]|' [SQLファイル].sql
実行例:
$ sed -i 's|http://note.kurodigi.com|http://localhost/wordpress|' mydata.sql
#3 データベースファイルの接頭辞
例えば、引っ越し元の旧サーバーで接頭辞wp3_から始まるデータベースファイルを使用していて、新サーバーでは接頭辞をwp_に変更したいとう場合もあると思います。このような場合もSQLファイルを修正しておきましょう。実行例のみ表示しておきます。
実行例:
$ sed -i 's|wp3_|wp_|' mydata.sql