こんにちは。
竹渕です。今日もおにぎりが美味しいですね!
WordPressで構築したサイトを、別ドメインの環境へ移動する作業を行いました。
備忘録として、作業内容をまとめます。
前提条件
・移動元の環境と、移動後の環境ではサーバが違う。
・移動元のサイトと、移動後のサイトではドメインが変わる。
・DBも新しいDBに移動する。(移動元・移動後、共にMySQL)
1.Wordpressのファイルを取得
移動前環境から、編集済みのWordpressのファイルを、構成を変えずにすべて取得し、ローカルに配置します。
※今回は「C:\work\wordpress」に配置したこととします。
2.データベースの移行
今回は、移動前・移動後どちらもDBがMySQLで、「phpMyAdmin」を利用できる環境なので、「phpMyAdmin」を使った手順となります。
データベースのエクスポート
1.移動前サイトのphpMyAdminに接続し、エクスポート対象とするDBを選択します。
2.上部のメニューから「エクスポート」を選択し、画面下部の「実行」ボタンを押下し、エクスポートを実行します。
移行後のデータベース準備
1.移行後のphpMyAdminに接続し、新しいデータベースの作成を行います。
※今回は、「wordpress」という名前とします。
2.データベース「wordpress」に対する権限を設定し、アクセスできるユーザを用意します。
移行後のデータベースへのインポート
1.移行後のphpMyAdminに接続し、データベース「wordpress」を選択する。
2.上部のメニューから「インポート」を選択します。
3.「ファイルを選択」ボタンを押下し、先の手順のエクスポートで出力したファイルを選択します。
4.画面下部の「実行」ボタンを押下し、インポートを実行します。
3.Wordpressの設定変更
1の手順で取得したファイルの「C:\work\wordpress\wp-config.php」を修正し、移行後のデータベースに対する接続設定を行います。
/** WordPress のためのデータベース名 */
define(‘DB_NAME’, ‘wordpress’);
/** MySQL データベースのユーザー名 */
define(‘DB_USER’, ‘wp_user’);
/** MySQL データベースのパスワード */
define(‘DB_PASSWORD’, ‘wp_password’);
/** MySQL のホスト名 */
define(‘DB_HOST’, ‘new_db_host.co.jp’);
4.Wordpressファイルの配置
3の手順で修正した「C:\work\wordpress」のファイルを、移行後サーバのドキュメントルートに配置します。
5.Wordpress内のドメイン設定を変更
WordPressでは、DB内にドメインの情報を保持し、テンプレートタグなどで使用するようになっています。
そのため、移行元ドメインの値を、移行先ドメインに変更する必要があります。
DB内の移行元ドメインを移行先ドメインに置換すれば動くようですが、ドメインの長さなどの値を、DBの別項目で管理しており、壊れてしまうことがあるようです。
そのため、今回は「Database Search and Replace Script in PHP」というツールを使用して、ドメイン変更を行います。
※このツールの使用は、公式のサイト(WordPressの引越し)で推奨されている方法となります。
ツールの利用方法
1.下記のリンクより、ツールをダウンロードします。
2.ダウンロードしたツールを解答し、サイトに配置します。
「[ドキュメントルート]\Search-Replace-DB-master」となるよう配置
3.ブラウザからツールに接続します。
「http://[移行先ドメイン]/Search-Replace-DB-master/」でアクセス
4.「移行元ドメイン」と「移行先ドメイン」を入力し、「dry run」を実行し、変更予定箇所の確認をします。
5.「dry run」で表示された変更内容に問題がなければ、「live run」を実行します。
6.置換終了後、下部の「delete me」ボタンを押下し、ツールの削除を行います。
※残しておくと危ないため、必ず削除してください。
以上で移行作業は完了です。
ドメイン変更に注意が必要ですが、複雑な手順なく移行ができました。