エンタープライズ用途での利用が増えている「WordPress」の高速化チューニングテクニックを解説する本連載。今回は、先日、WordPressの過去バージョンに存在した脆弱性によって多くのページ改ざん被害が発覚した事案を踏まえ、WordPressのバージョンアップを自動化して、最新のアップデートを「正しく」適用する方法を解説します。
前回は、WordPressサイトを常時SSL、HTTP/2化する方法と混在コンテンツへの対処方法を紹介しました。今回はKUSANAGI<運用編>として、WordPressのバージョンアップの種類と手法を理解し、WordPressのバージョンアップを自動化して最新のアップデートを適用するまでの方法を解説します。
WordPressは、本体である「WordPressコア」、機能を拡張する「プラグイン」、見た目の外観を制御する「テーマ」、各国言語に対応する「言語ファイル」の4種類のモジュールで構成されます。これらをアップデートすることで最新の状態を保持し、安全な状態を確保できます。
2016年3月現在の最新バージョンは「4.7.3」です。最近はおよそ3カ月に1度のサイクルで「メジャーアップデート」が提供されています。
メジャーアップデートとは、新しい機能の追加を伴うアップデートのことを指します。メジャーアップデートにより、WordPressは便利な最新機能を付加して進化しています。
WordPressのバージョン番号では、4.7.3のうち、「4.7」の部分がメジャーバージョンになります。メジャーバージョンは0.1単位で上がり、4.6から4.7のように進みます。WordPressは他のプロダクトと異なり、メジャーバージョンの一の位(4.7.3の「4」の部分)に大きな意味はありません。例えば、3.9から4.0へのバージョンアップであっても、3.8から3.9へのバージョンアップと同様に、あくまで次のメジャーバージョンであるという意味しかありません。これは、WordPressが重視している後方互換性確保のポリシーのためです。このことは、WordPressの開発、運用ポリシーに従った運用を行っている限り、「メジャーアップデートによって今まで動作していたWordPressが動作しなくなる可能性が低い」ということを示しています。
これに対して、不具合の修正やセキュリティパッチの提供を行う「マイナーアップデート」があります。バージョン番号では、4.7.3の「3」の部分です。
マイナーアップデートは、不具合の解消やセキュリティフィックスを目的としているので、大きな機能が追加されることはありません。前述したように、WordPressではメジャーアップデートであっても原則として後方互換性が確保されますから、マイナーアップデートによって、今まで動作していたWordPressが動作しなくなる可能性は極めて低いといえます。何よりセキュリティフィックスならば、即時の適用が推奨されます。
ちなみに、WordPress.orgの「Release Archive」では、公開されている過去全てのリリースを確認できます(図1)。直近では、4.7が最新版のメジャーバージョンで、4.7系のマイナーアップデートが4.7.1、4.7.2、4.7.3とリリースされていることが分かります。
また、マイナーアップデートは、最新のメジャーバージョンのみならず、過去10世代程度のメジャーバージョンのものも提供されています。GitHubでは公開されているメジャーバージョンごとの最新マイナーリリースの一覧を確認できます(図2)。
参考までに、2016年3月7日のマイナーアップデートリリースでは、最新メジャーバージョン4.7系の4.7.3の他に、3.7〜4.6までの旧メジャーバージョンでもマイナーアップデートがリリースされました。
WordPressコアのアップデートは、原則として常に最新版を適用するのが望ましいのですが、それが難しい場合もあるでしょう。自身が運営しているWordPressサイトで「WordPressコアをどんなポリシーでアップデートしていくか」を決める際には、例えば、上記の情報を踏まえて「一定期間、ステージング環境での検証が終了するまではメジャーアップデートを行わず、マイナーアップデートを適用する」というポリシーも選択肢の1つとなります。
WordPressコアやテーマに用いる言語ファイルも独立したアップデートの1つとなっています。こちらは、WordPressの動作に影響はないので、常に最新版を適用する体制でよいでしょう。
プラグインとテーマのアップデートサイクルは、「それを作成した各作者に依存」します。それがセキュリティアップデートならば即時適用すべきですが、それ以外の場合はWordPressの動作に影響がある可能性もあることから、ご自身でアップデートポリシーを定めて、アップデートを適用していくようにするとよいでしょう。
例えば筆者は、自社のWordPressサイトはプラグインもテーマもアップデートを自動適用していますが、ステージング環境で検証が必要となるクライアントのWordPressサイトなどの場合は、ステージング環境ではアップデートを自動適用して、本番環境では緊急性の高いセキュリティアップデートは検証して数日以内に、それ以外は数カ月に1度などで定期的に手動適用するポリシーを設定して運営しています。
Copyright © ITmedia, Inc. All Rights Reserved.