皆さま引き続きコロナには気をつけてお過ごしください!

【WordPress】本番環境からローカル環境のXAMPPに移行して開発環境を作ってみた

開発環境 WordPress


本番環境だけで運用していたWordPress。

 

投稿とうこうをするだけなら問題ないですが、

何か新しい機能を追加するとなると、

重大なエラーが起こる可能性もあります。

 

そんなとき、本番環境だけですと、

アクセスできない時間ができてしまいます。

 

アクセスできない時間、メンテナンス時間を最小限にするために、

開発かいはつ環境を作りたいと思います。

 

スポンサーリンク

本番環境からの移行の流れ

運用中の本番環境から開発環境を構築する場合、以下の手順で行っていきます。

1.【本番環境】データベースエクスポート
2.【本番環境】WordPressデータダウンロード
3.【ローカル環境】データベースインポート
4.【ローカル環境】WordPressデータのコピー
5.【ローカル環境】設定変更

 

何をしているのか簡単に言うと、

にゃこ
にゃこ

必要な情報を本番環境から取得し、それをローカル環境に移動。

本番環境とローカル環境との異なる部分をローカル環境に反映はんえいさせる。

ということです。

 

なお、開発環境はすでに構築こうちくみの前提ぜんていで、記載します。

 

では、順番にやっていきましょう。

 

スポンサーリンク

【本番環境】データベースエクスポート

稼働かどう中の本番環境のデータベースを、取得したいと思います。

 

データベース作成手順

①サーバにログインする。

②以下コマンドで、MySQLサーバにログインする。

  • mysql -u root -p
オプション 説明
-u ユーザー名を指定する
-p パスワードを指定する

 

③「Enter  password:」と表示されるので、rootユーザのパスワードを入力し、Enterキーを押す。

結果

DB Export1

 

④(任意)以下コマンドを発行し、データベースが存在していることを確認する。

  • show databases;

結果

DB Export2

 

⑤以下コマンドを発行し、サーバか抜ける。

  • exit

結果

DBExport3

 

⑥以下コマンドを発行し、指定したDBの情報を、指定したファイル名で出力する。

  • mysqldump –databases DB名 > 出力ファイル名.sql -u root -p

結果

DBExport4

⑦出力したファイルをFTPなどを使い、ダウンロードする。

 

スポンサーリンク

【本番環境】WordPressデータダウンロード

DBのデータがダウンロードできたら、画面に表示するためのPHPファイル等をダウンロードします。

 

WordPressデータダウンロード手順

①WinSCP等を使い、サーバにログインする。

②本番環境のフォルダを選択し、ダウンロードをクリックする。

wordpressDL

③ダウンロード先を選択し、「OK」をクリックする。

ダウンロード先指定

 

今回は、フォルダ全部をダウンロードしたため、時間がかかりました。

運用を始める前に、作っておくべきですね💦

 

スポンサーリンク

【ローカル環境】データベースインポート

本番環境から取得したデータベースのデータを開発環境に移行しましょう。

 

DBデータインポート手順

①XAMPPで、MySQLのサービスを開始する。

②XAMPPで、Apacheのサービスを開始する。

③XAMPPのMySQLのAdminボタンをクリックする。

もしくは、ブラウザから以下にアクセスする。

http://localhost/phpmyadmin/index.php

④右ペイン左上のメニューボタンをクリックする。

インポート

⑤開いたメニューから「インポート」をクリックする。

インポート

⑥インポートするファイルを選択し、他のオプションはそのままに、
画面下部の「実行」ボタンをクリックする。

インポート

⑦正常にインポートが完了したことを確認する。

インポート完了

 

スポンサーリンク

【ローカル環境】WordPressデータのコピー

次は、本番環境から取得したPHPファイル等をXAMPPの環境に移動させます。

[XAMPPのインストールディレクトリ]\htdocs\

 

スポンサーリンク

【ローカル環境】設定変更(データベース)

DBは移行しただけですと、接続先が本番環境のままです。

この接続先をローカル環境に向くように変更します。

 

phpmyadminで作業をしていきます。

 

DB設定変更手順

①インポートしたDBを選択し、メニュー>SQLをクリックする。

DB設定変更

②入力欄に以下を入力し、「実行」ボタンをクリックする。

UPDATE `wp_options` SET option_value=REPLACE (option_value,'〈本番環境のドメイン名〉','localhost/〈開発環境のフォルダ名〉');
UPDATE `wp_posts` SET guid=REPLACE (guid,'〈本番環境のドメイン名〉','localhost/〈開発環境のフォルダ名〉');
UPDATE `wp_posts` SET post_content=REPLACE (post_content,'〈本番環境のドメイン名〉','localhost/〈開発環境のフォルダ名〉');
UPDATE `wp_postmeta` SET meta_value=REPLACE (meta_value,'〈本番環境のドメイン名〉','localhost/〈開発環境のフォルダ名〉');
変更箇所 説明
〈本番環境のドメイン名〉 ドメインはこのサイトであれば「nekopress.castelodelego.org」です。
もし、このドメインの下に移行元のWordPress以外のフォルダがある場合、
移行対象のフォルダを含めて指定します。
例)nekopress.castelodelego.org/WordPress
localhost/〈開発環境のフォルダ名〉 移行したフォルダ名を指定します。
例)localhost/WordPress_dev

③完了したことを確認する。

DB設定変更

 

スポンサーリンク

【ローカル環境】設定変更(Wordpress設定ファイル)

WordPressに接続するDBのユーザ、パスワード情報等は、

WordPressの設定ファイル「wp-config.php」上に記載されています。

この部分を変更しないと、

本番環境のホスト上のDBに、本番環境のユーザ、パスワードでアクセスしようとしてしまい、

次のようなデータベース接続確立かくりつエラーが表示されてしまいます。

そのため、ATOMなどのテキストエディタを使って編集します。

DB接続確立エラー

 

環境設定変更手順

①ATOMを開き、移行したWordPressデータのフォルダを開く。

②以下ファイルを開く。

[XAMPPのインストールディレクトリ]\htdocs\移行先フォルダ

③wp-config.phpのバックアップを取得する。

④以下のとおりに変更し、保存する。

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

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

/** MySQL データベースのパスワード */
define('DB_PASSWORD', '〈rootユーザーのパスワード〉');

/** MySQL のホスト名 */
define('DB_HOST', 'localhost');

 

スポンサーリンク

【ローカル環境】設定変更(Webサーバ)

DBサーバに接続するための設定は終わりましたので、

今度はWebサーバの設定を変更していきます。

 

本番環境とディレクトリ構成が異なるため、 ローカル環境のディレクトリ環境を見に行けるよう、設定を変更します。

 

変更対象は、ディレクトリ単位で設定を行えるファイル.htaccessです。

 

.htaccess変更手順

①ATOMを開き、移行したWordPressデータのフォルダを開く。

②以下ファイルを開く。

[XAMPPのインストールディレクトリ]\htdocs\移行先フォルダ

③.htaccessのバックアップを取得する。

④以下のとおりに変更し、保存する。

RewriteEngine On
RewriteBase /
RewriteRule ^/<開発環境フォルダ名>\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /<開発環境フォルダ名>/index.php [L]

 

スポンサーリンク

【ローカル環境】稼働確認

では、移行した環境に接続できるか確認しましょう。

 

以下アドレスでアクセスしてみます。

localhost/<開発環境フォルダ名>

 

移行完了!

にゃこ
表示されたにゃ~~~~~!!

 

でも、トップ、固定ページ、デフォルトの投稿ページは問題なく表示されますが、

カスタム投稿は以下のようなページがされてしまいました💦

開発環境アクセスエラー

う~ん💦

と、とりあえず、最低限の部分にはアクセスできることが確認できました。

今度はこのエラーへの対応をしていきたいと思います。

 

スポンサーリンク

まとめ

いかがでしたでしょうか?

 

本番環境で、モジュール等をリリースする前に、開発環境で確認をし、

エラーで焦ることなく、本番環境を運用できるといいですね。

タイトルとURLをコピーしました