一人十郷 - takuminasuno.com 一人十郷
takuminasuno.com
ビジネス
2024/10/05

ConoHa VPSのWordPressサイトを複製してステージング環境を作った手順をまとめてみた

こんにちは。那須野拓実です。

今日はConoHa VPSのWordPressサイトを複製してステージング環境(STG環境)を作った手順について、備忘録を兼ねてまとめておきたいと思います。

WordPressのステージング環境とは?

WordPressは簡単にブログやメディアを構築できるOSS(オープンソース)のCMS(コンテンツマネジメントシステム)で、サーバーを持っている人であればだれでも無料でインストールしてウェブサイトを立ち上げられます。

様々なデザインのWordPressテーマが公開されており、プログラミングせずともノーコードでサイトを運営することが可能です。また、サーバー管理はできないよという方向けに有償でフルマネージド環境を提供している企業もあります。Automattic社のWordPress.comが一番有名に思います。

一方でWordPressの1つの特徴に、オリジナルのテーマを作成することができる点があります。PHPとCSS, JavaScriptなどで記述することで自分だけのウェブサイトの構成・デザインを作ることができるのです。

しかし、オリジナルのテーマ作成とは、それすなわちプログラミングをするということです。書いたコードにバグがあるままサイトに反映すると、うっかりサイトが表示されなくなることがあります。

There has been a critical error on your websites. Please check your site admin email inbox for instructions.

といったエラー画面とともに、サイトが見られなくなる事態に遭遇したことがある方は少なくないでしょう。自分が書いたテーマがちゃんと動くかどうかを確かめるためには、開発環境をXAMPPやLocalといったツールを使ってローカル環境に構築するのが一般的です。

しかし、ローカルの開発環境だと完全に環境を一致させることが難しいため、シンプルに本番環境と同じ環境(ステージング環境)をサーバー上に構築することが有効です。

特に、特定の投稿や固定ページ専用のテーマを用意している場合は、投稿IDで指定する兼ね合いでデータを完全に同期する必要が出てきます。そういった場合はXAMPPやLocalで作った環境で一致させるのが億劫なので、サーバー上に環境を複製する方が楽だったりします。

ということで、誰もが見られるWordPressの本番環境とは別に、WordPressのステージング環境を作りましょうというのが本記事の主題です。

 

WordPressのステージング環境の構成

実際の手順に入る前に、WordPressステージング環境とは具体的にどういうことか、構成をまとめてみます。

DNSサーバー側でAレコードを追加しつつ、もともと作っていたコンテンツディレクトリとデータベースを複製し、設定ディレクトリのconfファイルでバーチャルホストの設定を追加するイメージです。ただ、それぞれ複製したものを修正しないといけない箇所があるので、それは具体的な手順で確認したいと思います。

 

WordPressのステージング環境の作成手順

それでは、WordPressサイトを複製してステージング環境を作った手順を見ていきたいとおみます。

なお、作業環境は以下の通りです。ご留意ください。

  • サーバー:ConoHa VPS
  • サーバーOS:Rocky Linux 9.4(※CentOSと同系列)
  • Webサーバー:Apache(certbotインストール済)
  • PC:Windows 11
  • SSHクライアント:Windows PowerShell

それでは具体的に見ていきましょう。

  1. サーバーにSSHログイン
  2. MariaDBにログインしてステージング環境のデータベースを作成
  3. 本番環境のデータベースのdumpを取って、ステージング環境の方に流し込む
  4. コンテンツディレクトリの複製
  5. wp-config.phpの修正

    ↓実際の記述内容↓
    (5点を修正)

  6. robots.txtを設置してGoogleのサイト巡回をブロック。
    ※もっとセキュアにしたい場合は、Apache設定ファイル(wp-config.php)にてBasic認証を設定したりなどをする。

    ↓実際の記述内容↓

  7. テーマファイルをWinSCPから作業ユーザーで更新できるように権限設定
    ※apacheが管理者のテーマディレクトリを作業ユーザーも編集できるようにする。
  8. ドメインのDNSレコードの設定
    ※AレコードをサーバーのIPアドレスに向ける形で設定し、コマンドプロンプトで「nslookup stg.{my-app}.com」を実行してIPアドレスが表示されるか確認する。
  9. SSL証明書の発行
  10. バーチャルホストの設定
    ※セキュリティに関連するので詳細は書かないが、もとのconfファイルを複製のうえ、すべてのディレクトリ、URLを本番環境({my-app})のものからステージング環境のもの(stg.{my-app})に置き換える。
  11. 管理画面にアクセスし、WordPressの管理画面でも「設定」→「表示設定」に移動して「検索エンジンでの表示」のチェックボックスを外す。

これで設定完了です。もう少し厳密にやりたい場合は、Better Search Replaceなどのプラグインを使ってwp_posts内の本番ドメイン({my-app}.com)をステージングドメイン(stg.{my-app}.com)に置換すると単一環境として整合性がより綺麗になります。

また、おまけで対応した方が良いこととして、GA4を始めとしたアナリティクスツールやマーケティングツールを使っている場合は、本番環境の時のみツールのタグ(Googleタグマネージャーなど)が挿入されるようにした方が良いです。

Googleタグマネージャーを経由してツールのタグを埋め込んでいるのであれば、以下のようなコードで対応可能です。こういった処理を入れるだけでステージング環境では読み込まれなくなり、本番環境の数字の一貫性が担保されるようになります。


 

まとめ

作業自体は短いですが、色々なところを触らないといけないのでちょっと大変ですね。でもこの手順に従えば、DNSレコードの伝播を待ち時間を含めても順調にいけば1時間前後でサクッとWordPressのステージング環境が構築できるので便利です。

今回はステージング環境に特化してまとめましたが、同じ手順でサイトの複製が可能なので、この手順自体は色々と有効活用できそうです。

以上、この投稿が誰かの役に立てば幸いです。

同じカテゴリーの投稿もどうぞ!
Dataformを使ってBigQueryにあるGA4データを加工してLooker Studioで可視化してみた話
ビジネス
2024/10/20
Dataformを使ってBigQueryにあるGA4データを加工してLooker Studioで可視化してみた話
ConoHa VPSにMetabaseをインストールして独自ドメインを宛がってみた話
ビジネス
2024/10/02
ConoHa VPSにMetabaseをインストールして独自ドメインを宛がってみた話
WPMLを使っているこのWordPressブログで、CentOSをやめてRocky Linuxを採用してサーバー諸々をアップデートした話
ビジネス
2024/08/17
WPMLを使っているこのWordPressブログで、CentOSをやめてRocky Linuxを採用してサーバー諸々をアップデートした話
WordPressでたった1つの投稿だけなぜか表示されない不具合を解消した件【PHPメモリエラー】
ビジネス
2024/07/28
WordPressでたった1つの投稿だけなぜか表示されない不具合を解消した件【PHPメモリエラー】
Looker Studioで新しいグラフ種別を作る【Community Visualizations】
ビジネス
2024/07/14
Looker Studioで新しいグラフ種別を作る【Community Visualizations】
ブログ著者について
那須野 拓実(なすの たくみ)。たなぐら応援大使(福島県棚倉町)。トリプレッソを勝手に応援していた人。元語学屋。時々写真垢とか手芸垢。山とか滝とか紅葉とかが好き。本業はナレッジマネジメントとかデータ分析とかの何でも屋。コロナワクチン接種済み。