WordPressサイトをローカル環境から本番サーバーへ移行する
公開日:2014年4月28日
最終更新日:2016年5月1日
WordPressで制作したサイトを、本番サーバーへ移行する手順を解説します。
ローカルの開発環境としてXAMPPを前提としていますが、開発用に別サーバーを立てている場合も同様の手順で移行可能です。
移行するデータとしては、Webサイトファイルとデータベースファイルがあります。
どちらも移行前に若干の修正が必要になります。
【コンテンツ】
- 移行元のMySQLデータベースをエクスポートする
- エクスポートしたSQLファイルを修正する
- 移行先でSQLファイルをインポートする
- 移行先でデータベースユーザのアクセス権を設定する
- wp-config.phpの修正
- .htascessの修正
- Webサイトファイルを移行先へアップロードする
- WordPress管理画面にログインして各種設定を確認する
- うまく移行できない時のチェックポイント
【記事執筆時の環境】
WordPress 3.9
XAMPP 1.8.2
phpMyAdmin 4.1.9
移行元のMySQLデータベースをエクスポートする
phpMyAdminを起動しログインします。
ローカル開発環境でXAMPPを使用している場合は、XAMPP Control Panelで、MySQLモジュールの[Admin]ボタンをクリックすると起動できます。
次にデータをエクスポートしますが、データベースごとエクスポートする方法とテーブルだけエクスポートする方法があります。
移行先サーバーでデータベースを新規作成できる場合は、データベースごとエクスポートしても構いません。
ただデータベースを新規作成できても、phpMyAdminからデータベースをインポートできなかったり、データベースが既に決まっている場合はテーブルだけエクスポートします。
ここでは移行先サーバーではデータベースを別途作成するとして、テーブルだけエクスポートしてみます。
phpMyAdminの左ペインから、エクスポートするデータベースをクリックします。
WordPress単独ではテーブルは11個含まれています。
[エクスポート]をクリックします。
フォーマットを'SQL'にして、[実行]ボタンをクリックします。
使用しているブラウザによってその後の操作は違いますが、SQLファイルを保存します。
エクスポートしたSQLファイルを修正する
ファイルをテキストエディタで開きます。
ローカル環境でのドメインを移行先ドメインに置換します。
ローカル環境は、'http://localhost/wpsample'で構築しており、
移行先ドメインが、'http://example.com'だとしたら、
テキストエディタの置換機能を使い、
'http://localhost/wpsample'⇒'http://example.com'と一括して置換します。
インストールしているプラグインによっては、上記の処理だけではドメインを置換し切れない場合もあります。
そこで次に、'localhost'で検索して、置換する必要のある文字列を追加で置換します。
これまで私が確認したところ、
'http:¥¥/¥¥/localhost¥¥/インストールフォルダ名'や、
'|http|localhost|/インストールフォルダ名/'のケースがありました。
移行先でSQLファイルをインポートする
移行先サーバーで、phpMyAdminにログインします。
ここで、インポートするデータベースは既に作成されているものとします。
インポートするデータベースをクリックします。
[インポート]をクリックします。
[ファイルを選択]ボタンをクリックしてSQLファイルを読み込ませ、[実行]ボタンをクリックします。
インポートが正常に終了すると、下記メッセージが表示されます。
移行先でデータベースユーザのアクセス権を設定する
レンタルサーバーによっては、この操作はレンタルサーバーの管理画面から設定する場合もあります。またあらかじめ使用できるデータベースが決まっているレンタルサーバーの場合は、設定する必要はありません。
ここでは使用するデータベースを新規に作成していて、phpMyAdminからユーザアクセス権を設定する方法を説明します。
phpMyAdminのトップページに移動して、[ユーザ]をクリックします。
アクセス権を設定するユーザの、[特権を編集]をクリックします。
[データベースに固有の特権]のエリアにあるリストをクリックして、データベースを選択します。
以下のようにチェックを入れて、[実行]ボタンをクリックします。
wp-config.phpの修正
データベース名、データベースのユーザー名、データベースのパスワード、ホスト名の4か所を、移行先サーバーに合わせて修正します。
マルチサイトの場合は、以下の部分も修正します。
【補足】
移行先のサーバー環境によっては、テーマやプラグインの更新がうまくできないことがあります。その場合は、wp-config.phpの最後にFTP接続モードにしないための以下の記述を追加してみてください。
1 |
define('FS_METHOD', 'direct'); |
.htascessの修正
以下の部分を修正します。ドメイン直下に移行する場合は、'/'だけになります。
Webサイトファイルを移行先へアップロードする
WordPressをインストールしたディレクトリ以下をすべて、移行先サーバディレクトリへアップロードします。
ファイルパーミッションはサーバー環境に合わせて変更する必要があるかもしれません。
アップロードした際のデフォルトでは、ファイルは'644'でディレクトリは'755'になっているケースが多いです。
このパーミッションでほとんど動作しますが、セキュリティを高めたいのであれば、wp-config.phpのパーミッションを'400'に変更するなどしてください。
WordPress管理画面にログインして各種設定を確認する
WordPress管理画面で各種設定を確認します。本番サーバーでは一般公開になりますから設定を変更する部分もあります。
以下は注意点です。
- インストールしているプラグインの設定全般
- [設定]-[表示設定]で、[検索エンジンがサイトをインデックスしないようにする]のチェックが外れていること
- [設定]-[ディスカッション]でのコメント設定
- [設定]-[投稿設定]での更新情報サービス
うまく移行できない時のチェックポイント
移行先のURLにアクセスしても、「データベース接続エラー」などが表示されてページが表示されなかったり、表示がくずれているケースがあります。
その時は以下をチェックしてみてください。
- w-config.phpの中に記述しているデータベース名、ユーザー名、パスワード、ホスト名
- 移行先データベースにユーザのアクセス権を正しく設定しているか
- .htascessの中に記述しているパス
- ファイルのパーミッション
- エクスポートしたデータベースファイルにドメインの置換漏れはないか
スポンサーリンク