WordPressをテスト環境で動作させる ~ SnapUpを使おう!
WordPressを使っていると、実にさまざまなトラブルが発生します。一番多く問題が発生する時はアップグレードですが、プラグインを入れたり、テーマを変更したり、サーバーOSやPHP、mySQLのバージョン変更があったり、PHPソースに手を入れたりなどをすると、WordPressが動作をしなくなることが良くあります。
このような問題が起こるとバックアップから元に戻す操作をしますが、元に戻らずに大惨事になることも起こり得ます。恐らく、Webプログラマでは少なからず経験があるのではないでしょうか。
そこで、WordPressの本番環境へ手を加える前に、テスト環境で動作確認をすることがおすすめです。それには、どうすれば良いのでしょうか。
1.SnapUpを使う
SnapUpは、本番環境を丸ごとコピーしてテスト環境で動作確認ができるツールです。
SnapUpを使うことにより、本番環境をコピーしてテスト環境でいろいろ動作確認ができます。さらに、本番環境をバックアップしておけるので、本番環境が壊れても復元を簡単に行うことができます。
少し前にWordPressのアップグレードの記事でSnapUpを紹介しました。SnapUpの始め方を紹介しているので、まずはそちらをご覧ください。
今回は、テスト環境(ステージングサーバー)でWordPressをテストする方法について、ご紹介します。
※使用したSnapUpは「さくらのレンタルサーバー」用にカスタマイズされたSnapUpになります。「unimal Co.,Ltd.」様が提供する純正のものとは違いがある(と思う)ので、ご了承ください。
2.スナップショットの作成
まず最初にすることは、スナップショットの作成です。これは、バックアップした一纏めのパッケージを言います。スナップショットは、現時点の本番サーバーから取得する方法と、スケジュールによる定期バックアップで取得する方法があります。
例では、2つのスナップショットが定期バックアップで取得されています。それでは、上の8/22日に取得されたスナップショットでテスト環境を構築してみます。
選択すると、詳細表示になります。スナップショット内のファイル数とサイズが表示されています。
3.ステージングサーバーの作成
テストは、「ステージングサーバー」という環境で行います。ステージングサーバーは一つしかないことに注意してください。複数のスナップショットがあっても、一つを使い回しします。
一番最初ではステージングサーバーが作成されていないので、右側にあるステージングサーバーのウインドウで「ステージングサーバーを作成する」を選択します。
ステージングサーバー作成のウインドウが表示されます。これから作成するステージングサーバーのサーバー環境を設定する項目があります。作成したいサーバー環境を設定して「追加」を押してください。
ステージングサーバーが作成されました。しかし、この時点ではステージングサーバーに何も設定されていません。そこで、スナップショットからステージングサーバーへファイルを転送します。つまり、スナップショットにあるWordPressをステージングサーバーに設定することになります。
選択したスナップショットにある「ステージングサーバーへセット」を押します。
コピー方法を促すウインドウが表示されます。「サイトURLをリリース先に合わせる(既定)」のままで良いでしょう。「OK」を押します。
コピーの経過が表示されます。
ステージングサーバーにスナップショットのWordPressが設定されました。上にステージングサーバーのURLが表示されています。これをクリックすると
スナップショットを取得した時点のWordPressが表示されました。ここで各種テストを行って本番環境に反映すれば、本番環境でのトラブルを防ぐことができます。
4.テスト環境を本番環境へ設定する
テスト環境で設定した内容を本番環境に設定することもできます。それには、新しくスナップショットを作成します。その作成時に
「ステージングサーバーから取得」を選択します。つまり、変更されたテスト環境をスナップショットとして作成するわけです。そのスナップショットを「本番サーバーへリリース」すれば、本番環境に設定されます。すごく便利ですね。
5.WordPress(6.02)とLuxeritas(3.23.1)へアップグレードする
2022年10月13日に、WordPressとテーマLuxeritasを最新バージョンにアップグレードしました。その作業の前に、SnapUpのステージングサーバーで数多くのテストをしました。ほんとはWordPressを5.8以上にアップグレードしたくなかったのですが、どうしても不具合を解消できず、結論としてWordPressとLuxeritasを最新にすることにより不具合を解消できるとことになりました。
正直、ステージングサーバーでのテストができなければ、テーマを他に変えることになったと思います。もし他のテーマにするとなれば、1日程度の工事期間が必要でした。SnapUpのおかげで、無事アップグレードが完了しました。
6.SnapUpなしのWordPress運営は考えられない
以上、SnapUpによるテスト環境について紹介してきましたが、SnapUpなしのWordPress運営は考えられないと思います。もちろん、同じようなツールを使っても良いですが、すべて手動でWordPressを運営するのは手間が掛かります。SnapUpのようなツールの運用は必須と言って良いのではないでしょうか。
WordPressを運用していて、画面が真っ白になって、且つ復旧にも失敗した時の焦燥感はハンパないです。そうならないためにもSnapUpのようなバックアップ/テストツールは是非とも使ってください。