Perl版ダイナミックパブリッシング(MT5以降用・その1)

「Perl版ダイナミック・パブリッシング」は、テンプレートの再構築を動的に行うことができるプラグインです。
読者がページにアクセスした時点でページを再構築する動作をします。
Movable Type本体のダイナミック・パブリッシングとは異なり、既存のプラグインをほとんど利用できるメリットがあります。

このプラグインのMovable Type 5以降用を公開します。
今日は、インストールとMovable Type全般に関する設定の手順を解説します。

なお、このバージョンはMovable Type 5以降専用です。
旧版のMovable Typeをお使いの方は、以下のバージョンをご利用ください。

1.必要な環境

このプラグインはPHPを使用しています。
したがって、PHPが動作するWebサーバーが必要です。
ただし、ウェブサイトやブログの個々のページの拡張子は、.htmlのままで構いません。

また、データベースとして、MySQLを使っていることが必要です。
プラグイン自体はSQLiteとPostgreSQLにも対応していますが、MT本体がMySQLのみサポートになりましたので、SQLiteとPostgreSQLでの動作については保証できません。

2.プラグインのダウンロードと解凍

Perl版ダイナミック・パブリッシングのプラグインは、以下のアドレスからダウンロードします。

また、「RebuildHelper」というプラグインも別途必要です。
そのプラグインは以下のアドレスからダウンロードします。
RebuildHelperもバージョンアップしていますので、1.02以前のバージョンをお使いの方は、新しいバージョンをダウンロードしてください。

RebuildHelper_1_06.zip

これら2つのファイルをダウンロードしたら、解凍しておいてください。
ただし、この時点ではまだアップロードは行いません。

3.全SQL対応版からバージョンアップする場合の準備

以下のパターンの方は、このプラグインのバージョンアップの前に準備の作業が必要です。

まず、MySQLまたはPostgreSQLでデータベースを管理している場合は、既存のキャッシュ用テーブルをデータベースから削除します。
手順は以下の通りです。

  • 1.の手順で解凍したものの中に、「PerlDynamic」というフォルダがあり、その中に「mt-dpcache-drop.php」というファイルがありますので、そのファイルをメモ帳等で開き、内容をすべてコピーします。
  • Movable Typeにログインして、Perl版ダイナミック・パブリッシングを利用しているブログで、インデックス・テンプレートを新規作成します。
  • インデックス・テンプレートの名前と出力ファイル名を「mt-dpcache-drop.php」にし、「テンプレートの内容」の欄に、先程コピーしておいたmt-dpcache-drop.phpの内容を貼り付けます。
  • ここまででできたインデックス・テンプレートを保存し、再構築します。
  • 再構築されたページにアクセスすると、既存のキャッシュ用テーブルが削除されます。
  • mt-dpcache-drop.phpのテンプレートを削除し、またブログの出力先ディレクトリからもmt-dpcache-drop.phpを削除しておきます。

また、データベースの種類に関係なく、以下の作業を行います。

  • 各ブログから「dynamic_init.pl」と「mt-dpcache-load.php」のテンプレートを削除します。
  • 各ブログの出力先ディレクトリから、「mt-dynamic.cgi」「dynamic_init.pl」「mt-dpcache-load.php」のファイルを削除します。
  • Movable Typeの「plugins」ディレクトリから、「GetConfig.pl」ファイルを削除します。

4.プラグインのインストール

次に、Perl版ダイナミック・パブリッシングのプラグインをインストールします。
先程解凍した2つのZipファイルの中に、「PerlDynamic」と「RebuildHelper」の2つのフォルダがあります。
それらのフォルダを丸ごと、Movable Typeのインストールにある「plugins」ディレクトリにアップロードします。
ただし、「PerlDynamic」フォルダの「mt-dpcache-drop.php」ファイルはアップロードしないでください。

これで、Movable Typeの「plugins」ディレクトリの中に、「PerlDynamic」と「RebuildHelper」というディレクトリができます。
「PerlDynamic」ディレクトリの中にある「mt-perl-dynamic.cgi」と「mt-perl-dynamic-setup.cgi」のパーミッションを「755」などに変えて、実行可能にします。

また、RebuildHelperプラグインのバージョン1.04以前をお使いだった場合、Movable Typeのディレクトリにある「plugins」→「RebuildHelper」ディレクトリから「RebuildHelper.pl」ファイルを削除します。

5.データベースの初期化

このプラグインをアップロードした後、初めてMovable Typeにログインする際には、アップグレードのメッセージが表示されます。
画面の指示にしたがって、アップグレードの作業を行います。

6.ホスト名とポートの設定

まず、システムメニューに切り替えて、「ツール」→「プラグイン」メニューを選び、プラグイン一覧を表示します。
そして、「Dynamic publishing by Perl」の「設定」タブをクリックし、設定画面を開きます。
この中の「ホスト名」と「ポート」の欄を設定します。

「ホスト名」の欄には、Movable Typeのインストール先のホスト名(http://○○○.□□□.com/~なら「○○○.□□□.com」の部分)を入力します。
mt-config.cgiのCGIPathの設定が「http://~」の形になっていれば、そこからホスト名が自動的に割り出され、「ホスト名」の欄の初期値として入力されます。

一方、CGIPathの設定がホスト名以降の相対パスの形になっている場合、「ホスト名」の欄は空欄になります。
この時は、「mt.cgiのホスト名から入力」のボタンをクリックして、ホスト名を入力します。

「ポート」の欄は、デフォルトで「80」になっています。
通常は「80」のままにしておきます。

ただし、Movable Typeのインストール先サーバーのポート番号が80以外の場合(8080など)は、そのポート番号を、この欄に入力します。
「mt.cgiのポート番号を入力」のボタンをクリックすると、mt.cgiのアドレスからポート番号を割り出して、自動的に入力することができます。

ホスト名とポートの設定