.webp&w=3840&q=75)
WordPressのマルチサイトを、Docker環境で構築したことがあります。
Dockerは、アプリケーションの実行環境をまとめて管理できる便利な仕組みです。
開発環境をそろえたり、環境の違いによるトラブルを減らしたりするために使われています。
便利なものなのですが、構築中には少し困ったことがありました。
Dockerイメージを更新すると、WordPressのマルチサイトがシングルサイトに戻ってしまうのです。
しかも、一度だけではありません。
更新するたびに、同じような状態になっていました。
マルチサイトだったはずなのに
WordPressには、ひとつのインストールで複数のサイトを管理できる「マルチサイト」という機能があります。
通常のWordPressとは少し構成が異なり、ネットワーク全体の管理機能なども用意されています。
今回の案件では、このマルチサイト機能を利用していました。
ところが、Dockerイメージを更新すると、マルチサイトとして動いていたWordPressが、シングルサイトの状態になってしまう。
当然ながら、想定していた動作ではありません。
Dockerの更新作業とWordPressの設定。
一見すると別々のものに思えますが、実際にはWebサーバーの設定なども関係しています。
WordPressの管理画面だけを見ていても、原因がわかるとは限らないのです。
原因は.htaccessだった
最終的に、原因は .htaccess にあることがわかりました。
.htaccess は、ApacheというWebサーバーで使用される設定ファイルです。
WordPressでは、URLの書き換えなどにも使われています。
特にマルチサイトでは、通常のシングルサイトとは異なる設定が必要になる場合があります。
今回も、このファイルが問題に関係していました。
WordPressの不具合というと、まずプラグインやテーマを疑いたくなります。
でも、WordPress自体に問題があるとは限りません。
PHPの設定やWebサーバーの設定、実行環境など、確認するべきところはほかにもあります。
今回の件は、そのことを改めて感じた出来事でした。
Dockerを使えば、すべて簡単になるわけではない
Dockerは便利です。
環境を再現しやすく、構成を管理しやすいというメリットがあります。
ただし、Dockerを使っているからといって、環境に関する問題がすべてなくなるわけではありません。
コンテナの中で何が動いているのか。
どの設定ファイルが使われているのか。
更新したときに、どの部分が影響を受けるのか。
そうしたことを理解していなければ、思わぬところでつまずくことがあります。
今回のように、WordPressの管理画面からは見えない部分が原因になることもあります。
Web制作の仕事では、HTMLやCSS、JavaScriptだけでなく、サーバー側の知識が必要になる場面も少なくありません。
すべてを専門家と同じレベルで理解するのは難しいですが、少なくとも、どこに問題がありそうなのかを考えられるようにはなりたいと思っています。
作って終わり、ではないから
この案件は、その後、クライアント側で運用が始まりました。
最近はセキュリティ上の対応が必要になり、Docker環境の更新についても話が出ています。
本番環境にはこちらから直接アクセスできないため、先方のエンジニアに対応してもらいました。
以前の構築時に経験したことがあるので、環境を更新するときには、WordPressが正常に動くかどうかも気になるところです。
Webサイトは、公開して終わりではありません。
公開後も、使用している技術は更新されていきます。
そのたびに、サイトが問題なく動き続けられるように考える必要があります。
新しいサイトを作る仕事も好きですが、こうした運用の仕事も、意外と嫌いではありません。
原因を調べて、ひとつずつ確認していく。
少しずつ問題が整理されていくのは、それなりに面白いものです。
もちろん、何も問題が起きないのが一番なのですが。
Dockerを更新するたびにWordPressがシングルサイトに戻る、というのは、さすがに困ります...