WordPressのテスト環境から本番環境への移行手順について〔Search Replace DB〕

エックスサーバーでWordpressサイトをテスト環境から本番環境へ移行する際の手順について共有します。

使用環境

WordPress  5.3.2
サーバー エックスサーバー
使用プラグイン Search Replace DB
接続方式 SSH – Tera tarm

1.テスト環境の全ファイルをバックアップ

テスト環境から本番環境へは「ファイル」「データベース」の2つを移行する必要があるのでそれぞれバックアップを取得します。

ファイルをFTP接続でそのままダウンロードしようとすると時間がかかるので、まずTera tarmでSSH接続して、テスト環境のファイルを圧縮します。

tar -zcvf wp.tar.gz[圧縮後のファイル名] wp[圧縮対象のフォルダ]

圧縮できたらFTPで落としてきます。

2.テスト環境のDBをphpMyadminからバックアップ

エックスサーバーのサーバー管理画面からphpMyadminに接続し、テスト環境のデータベースをエクスポートしてきます。

3.本番環境のDBを作成し、バックアップデータをリストア

エックスサーバーのサーバー管理画面で設定対象ドメインを本番ドメインに切り替え、「MySQL設定」から、本番環境のDBとDBユーザーを作成して紐付けます。

作成したDBとユーザーの紐付けが出来たら、最初にバックアップしておいたテスト環境のDBをインポートしてきます。

データベースの設定はこれで完了です。

4.本番環境にテスト環境のバックアップファイルをリストア

次にテスト環境のバックアップファイルをリストアします。

先程FTP接続でテスト環境から落としてきた圧縮ファイルを本番環境にアップします。

次にTera tarm でSSH接続し、アップした階層まで移動してから圧縮ファイルを解凍します。

tar -zxvf wp.tar.gz

これで「データベース」「ファイル」両方のリストアが完了しました。

次に設定ファイル「.htaccess(必要に応じて)」「wp-config.php」の修正をします。テスト環境が他のサーバーだったりすると、.htaccessファイルの記述に差異があったりしますが、参考までにエックスサーバーで簡単インストールからWordpressをインストール」した際の.htaccessの内容は下記になります。

# BEGIN WordPress
# `BEGIN WordPress` から `END WordPress` までのディレクティブ (行) は
# 動的に生成され、WordPress フィルターによってのみ修正が可能です。
# これらのマーカー間にあるディレクティブへのいかなる変更も上書きされてしまいます。
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /wp/
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /wp/index.php [L]
</IfModule>
# END WordPress

wp-config.phpにはデータベースの接続情報の記載があるので、本番環境の接続情報に修正します。

/** WordPress のためのデータベース名 */
define('DB_NAME', 'friends3_hoge');

/** MySQL データベースのユーザー名 */
define('DB_USER', 'friends3_hoge');

/** MySQL データベースのパスワード */
define('DB_PASSWORD', '*******');

/** MySQL のホスト名 */
define('DB_HOST', 'mysql805b.xserver.jp');

設定ファイルの修正はここまでです。

5.Search Replace DBを使用してURLを本番ドメインに書き換える

これまでの作業を終えて、現状本番環境のデータベース内にテスト環境のURLが含まれている状態なので、Wordpressのプラグイン「Search Replace DB」を使用してURLを書き換えてもらいます。

プラグインのダウンロードはこちら
Database Search and Replace Script in PHP

ダウンロードできたら解凍し、分かりやすいフォルダ名に変えて(ここではSRDとします)本番環境のwp-config.phpと同じ階層にフォルダごとアップします。

アップしたらURLからフォルダに直接アクセスします。

https://本番ドメイン/wp/SRD

まずreplaceの欄に「http://テスト環境ドメイン」を入れて、withの欄に「http://本番環境ドメイン」を入力します。

そしてまず「dry run」をクリックして実際にどのテーブルが変更されるのかを確認します。

問題ないようでしたら「live run」で実際に書き換えていきます。

これでテスト環境から本番環境への移行作業が全て完了となります。

6.その他注意点

上記作業後の注意点として、データベースではなくファイルに直接テスト環境のURLを記載していると残ってしまいます。サイト表示後にChromeのコンソールを確認するなどして、以下の点に注意しておきましょう。

  • テーマファイル内で画像を読み込む際に直接テスト環境のURLを書き込んでいないか。
  • CSSファイルの背景画像読み込みで直接テスト環境のURLを書き込んでいないか。

Leave a Reply

Your email address will not be published. Required fields are marked *

CAPTCHA