インストールと準備
動作条件
- PHP が動作すること (後述の mt-check.php を使ってチェックできます)
- Apache HTTP サーバーで分散設定ファイル (.htaccess) が有効化されており rewrite モジュール (mod_rewrite) のエンジンが有効であること
mt-check.php での確認
チェック用スクリプト 「mt-check.php」をブラウザで実行することで、DynamicMTML を動作させるための環境が整っているか確認することができます。
たとえば、CGIPath を http://www.example.com/cgi-bin/mt/ に設定している場合、mt-check.php は次の URL で実行できます。
- http://www.example.com/cgi-bin/mt/mt-check.php
実行できない場合は、mt-check.php をほかのディレクトリにコピーして実行してください。
インストールが完了した(mt-config.cgi が既に存在する)場合は、セキュリティ強化のため、mt-check.php の URL に直接アクセスしても環境情報を表示しません。別のディレクトリにファイルをコピーして実行し、必要がなくなったらファイルを削除してください。
ダイナミックパブリッシングの設定
ワークスペース/スペースの設定 (全般設定) で [ダイナミックパブリッシング] の各項目を設定します。
項目名 | 説明 | 設定例 |
---|---|---|
キャッシュする | ダイナミックパブリッシングのキャッシュを利用するかどうか | ON |
条件付き取得を有効にする | ダイナミックパブリッシングで Conditional GET を利用するかどうか | ON |
DynamicMTMLを有効にする | 静的コンテンツを DynamicMTML 処理する場合にチェックします。 | ON |
ビルド結果をキャッシュする | DynamicMTML によってビルドされた結果及びダイナミックパブリッシングでクエリ付きのリクエストが送られた場合、その結果をキャッシュします | ON(但し常に動的に結果を取得したい場合はOFF) |
( ビルド結果のキャッシュ有効期限(秒)) | キャッシュの有効期限(秒) | 適宜(再構築の際にキャッシュはクリアされますのでキャッシュを利用する場合は長めに設定しておいて構いません) |
DynamicMTML で条件付き GET を有効にする | HTTP ヘッダの情報とファイルのタイムスタンプ(もしくはワークスペース/スペースオブジェクトの更新タイムスタンプ)を比較して、コンテンツが更新されていない場合は 304 Not Modified ヘッダを返してクライアントキャッシュを使わせます。 | ON |
ビルドする拡張子 | DynamicMTML によって処理するファイルの拡張子をカンマ区切りで指定します | html,mtml 等(設定が空欄の場合のデフォルト値) |
処理対象外の拡張子 | セキュリティ等の理由から DynamicMTML の処理対象外にするファイルの拡張子をカンマ区切りで指定します | php,cgi,fcgi (設定が空欄の場合のデフォルト値) |
ディレクトリインデックス | リクエストが/で終わっていた時に処理するファイルをカンマ区切りで指定します | index.html,index.mtml (設定が空欄の場合のデフォルト値) |
テンプレートのインストール
PowerCMS のテーマを適用することで必要なテンプレートが自動的にインストールされますので、その場合は下記操作の必要はありません。
- ワークスペースまたはスペースのサイドメニュー [デザイン]-[テンプレート] からテンプレートの一覧を表示します。
- 右カラムの [ショートカット] ウィジェットから「DynamicMTML のインストール」をクリックします。
- 2つのインデックス・テンプレート「DynamicMTML Bootstrapper」(出力ファイル名: .mtview.php) と「DynamicMTML .htaccess」(出力ファイル名: .htaccess) がインストールされます。
- インストールされた2つのテンプレートを再構築してサーバーにファイルを生成します。
ワークスペースまたはスペースで PowerCMS を通さずに .htaccess を設置している場合、この再構築によって上書きされます。事前にバックアップの上、インストールと再構築を行うようにしてください。なお、対象のワークスペースまたはスペースに出力ファイル名が同一のインデックス・テンプレートが存在する場合、テンプレートのインストールは行われません。
動作の確認
ここまでで準備は完了です。続いて、いくつか例を挙げて実際の動作について説明します。
記事の本文にテンプレートタグを記述する
試しに記事の本文にテンプレートタグを記述して動作を確認してみます。
<mt:Entries lastn="3">
<mt:EntriesHeader>
<h3>最近のスペース記事</h3>
<ul>
</mt:EntriesHeader>
<li><a href="<mt:EntryPermalink/>"><mt:EntryTitle remove_html="1"/></a></li>
<mt:EntriesFooter>
</ul>
</mt:EntriesFooter>
</mt:Entries>
設定が正しく行われていれば画像のように、本文部分に記事のリストが表示されます。表示されない場合は、サーバー上に出力された HTML ファイルにテンプレートタグが記述されているか確認してください。
コピーして PowerCMS 管理外の別のファイルにする
続いて、サーバーに生成されたこの記事の HTML ファイルを FTP 等でダウンロードしてテキストエディタで編集します。ここでは mt:Entries の lastn モディファイアの値を 3 から 20 に変更します。
PowerCMS で管理されていないファイルが動的に処理された結果を確認するため、ファイル名を適当な名前に変更してサーバーに設置し、ブラウザでアクセスします。
PowerCMS で管理されていないテキストファイルが動的に処理されていることを確認できました。