Learning site for website creation

WordPressをテスト環境から本番環境へ移行:準備編

  • 投稿日:2018年11月20日
  • 更新日:2018年11月26日

移行するために用意するデータ

  • WordPressファイル一式が入ったフォルダ
    • 「wp-config.php」本番環境DB接続情報に変更
    • 「.htaccess」本番環境用リダイレクト設定に変更
       ※テスト環境・本番環境公開フォルダ以下の構成が違う場合のみ
  • WordPress情報の入ったデータベースのスクリプトファイル
    • スクリプトファイル内のパスを本番環境用に変更

テスト環境情報

今回は以下のデータを使用すると仮定します。

  • 「lesson1」フォルダにWordPressファイル一式が入っている
  • 「lesson1」データベース領域にWordPress情報が入っている

本番環境情報

今回は以下の環境に移行すると仮定します。

  • 「honban00」フォルダにWordPressファイル一式をアップロードする
  • 「honban00」データベース領域にWordPress情報を構築する

WordPressファイル一式が入ったフォルダ

今回は「lesson1」フォルダにWordPressファイル一式が入っているとします。また「wireframe01」フォルダにテーマ一式が入っているとします。

本番環境移行用フォルダを作成します。

「lesson1」フォルダをコピーし本番環境にアップするフォルダ名にします。今回は「honban00」とします。

「honban00」フォルダ内の必要ないテーマやプラグインなどは削除しましょう。

「honban00」フォルダ内のテーマフォルダ「wireframe01」を検索して「localhost」がヒットしないことを確認します。

SublimeTextでフォルダ内検索

「Ctrl」+「Shift」+「F」をクリックして検索・置換を表示します。

「Find:」に「localhost」を入力します。

「…」ボタンをクリックします。

「Add Folder」をクリックし検索対象フォルダ「wireframe01」を選択します。

「Where:」に検索対象フォルダのパスが表示されていることを確認します。

「Find」ボタンをクリックし、検索結果が「0 matches」になっていることを確認します。

もし「localhost」がヒットした場合は、本番環境移行時にリンク切れを起こすのでパスを関数で取得するよう変更します。

DB接続情報の変更

「honban00」フォルダ直下にある「wp-config.php」をSublimeTextで開きます。

「MySQL 設定」部分を本番環境のDB接続情報に変更します。

// ** MySQL 設定 - この情報はホスティング先から入手してください。 ** //
/** WordPress のためのデータベース名 */
define('DB_NAME', '本番環境DB領域名');

/** MySQL データベースのユーザー名 */
define('DB_USER', '本番環境DBユーザ名');

/** MySQL データベースのパスワード */
define('DB_PASSWORD', '本番環境DBパスワード');

/** MySQL のホスト名 */
define('DB_HOST', '本番環境DBホスト名');

.htaccessの変更

公開フォルダ内の構成がテスト環境と本番環境で同じ場合は変更しなくて構いません。

今回はテスト環境ではフォルダ名「lesson1」、本番環境ではフォルダ名「honban00」と構成が違うため「.htaccess」を変更します。

「honban00」フォルダ直下にある「.htaccess」をSublimeTextで開きます。

WordPressの設定は「# BEGIN WordPress」から「# END WordPress」の間になります。

今回はテスト環境と本番環境でフォルダ名が違うので「.htaccess」のフォルダ名部分を変更します。

変更前

# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /lesson1/
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /lesson1/index.php [L]
</IfModule>

# END WordPress

変更後

# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /honban00/
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /honban00/index.php [L]
</IfModule>

# END WordPress

「SiteGuard WP Plugin」を使用している場合は以下も修正します。

「SiteGuard WP Pluginの設定」は「#SITEGUARD_PLUGIN_SETTINGS_START」から「#SITEGUARD_PLUGIN_SETTINGS_END」の間になります。

変更前

#SITEGUARD_PLUGIN_SETTINGS_START
#==== SITEGUARD_RENAME_LOGIN_SETTINGS_START
<IfModule mod_rewrite.c>
    RewriteEngine on
    RewriteBase /lesson1/
    RewriteRule ^wp-signup\.php 404-siteguard [L]
    RewriteRule ^wp-activate\.php 404-siteguard [L]
    RewriteRule ^login_75599(.*)$ wp-login.php$1 [L]
</IfModule>
#==== SITEGUARD_RENAME_LOGIN_SETTINGS_END
#SITEGUARD_PLUGIN_SETTINGS_END

変更後

#SITEGUARD_PLUGIN_SETTINGS_START
#==== SITEGUARD_RENAME_LOGIN_SETTINGS_START
<IfModule mod_rewrite.c>
    RewriteEngine on
    RewriteBase /honban00/
    RewriteRule ^wp-signup\.php 404-siteguard [L]
    RewriteRule ^wp-activate\.php 404-siteguard [L]
    RewriteRule ^login_75599(.*)$ wp-login.php$1 [L]
</IfModule>
#==== SITEGUARD_RENAME_LOGIN_SETTINGS_END
#SITEGUARD_PLUGIN_SETTINGS_END

変更後ファイルを保存します。

テスト環境のデータベース情報を取得

phpMyAdmin

テスト環境の「phpMyAdmin」にアクセスします。

http://localhost/phpmyadmin/

左側メニューからWordPressデータの入ったDB領域「lesson1」を選択します。

上部タブから「エクスポート」選択します。

設定はそのままでエクスポート画面下部の「実行」をクリックします。

ダウンロードフォルダにスクリプトファイルが生成されていることを確認します。

※XAMPPの設定・バージョンで文字化けすることがあります

シェル

phpMyAdminで文字化けした場合はシェルを使用します。

XAMPPコントロールパネルの「Shell」ボタンをクリックします。

シェルに以下の命令を記述します。

mysqldump -u DBユーザ名 -p --default-character-set=binary DB領域名 > 出力先ディレクトリパス\出力ファイル名

出力先ディレクトリの作成

エクスプローラのドキュメント内にsqlフォルダを作成します。

sqlフォルダ内に移動しアドレス欄をクリックするとパスが表示されるので出力先ディレクトリパスに使用します。

今回は以下の命令になります。

DBユーザー名 root
DB領域名 lesson1
出力先ディレクトリパス C:\Users\ユーザー名\Documents\sql\
※ドキュメント内のsqlフォルダに出力
出力先ファイル名 lesson1.sql
mysqldump -u root -p --default-character-set=binary lesson1 > C:\Users\ユーザー名\Documents\sql\lesson1.sql

sqlフォルダにスクリプトファイルが生成されていることを確認します。

テスト環境のパスを本番環境のパスに変更

取得したスクリプトファイルをSublimeTextで開きサイトパスを本番環境用に検索・置換します。

SublimeTextで検索・置換

「Ctrl」+「H」で検索・置換を表示します。

公開フォルダ直下でWordPressを構築していた場合

「Find:」に「http://localhost」を入力します。最後に「/」を入れないようにしてください。

  • OK:http://localhost
  • NG:http://localhost/

「Replace:」に「http://本番ドメイン」を入力して「Replace All」ボタンをクリックし置換します。最後に「/」を入れないようにしてください。

  • OK:http://本番ドメイン
  • NG:http://本番ドメイン/

公開フォルダにフォルダを作成してWordPressを構築していた場合

今回はhtdocs配下に「lesson1」フォルダを置いていたので

「Find:」に「http://localhost/lesson1」を入力します。最後に「/」を入れないようにしてください。最後に「/」を入れないようにしてください。

  • OK:http://localhost/lesson1
  • NG:http://localhost/lesson1/

「Replace:」に「http://本番ドメイン/フォルダ名」を入力して「Replace All」ボタンをクリックし置換します。

今回は本番環境でのフォルダ名を「honban00」としたので「http://本番ドメイン/honban00」とします。最後に「/」を入れないようにしてください。

  • OK:http://本番ドメイン/honban00
  • NG:http://本番ドメイン/honban00/

別名で保存

本番環境用のスクリプトファイルを別名で保存します。

今回は「honban00.sql」で保存します。