MT3.11-jaのmod_perl化メモ

httpd.conf


#
# mod_perl status
#
<Location /perl-status>
SetHandler perl-script
PerlHandler Apache::Status
</Location>
# mod_perl for MT3.1
PerlSetEnv PERL5LIB /var/www/html/mt31/lib:/var/www/html/mt31/
extlib
PerlModule Apache::Registry
<Directory "/var/www/html/mt31">
SetHandler perl-script
PerlHandler Apache::Registry
# PerlModule Apache::DBI
Options +ExecCGI
PerlSendHeader On
</Directory>

# PerlModule Apache::DBI
はコメントをとるとエラーが発生したので継続調査。

http://mt-host:8080/perl-status

から、Loaded Modulesを選択し、MT::*などが表示されていればmod_perl化できています。

mt.cfg


StaticWebPath /mt-static/

BLOG HACKSの設定通りでも結果的に同じだったのですが、下記のエラーが出て調査するついでに
docs, images, styles.cssを /mt-static/にmvしたので上記設定を追加しました。
追記)mt.jsも同様にmvする必要があります。

Can't locate loadable object for module DateTime in @INC (@INC contains: /var/www/html/mt31/extlib /var/www/html/mt31/lib /usr/lib/perl5/5.8.0/i386-linux-thread-multi /usr/lib/perl5/5.8.0 /usr/lib/perl5/site_perl/5.8.0/i386-linux-thread-multi /usr/lib/perl5/site_perl/5.8.0 /usr/lib/perl5/site_perl /usr/lib/perl5/vendor_perl/5.8.0/i386-linux-thread-multi /usr/lib/perl5/vendor_perl/5.8.0 /usr/lib/perl5/vendor_perl /usr/lib/perl5/5.8.0/i386-linux-thread-multi /usr/lib/perl5/5.8.0 . /usr/local/apache/ /usr/local/apache/lib/perl) at /var/www/html/mt31/extlib/DateTime.pm line 44 BEGIN failed--compilation aborted at /var/www/html/mt31/extlib/DateTime.pm line 44. Compilation failed in require at /var/www/html/mt31/lib/MT/Template/Context.pm line 1467.

上記のエラーの原因はAtom feedの模様。

MT 3.11-ja、新規ブログがビルドできない

追記:原因判明。「Atomフィード」で utc="1" を指定した日付があるとエラーになるようです。 うちの既存ブログは「Atomフィード」対応前からのものなのでエラーにならなかったわけです。

Atomフィードを作成しない設定にして回避。

Atomフィードテンプレートの中に <$MTEntryModifiedDate utc="1" ...があるのですが、ヘルプをみてもそんなタグはないんですけれども??

月別 ページの 401 - 800 まで再構築中 ... Use of uninitialized value in substitution (s///) at /var/www/html/mt31/extlib/Jcode/Unicode/NoXS.pm line 77. Use of uninitialized value in unpack at /var/www/html/mt31/extlib/Jcode/Unicode/NoXS.pm line 105. Use of uninitialized value in substitution (s///) at /var/www/html/mt31/extlib/Jcode/Unicode/NoXS.pm line 77. Use of uninitialized value in unpack at /var/www/html/mt31/extlib/Jcode/Unicode/NoXS.pm line 105. Use of uninitialized value in substitution (s///) at /var/www/html/mt31/extlib/Jcode/Unicode/NoXS.pm line 77. Use of uninitialized value in unpack at /var/www/html/mt31/extlib/Jcode/Unicode/NoXS.pm line 105.

この「のまのしわざ」のエントリーをexportし、importして使ってみたところ、上記のようなwarningが発生することがたまにありますが、原因は不明です。

条件:
ERH3ES Pentium 2.80CGHz 1GB memory 60GB HDD, MySQL(local)
エントリー: 1068 | コメント: 1578 | 投稿者: 2

約119秒かかっていたすべてのrebuildが、mod_perl化により97秒に短縮されました。


参考:
MovableType を mod_perl (Apache::Registry) 環境下で動かす方法

勢いで別サーバーにMySQLを入れて接続しようとしたところ、セキュリティのためつながりませんでした。mt-load.cgiを何度か起動したため設定がパーになり、またインストール&設定しなおしました。次回はそれにチャレンジです。

追記:
# PerlModule Apache::DBI
は単純にApache::DBIは入ってませんでした(汗

perl -MCPAN -e shell
cpan> install Apache::DBI

でインストール後、httpd.confを書き換えて有効化しました。しかし速度は変わらないようです??