top

はじめに

当ブログではMovable Typeをダイナミック・パブリッシングで動かすための覚え書きを書いています。各種カスタマイズはダイナミックパブリッシングを使用しているという前提で書いてますので、中には静的生成では適用できないものもあるかもしれません。また3.17以前のバージョンには対応していないカスタマイズもありますので、よろしくお願い致します。

■ダイナミックパブリッシングとは
MT3.1から実装されたファイルの動的生成機能です。再構築が不要になるので、再構築時のサーバー負荷が激減します。動的にファイルを生成するので、リアルタイムで頁を表示出来るようになります。なお、ダイナミック・パブリッシングはPHPで動作していますが、拡張子はhtmlのままで使えます(phpに変える必要はありません)。以下の特徴があります。

  • 再構築が不要(静的生成の悩みだった再構築負荷がなくなる)。
  • リアルタイム表示が出来る。
  • 頁分割は標準装備(プラグイン不要)。
  • PHPで動いているので軽くて高速。
  • 拡張子がhtmlのままPHPを動かすことが出来る。
  • Smartyが使える。
  • テンプレート内にPHPコードを書くことも出来る。

■ダイナミック・パブリッシングのデメリットへの対応策
ダイナミック・パブリッシング内ではPerlのプラグインが使えませんが、簡単な一工夫でPerlのプラグインも使えるようになります。

ダイナミック・パブリッシング下でPerlのプラグインを使う方法

それにMT4からは変数が使えるようになったため、プラグインを使わなくてもほとんどのことはMTタグだけで出来るようになりました。また、ダイナミック・パブリッシングはSmartyで動いていますので、Smartyのコードを書くことで、PHPを直接動かして様々な機能を取り込むことが可能です。以下も参考にして下さい。

ダイナミック・パブリッシングを使いこなすコツ
PHPとSmarty

ダイナミックパブリッシングを使っているところが少ないので情報が少ないというところがやや難ですが、使いこなせれば無敵!の環境ではないかと。もっともっとダイナミックパブリッシングを使いこなして、ダイナミック生成のいいところを伝えていきたい。「ダイナミックパブリッシングに愛を!」が合言葉です(笑)。

■Movable Typeの導入
MTの導入方法についてはネットに素晴らしい指南サイト様が多数ありますので、そちらを参考にして下さい。なお、XREAでMTをインストールしてダイナミックパブリッシングする方法の詳細はこちら(3.2版)こちら(3.3版)こちら(4版)に上げてあります。

■データベース
ダイナミックパブリッシングするならデータベースはMySQL、PostgreSQL、SQLiteのどれかを使う必要があります。Berkeley DBでは使えませんのでご注意下さい。
なお、SQLiteを使う際はバージョンにご注意ください。
SQLite2:MT3.2~
SQLite3:MT4.2~(ただしPHP5が使えるのが条件)

■ダイナミックパブリッシングが使えるサーバー
基本的にはマニュアルの条件を満たしていればどのサーバーでも問題なく使えると思います。
ただしmod_rewriteが使えないサーバー(例:LaCoocan(@niftyホームページサービス)など)では、ダイナミックが動作しませんのでご注意下さい。

ちなみにこのブログはXREAで動かしてます。PHPがモジュール版で動くので、速くて軽快で使いよいです。

<2006.11.27 追記&一部修正>
<2007.10.12 追記>
<2009.12.30 一部改稿>