お知らせ
・2007年10月2日
新刊の「JavaScript 中級講座 ~Ajaxを学ぶ前の基礎知識」が発売されました。
JavaScriptの基本から、オブジェクトやAjaxなどの最近のJavaScriptの話題まで、幅広く取り上げています。
技術評論社刊、定価2,709円(税込)です。
« Movable Type β5リリース | メイン | くるり「ワルツを踊れ Tanz Walzer 」 »
・2007年10月2日
新刊の「JavaScript 中級講座 ~Ajaxを学ぶ前の基礎知識」が発売されました。
JavaScriptの基本から、オブジェクトやAjaxなどの最近のJavaScriptの話題まで、幅広く取り上げています。
技術評論社刊、定価2,709円(税込)です。
「Perl版ダイナミック・パブリッシング」は、テンプレートの再構築を動的に行うことができるプラグインです。
読者がページにアクセスした時点でページを再構築する動作をします。
Movable Type本体のダイナミック・パブリッシングとは異なり、既存のプラグインをほとんど利用できるメリットがあります。
さらに、データベースとしてMySQLかPostgreSQLを使っている場合、ページをキャッシュして、動的再構築による負荷の増加を抑えることもできます。
このプラグインのMovable Type 4版を公開します。
なお、Movable Type 3.3では3.3用をお使いください。
Perl版ダイナミック・パブリッシングのプラグインは、以下のアドレスからダウンロードします。
また、今回のバージョンから、再構築処理を別プラグインに分離しています。
そのプラグインは以下のアドレスからダウンロードします。
プラグインの継続的な開発やサポートのために、プラグインをご利用された方は、ドネーション(寄付)を行っていただけると幸いです。
ドネーションの方法は、こちらのページをご参照ください。
これら2つのファイルをダウンロードしたら、解凍しておいてください。
ただし、この時点ではまだアップロードは行いません。
これまでに、全SQL対応版のPerl版ダイナミック・パブリッシングを利用していた場合、バージョンアップの前に準備の作業が必要です。
まず、MySQLまたはPostgreSQLでデータベースを管理している場合は、既存のキャッシュ用テーブルをデータベースから削除します。
手順は以下の通りです。
また、データベースの種類に関係なく、以下の作業を行います。
次に、Perl版ダイナミック・パブリッシングのプラグインをインストールします。
先程解凍したファイルの中に、「PerlDynamic」と「RebuildHelper」の2つのフォルダがあります。
それらのフォルダを丸ごと、Movable Typeのインストールにある「plugins」ディレクトリにアップロードします。
ただし、「mt-dpcache-drop.php」ファイルはアップロードしないでください。
これで、Movable Typeの「plugins」ディレクトリの中に、「PerlDynamic」と「RebuildHelper」というディレクトリができます。
「PerlDynamic」ディレクトリの中にある「mt-perl-dynamic.cgi」と「mt-perl-dynamic-setup.cgi」のパーミッションを「755」などに変えて、実行可能にします。
なお、Movable Typeの設定をutf-8以外にしていても、ファイルをアップロードする際には文字コードを変えないでください。
このプラグインをアップロードした後、初めてMovable Typeにログインする際には、以下のようなページが表示されますので、「アップグレードの開始」ボタンをクリックします。
サインインするようにメッセージが出たら、ログインを行います。
これで、データベースにテーブルが追加されます。
アップグレードが終わると、以下の表示になります。
FastCGIに対応したサーバーをお使いの場合は、Perl版ダイナミック・パブリッシングをFastCGI化することができます。
まず、サーバーにアップロードした「mt-perl-dynamic.cgi」の拡張子を、FastCGIの拡張子に変えます。
例えば、「.fcgi」の拡張子のファイルをFastCGIとして動作させるように設定している場合、「mt-perl-dynamic.cgi」を「「mt-perl-dynamic.fcgi」にリネームします。
次に、プラグインの設定で、「mt-perl-dynamic.cgi」の拡張子を指定します。
システムメニューのプラグイン一覧のページを開き、「Dynamic publishing by Perl」のプラグインの箇所で「設定を表示」のリンクをクリックします。
これで設定を行う状態になりますので、「mt-perl-dynamic.cgiの拡張子」の欄で、FastCGIの拡張子を設定します。
例えば、「.fcgi」の拡張子のファイルをFastCGIとして動作させるように設定している場合、この欄に「fcgi」と入力します。拡張子の前の「.」は入力しません。
次に、Movable Typeのダイナミック・パブリッシングの機能をオンにします。
ダイナミック・パブリッシングにしたいBlogで、「設定」メニューの「ブログの設定」を選んで設定ページを開き、ページ左端のメニューで「公開」を選びます。
そして、「公開に関するオプション」の部分で「テンプレートごとに構築オプションを設定する」をオンにして、「変更を保存」ボタンをクリックします。
次に、Perl版ダイナミック・パブリッシングを初期化します。
ダイナミック・パブリッシングにしたいBlogで、「設定」メニューの「ブログの設定」を選んで設定ページに接続し、ページ左端のメニューで「プラグイン」を選びます。
そして、プラグイン一覧の「Dynamic Publishing by Perl」のところで「設定を表示」をクリックします。
すると、「初期化する」というリンクが表示されますので、それをクリックします。
初期化が終わると、以下のようなメッセージが表示されます。
なお、初期化では以下のような処理が自動的に行われます。
次に、Perl版ダイナミック・パブリッシングを設定します。
初期化完了のページで、「このリンクをクリックして、設定を続けてください。」をクリックすると、設定ページに移動します。
また、ブログの「設定」ページの「プラグイン」でPerl版ダイナミック・パブリッシングの「設定を表示」をクリックし、その中の「設定を行う」のリンクをクリックしても、設定ページを開くことができます。
設定ページでは、以下の点を設定します。そして、設定が終わったら、「設定を保存」のボタンをクリックします。
・インデックスページのファイル名
メインページとアーカイブページのファイル名を指定します。
初期値は「index.html」ですが、BlogをPHP化している方は「index.php」に変えてください。
・ページが見つからないときの移動先のURL
間違ったアドレスのページに接続されたときには、エラーページに転送することができます。
その機能を使いたい場合は、この欄にエラーページのURLを入力します。
なお、この欄を空欄にした場合、間違ったアドレスに接続されたときには、「ご指定のアドレスのページは見つかりませんでした。」というメッセージが表示されます。
・キャッシュの設定
Movable TypeのデータをMySQLかPostgreSQLに保存している場合、ページのキャッシュ機能を使うことができます。
キャッシュ機能を使いたい場合は、「キャッシュを使う」のチェックをオンにします。
また、キャッシュをオンにする場合、「キャッシュの容量」の欄で容量も指定することができます。
次に、インデックス・テンプレートとアーカイブ・テンプレートの中で、ダイナミック・パブリッシングにしたいものを選びます。
対象のテンプレートを開き、「再構築オプション」の部分にある「このテンプレートをダイナミックページにする」のチェックをオンにして、テンプレートを保存します。
↓このテンプレートをダイナミックページにする」のチェックをオンにする
ダイナミック・パブリッシングにするテンプレートを選び終わったら、Blog全体を再構築します。
これ以後は、各ページがダイナミック・パブリッシングで出力されます。
なお、再構築後にBlogの出力先ディレクトリを見ると、「~.static」という名前のファイルができています。これらのファイルは、これまでの静的再構築で作られていたファイルです。
これらのファイルは不要になりますので、サーバーから削除することができます。
このエントリーのトラックバックURL:
http://www.h-fj.com/mt/mt-tbb.cgi/966/hfjblog/XXXXXXXX
トラックバックスパム防止のため、お手数ですがコードの入力をお願いしています。
上記のトラックバックURLの「XXXXXXXX」の部分を、以下の画像に表示されている8桁の数値に置き換えてください。
この一覧は、次のエントリーを参照しています: Perl版ダイナミック・パブリッシング(MT4用):
» 1. MovableTypeをめっちゃ高速化する20の方法。 送信元 Junnama Online (Mirror)
いつかちゃんと書こうと思っていた。 こういうタイトルのEntryをM回以上かく... [詳しくはこちら]
» 2. MT4: PerlDynamicの適用とエントリのインポート完了 送信元 cefa::blog
それなりにベータ版やRC版でテストをしていたつもりでしたが、最後には特大のトラップが色々と待っていたお陰で約半日完全に公開できない状態に陥っていた私たち夫... [詳しくはこちら]
» 3. ダイナミック・パブリシングができない 送信元 OKANO WEB Cstomize
ここのサーバはさくらインターネットなんですが、一応ググッてみるとさくらでダイナミ... [詳しくはこちら]
エントリー「Perl版ダイナミック・パブリッシング(MT4用)」のページです。
携帯電話でもご覧いただくことができます。
Yahooでの検索結果は、ここに表示されます。
「New」は最近1週間にエントリーが追加されたカテゴリーです。
各カテゴリーの最新エントリー一覧
「New」は最近1週間にエントリーが追加されたタグです。
Powered by
Movable Type 3.35
Copyright © 2004-2007 By H.Fujimoto
コメント (12)
キャッシュを使う設定にすると、
「キャッシュファイルのコピーに失敗しました」と表示され、
キャッシュを外すと、今度は
"Warning: include() [function.include]: Failed opening '' for inclusion (include_path='.:/usr/local/lib/php') in .../mt-dynamic.php on line 181"と表示されます。
なんだか、いつも同じ質問をしているようで恐縮なのですが、
今回もおつき合い下さい。
よろしくお願いします。
1. 投稿者: footbrain | 2007年07月11日 15:52
日時: " title="このコメントへのパーマリンク">2007年07月11日 15:52
>footbrainさん
こんにちは。
mt-perl-dynamic.cgiが正しく動作していないものと思われます。
mt-perl-dynamic.cgiのパーミッションを確認してみてください。
2. 投稿者: 壱
|
2007年07月11日 16:14
日時: " title="このコメントへのパーマリンク">2007年07月11日 16:14
たびたびスミマセン。自己レスです。
http://www.h-fj.com/blog/archives/2007/03/07-124806.php#comment-1858
の「試しに、mt-perl-dynamic-setup.cgiと、mt-perl-dynamic.cgiの先頭の行を、
以下のように変えて、警告メッセージを出力しないようにしてみてください。
変更前:
#!/usr/bin/perl -w
変更後:
#!/usr/bin/perl」を参考にして見たところ、
Perl版ダイナミック・パブリッシングからのエラー表示はなくなりました。
キャッシュのon/offに関わらず、問題なく機能しています。
ご迷惑をおかけしました。ゴメンナサイ。
3. 投稿者: footbrain | 2007年07月11日 16:15
日時: " title="このコメントへのパーマリンク">2007年07月11日 16:15
お世話になります。
MT4へアップグレードしたため、ダイナミックパブリッシングもアップグレードすることにしました。
しかし、手順どおり作業を進めても、ダイナミックパブリッシングが有効になっていないようで、index.htmlにアクセスしてもInternalServerErrorになってしまいます。
気になることがあるのですが、私の場合、データベースのキャッシュテーブルを削除して、何度、「PerlDynamic」と「RebuildHelper」の2つのフォルダをアップロードし直しても、MTへの再ログイン後、「アップグレード開始」の画面が出ないのです。設定→プラグインを見てみると、きちんと「Dynamic publishing by Perl 3.20」となっていて、初期化や設定ができるので、一見、インストールが完了しているようには見えるのですが。
でも、、「アップグレード開始」をしていないということは、アップグレードができていないということなのですよね?
これまでPerlDynamic_3_10を使っていて正常に動いていましたがどうしてでしょうか。。。
アドバイスをいただけましたら嬉しく思います。
よろしくお願いいたします。
4. 投稿者: へま | 2007年09月13日 09:59
日時: " title="このコメントへのパーマリンク">2007年09月13日 09:59
>へまさん
こんにちは。プラグインご利用ありがとうございます。
もし、さくらインターネットをご利用であれば、以下の点を確認してみてください。
1.Blogのディレクトリに.htaccessファイルが出力されていますので、そのファイルから「Options」の行を削除します。
2.Blogのディレクトリに「mt-perl-dynamic.php」ファイルが出力されていますので、そのパーミッションを705に変えます。
なお、バージョン3.10からバージョンアップした場合、データベースは既存のものを使いますので、「アップグレード開始」の画面は表示されません。
5. 投稿者: 壱
|
2007年09月13日 10:13
日時: " title="このコメントへのパーマリンク">2007年09月13日 10:13
壱さま
ご回答いただき、ありがとうございました。
おかげさまで、成功しました。
バージョン3.10からのバージョンアップにかかわらず、「3.全SQL対応版からバージョンアップする場合の準備」にてキャッシュテーブルを削除してしまったのが1番の原因でした。
http://www.h-fj.com/blog/archives/2007/03/07-124806.php
上記のエントリーに、その場合の対処法がありましたので参考にさせていただき、無事、キャッシュテーブルを復旧させることができました。その後、今回教えていただいた1と2をやってみて、成功しました。
ありがとうございました!!
6. 投稿者: へま | 2007年09月13日 16:07
日時: " title="このコメントへのパーマリンク">2007年09月13日 16:07
僕も同じ用に、
Warning: include() [function.include]: Failed opening '' for inclusion (include_path='.:/usr/local/lib/php') in .../mt-dynamic.php on line 181
といったメッセージで使用できませんでした。
ログを読んで、全部試しましたが、変化ないので…。
非常に残念ですが、導入を断念します…。
7. 投稿者: 匿名 | 2007年09月16日 05:11
日時: " title="このコメントへのパーマリンク">2007年09月16日 05:11
はじめまして。Perl版ダイナミック・パブリッシング(MT4版)の導入を試みているものです。
この記事の手順に従って導入し、テンプレート「ブログ記事リスト」のダイナミック化を指定しました。これによってそれまで存在したindex.htmlはindex.html.staticにリネームされました。
しかし、ブログからアクセスすると500エラーが出ます。上記コメント5の1,2の対応も試しましたが状況は好転しませんでした(Option行を削ると403エラーに変わり、スタティックなindex.htmlも同エラーとなる)。
お手数とは思いますが、もしなにか思い当たる点などありましたらご指摘いただければ幸いです。ホスティングサービスはCPIです。
8. 投稿者: 細野 | 2007年10月22日 16:31
日時: " title="このコメントへのパーマリンク">2007年10月22日 16:31
>細野さん
こんにちは。
CPIのヘルプを少し読んでみましたが、CPIのPHPは独自のカスタマイズがなされているようで、何か特殊な設定をしないとこのプラグインを動作させられないのかも知れません。
申し訳ありませんが、いただいた状況だけでは、それ以上のことは分かりません。
9. 投稿者: 壱
|
2007年10月22日 16:55
日時: " title="このコメントへのパーマリンク">2007年10月22日 16:55
藤本さま
返答ありがとうございます。
お手数をおかけいたしました。解決いたしました。
お恥ずかしい限りですが、CPIの管理画面でapacheのログが見られることを失念していまして、それを確認しましたところ、blogのフォルダ自体の属性が適切でないとのエラーがでていました。これを設定しなおしましたところ、稼動いたしました。
これがCPI独自のカスタマイズのためなのかどうかは不明ですが、ともあれ助かりました。
ありがとうございました!
10. 投稿者: 細野 | 2007年10月23日 03:11
日時: " title="このコメントへのパーマリンク">2007年10月23日 03:11
導入していて、くだらない部分でつまづいていましたのでご報告です。
症状はメインindexは問題なく表示されるのですが、アーカイブだけがInternalServerErrorと表示されました。
ブログの設定 → 公開 → アーカイブをサイトパスとは別のパスで公開する
にチェックが入れてある場合、その別のパスにも.htaccessファイルが出力されています。
これを、ブログ公開先にある.htaccessファイルと同じ内容にコピーすることで本来の動作が行えました。
ダイナミックパブリッシングでアーカイブの公開先を変更しても意味は無いのですが、元々ダイナミックパブリッシングではなく、今回の導入前に、この部分にチェックが入っていてつまづく原因になりました。
同じところでつまづいている人が居ましたら参考にしてください。
素敵なプラグインをありがとうございます。
さくらインターネットでは標準のダイナミックパブリッシングが使えないようなので助かりました。
11. 投稿者: 虎!
|
2007年10月29日 20:15
日時: " title="このコメントへのパーマリンク">2007年10月29日 20:15
>虎!さん
こんにちは。
有益な情報をいただきありがとうございました。
12. 投稿者: 壱
|
2007年10月29日 21:29
日時: " title="このコメントへのパーマリンク">2007年10月29日 21:29