1. WordPress
  2. 【WordPress】ステージング環境をサブドメインで構築する方法
【WordPress】ステージング環境をサブドメインで構築する方法
wordpress

【WordPress】ステージング環境をサブドメインで構築する方法

どうも、Tommy(@SitommyBlog)です。

今回は、WordPressを使ったWebサイトのステージング環境を構築する方法について書いていきます。

参考とする方:
・WordPressサイトを作成している人
・テーマやプラグインのアップデートをしたいけど、エラーとなって閲覧できなくなる心配がある人

ステージング環境を作る際に、いくつか方法はありますがここでは「サブドメイン」を使った方法を紹介します。

なぜ、ステージング環境を構築するか?

WordPressの案件を受けることになったとして、その本番ドメインが「example.com」としましょう。

「example.com」が新ドメインだった場合は、そのまま開発しその後本番として公開することになるかと思います。

最初は問題ないのですが、公開後に絶対訪れるWordPress本体のアップデートが来ます。
その際に、たまにアップデートしたことで今まで使用できていたプラグインが使用できなくなるケースがあります。

そうなると、最悪システムがエラーとなりWebページが表示されなくなります。

そのため、ステージング環境を構築することでまずステージング環境でアップデートをし問題がなければ、本番環境をアップデートすることで、表示されなくなるリスクを防ぐことができます。

これが自分自身のサイトならエラーになっても問題はないのかもしれませんが、案件となるとそうは行きません。

責任問題にもなりかねないので、ステージング環境は必須といえるでしょう。

サブドメインを作る

「example.com」という本番ドメインだとすると、サブドメインは「staging.example.com」とするとわかりやすいかと思います。

レンタルサーバーによって、サブドメインのとり方は多少違うかと思いますがそこまで難しくないので調べて見てください。

ここでは、ロリポップで説明していきます。
まずは、サブドメイン設定を押します。

その後、新規作成ボタンを押します。

サブドメインエリアに任意の名前を入れます。
ここでは、「staging」として「example.com」を選択します。

公開(アップロード)フォルダエリアには、「staging-example」としておくとディレクトリーを確認する際にわかりやすいです。

入力できたら、作成ボタンを押し完成です。

サブドメインに関してはこれでOKかと思います。

新しくデータベースを用意する

データベースを押します。

作成ボタンを押します。
作成すると、ここにどんどん追加されていきます。

項目を入力して作成ボタンを押すと完了です。

後に、データベース名やパスワードなど必要になりますのでメモするなりしておくとスムーズに進められます。

これで、staging用のデータベース(入れ物)が完成しました。

整理してみましょう。
現在は、
・example.com(本番)ドメイン
・example.com用のDB
・staging.example.com(ステージング)ドメイン
・staging.example.com用のDB
がある状態です。

・example.com(本番)ドメイン
・example.com用のDB
こちらには、すでにWordPressデータが入っていて、本番公開をしているとします。

本番のデータをコピーする

まず、FTPから本番のデータをすべてローカルにコピーします。

ここでのすべてとは、「example.com」の中のデータ全てです。

例えば、プロジェクトディレクトリーが、

cms ------------ WPデータ
.htaccess
index.php

とすると、全てです。

このデータは、WordPressのメディア、プラグイン、テーマなどいろいろデータが入っています。

本番のDBからエクスポートする

次に、本番サイトで使用しているデータベースに入ってデータをエクスポートします。

ここでは、phpMyAdminを使って入ります。

ユーザー名・パスワード・サーバーの選択を求められるので、データベースの中に入りましょう。

エクスポートを押します。

エクスポート方法では、簡易ではなく詳細を選びましょう。

テーブルでは、全選択を選びましょう。

フォーマットでは、SQLを選びましょう。

それ以外は、デフォルトのままでいいので実行ボタンを押してデータファイルをわかりやすいところに保管しておきます。

すぐ使うので、デスクトップでいいかと思います。

これで、本番用のデータをすべてコピーすることができました。

次は、ステージング環境にペーストしていきます。

ステージング環境に本番環境のデータをインポートする

まずは、FTPを開いて「staging.example.com」に本番からコピーしたプロジェクトディレクトリーデータすべてを入れてください。

その後に、「wp-config.php」ファイルをエディターで開いて修正します。

// ** MySQL 設定 - この情報はホスティング先から入手してください。 ** //
/** WordPress のためのデータベース名 */
define( 'DB_NAME', 'ステージング用のものに変更' );

/** MySQL データベースのユーザー名 */
define( 'DB_USER', 'ステージング用のものに変更' );

/** MySQL データベースのパスワード */
define( 'DB_PASSWORD', 'ステージング用のものに変更' );

/** MySQL のホスト名 */
define( 'DB_HOST', 'ステージング用のものに変更' );

/** データベースのテーブルを作成する際のデータベースの文字セット */
define( 'DB_CHARSET', 'utf8' );

/** データベースの照合順序 (ほとんどの場合変更する必要はありません) */
define( 'DB_COLLATE', '' );

本番用からコピーされたものなので、修正前は本番用のデータベースの情報が入っていますのでステージング用に変更して再度FTPにアップしてください。

ここまでは、いわゆるフロント側のものです。

ここからはバックいわゆる、データベースをインポートしてステージング用に書き換える作業をします。

では、ステージング環境のデータベースphpMyAdminにログインしましょう。

そして、インポートを選択してください。

先程、デスクトップに保存しておいたデータをここにインポートします。

そして実行を押すと、完全に本番と同じデータベースが出来上がります。

ここで消して終わらない!!

ここで作業を終わると、本番環境とステージング環境のデータベースが同じものなのでエラーが生じて、ややこしくなってしまい私も一度どちらのデータもアウトになってしまった経験があります。

その時は、あまり知識がなかったためなぜWordPressにログインできなくなったのかわからなくなりいろいろ触ってしまって結局修復不能になってしまいました。

やらなくてはいけない作業とは、データベースの中に、「wp_options」という項目があります。

siteurl・home・blognameをステージング用に変更しなくてはいけません。

ここでは、
siteurl:https://staging.example.com/cms
home:https://staging.example.com/
blogname:staging.example
とします。

これは、ステージング環境WordPressの一般設定で変更できる箇所に当たります。

ここを変更しておかないとややこしくなるので忘れずにやっておきましょう!

完成!!

これで、本番環境のWordPress管理画面とステージング環境のWordPress管理画面とそれぞれログインできるようになりました。

ステージング環境の方のWordPressログイン・パスワードは変更していないので、本番環境と同じ物を入れてください。

ただし、それぞれアクセス場所が違うので注意しましょう。

当然、本番環境は「https://example.com/cms/wp-admin/」でステージング環境は「https://staging.example.com/cms/wp-admin/」です。

まとめ

無事、ステージング環境が構築できたことを願っております。

データベースなど触るため、結構毛嫌いされる方も多いかと思いますが単純な作業かと思いますので是非やってみてください。

正直、この理屈がわかればステージング環境構築ではなく、WordPressサイトの引っ越しも同じ用にできます。

この作業だけでも、結構お金になるので覚えたほうがいいですよ!

プラグインを使って、楽にデータをエクスポートできたりするんですがプラグイン使うまでもないかと思っています。

あと、結構調べたんですがステージング環境をする際にプラグインを使う記事が多くて個人的にはプラグインなしの記事がほしかったので書きました。

少しでも、参考になっていただければ幸いです。

Ranking

目次