MovableTypeのステージング環境構築

MovableType(MT)でのステージング環境周りをまとめておく。

ステージング環境とは

ステージング環境とはシステム開発工程の一つで、本番環境と同様の状態でシステムの動作や不具合のチェックを行う段階のことです。 開発環境で開発を進め、テスト環境ステージング環境で問題がなければ、本番環境へとデプロイ(移行)します。

https://it-trend.jp/development_tools/article/32-0033

本番環境と(できれば)同一の環境を構築して、本番に公開する前の最終チェックを行う環境のこと。

セキュリティを高める副次効果

動的にページを生成する場合や、CMSのようにログインなどの機能がネット上に露出している場合、そこがセキュリティホールとなって攻撃を受ける場合がある。

一方でMTは基本的に静的なページ生成を行うことにメリットがあるCMSである。そのため執筆環境にもよるが、mtディレクトリにあるようなコアになるシステムはネット上に開放されている必要はない

よってローカルのステージング環境(もしくはアクセスを遮断したリモート環境)にコアになる部分を退避させ、本番環境は出力したファイルを同期させる形にすることで防御力を高めることができる。

バックアップ環境としても使える

また、CMSが生成するサムネイル画像などのデータはなかなかバックアップしておくことが難しい。ステージング環境にそうしたデータが蓄積されていけば、バックアップもこまめに確認することができる。

ステージング環境を実現する方法

最も手軽にステージング環境を実現するには、プラグインを使用する形が早そう。ステージング系プラグインはいくつかある。

プラグイン・ソリューション
https://www.sixapart.jp/movabletype/solutions/staging/

値段的に手頃かつ、公式とも連携している「Uploader」が一番導入が簡単そう。すでにMTを購入している場合は、20万円のプラグインと必要であれば年間サポート(44000円)を支払う。

管理画面等はまだ確認できていないが、通常の記事作成画面に本番環境への同期タイミングを指定できる模様。cronを使用して、指定時刻の公開・同期も可能。

注意点

ダイナミックパブリッシングが使用できない

ブログなどをダイナミックパブリッシングで出力している場合、機能しなくなってしまう。この部分は切り分けておくか、諦めて静的出力に変えてしまうかの判断が必要。

会員管理や予約システムなど、プラグインの稼働条件としてダイナミックパブリッシングが指定されている場合は注意。

パスの指定

絶対・相対パスまわりのテンプレート記述も確認しておく。絶対パスで記述している場合、ステージングと本番で画像などのリンクが切れてしまう場合がある。

個人的にはサブドメインなどの複雑な構成のサイトを運用する場合、絶対パスで出力される形が好みだが致し方あるまい。

ステージングが死ぬと予約公開なども死ぬ

ステージングのcronが止まると、予約公開も止まる。ステージング環境を自前のサーバで運用する場合、死活管理などもしっかり行う必要がある。

このサイトの主
投稿を作成しました 98

関連投稿

検索語を上に入力し、 Enter キーを押して検索します。キャンセルするには ESC を押してください。

トップに戻る