稼働中

第35回 初心者がワードプレスの独学を始める。 本番サイトへ移行 準備

本番サイトへ移行の準備

いよいよ「Local by Flywhee」で作成したローカルサイトを、本番サイトのコアサーバーへ移行したいと思います。素人なので不安な点が多々あります。

ローカルサイトと本番サイトのサイト名が違う。ワードプレスのユーザ名、メールアドレスが違う。サーバの種類が違う。データーベース名が違う。さて、どうなるのか?
良く分かりませんが、本番サイトと言っても仮に作成したサブドメインに移行するので「失敗すれば消せば良い」と思いました。

他のサイトなどを参考にすると「本番サイトと同じドメイン名でローカルサイトを作成」して移行するような方法が多いように見受けられました。そして、最後にパソコンの「hosts」ファイルを変更するらしいです。

私の場合、同じ名前で無いのでちょっと違うかと思いました。ローカルサイトでワードプレスの練習中から本番サイトで使うドメイン名まで考えて無かったです。私はレンタルサーバを契約するあたりでやっと独自ドメイン名を考えました。

名前は違うまま進めます。素人なのでそんな不安がいろいろあります。第1回、6回をヒントに「All-in-One WP Migration」でインポート後にデータベースを書き替える方法で移行してみようと思います。

今回はサーバー側ワードプレスに「All-in-One WP Migration」をインストール、ローカルサイトを「All-in-One WP Migration」エクスポートまでの準備を記載します。

本番サイト(サーバー側)

前回、手動でワードプレスをアップロードしました。セットアップ後「/public_html/abc.route55go.com 」の中身はどうなっているのか確認します。セットアップ前後で比較して見ます。
以下は「FileZila」で比較して見たものです。メニューバー「表示>でディレクトリの比較>有効(ファイルサイズで比較)」で調べた図です。※「FileZila」の使い方は「フリーソフト(2)」の記事に記載しています。よろしければ参照ください。

左側はパソコン内でZIP形式のワードプレスを解凍した状態(サーバーへアップロードしたもの)、右側はサーバー内でワードプレスをセットアップ直後の状態(第34回の状態)です。比較すればセットアップ後に何が変わったのか分かります。
素人なので何故「license.txt」、「wp-config-sample.php」のサイズが変わっているのかは分かりませんが、何かに影響するファイルでは無さそうです。
問題はセットアップ時に生成された2つのファイルです。「.htaccess」「wp-config.php」です。データベース情報を入力する際にセットアップ時に「wp-config.php」作成すると表示がありました。「.htaccess」が問題です。

ワードプレスのセットアップ前後のファイル

「.htaccess」の中身は以下のようです。素人が見ても重要っぽいです。たぶん「All-in-One WP Migration」を使って移行した場合に、もしローカルサイトにある「.htaccess」があれば変更されるのでしょうか?。不安なので①移行前にサーバーにある「.htaccess」は保管する、ことにしました。

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

# END WordPress

セットアップの確認

一応、セットアップしたワードプレスの設定状態を確認します。一般とユーザーを確認しておきます。ユーザー名、ニックネーム、管理者メールアドレスなど、「All-in-One WP Migration」で移行するとローカルサイトの情報に変わると思います。

一般設定

ユーザー設定

セットアップの確認が出来たので②「All-in-One WP Migration」をインストールして有効化します。インポート容量の拡張は不要です。※インストール方法は第7回を参照ください。
All-in-One WP Migrationをインストール

ダッシュボード左から「プラグイン>インストールされたプラグイン」の状態を確認します。3つあります。有効化されているのは「All-in-One WP Migration」だけの状態です。

プラグインの状態

「All-in-One WP Migration」を起動してローカルサイトのデータをインポートするだけの状態になりました。これで本番サイト(サーバー側)の準備はできました。

ローカルサイト(パソコン側)

次に今まで作成して来たローカルサイト「ademo.local」の状態をみます。「Local by Flywheel」でフォルダーを開いて確認します。(フォルダの開き方などは第1回を参照してください)「C:\Users\***\Local Sites\ademo\app\public」の状態が以下の図です。
今まで見逃していましたが「Local by Flywheel」関連らしい「local-adminer-zYPStUVUA.php」「local-phpinfo.php」があります。移行時にどうなるのでしょうか?やや不安です。

ローカルサイト ademoのファイル状態

この状態では「.htaccess」はありません。第24回、第25回で紹介したセキュリティの「SiteGuard WP Plugin」を使用して「ログインページ変更」機能をONすると「.htaccess」が作成されるようです。また、Web Serverが「Apache」の時に機能するようです。移行しようとしている「ademo.local」サイトは「Local by Flywheel」のWeb Server環境が「nginx」です。この点も不安です。本来は第25回のようにApache環境に変更して移行した方が良いのかも知れません。やや不安ながら「nginx」のまま進めて見ます。

プラグイン「SiteGuard WP Plugin」の動作を確認しました。「ログインページ変更」機能をONにした時の「.htaccess」が以下になります。

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

# BEGIN WordPress
# END WordPress

また「ログインページ変更」機能をONからOFFにした時の「.htaccess」が以下になります。基本的に無くても良いファイルになっているようです。

#SITEGUARD_PLUGIN_SETTINGS_START
#SITEGUARD_PLUGIN_SETTINGS_END

# BEGIN WordPress
# END WordPress

そのため、③移行する前にプラグイン「SiteGuard WP Plugin」は停止し、その後「.htaccess」は削除することにしました。また、④最適化プラグイン「WP-Optimize」でデーターベースの最適化を行った後に停止することにしました。⑤「All-in-One WP Migration」でエクスポートします。※エクスポートについては第4回を参照ください。

を起動してエクスポートする前に、再度プラグインの状態を確認します。「SiteGuard WP Plugin」「WP-Optimize」が停止していることを確認します。

ローカルサイトのプラグイン状態

それでは、ローカルサイト「ademo.local」をエクスポートします。ダッシュボード右から「All-in-One WP Migration>エクスポート」を選択します。ファイルを選択します。

All-in-One WP Migrationでローカルサイトをエクスポートします

ダウンロードをクリックしてファイルを保存します。

ダウンロードしてファイルを保存します。

ダイヤログが開きます。適当な場所に保管します。

ファイルを保存します

「ademo.local-20******-095745-l6na1w.wpress」のファイル名でエクスポートできました。

まとめ

ローカルサイトを本番サイトに移行する準備をしました。具体的には以下の点です。
①移行前にサーバーにある「.htaccess」は保管する
②サーバー側のワードプレスに「All-in-One WP Migration」をインストール
③移行する前にプラグイン「SiteGuard WP Plugin」は停止し、その後「.htaccess」は削除しました。
④最適化プラグイン「WP-Optimize」でデーターベースの最適化を行った後に停止
⑤「All-in-One WP Migration」でローカルサイトをエクスポート
次回はいよいよ移管します。