Perlモジュール(HTML::Template)のインストール

Movable Typeを携帯で見られるようにする「MT4i」を仕事先のサーバーにも入れたのですが、本体のCGIファイルである mt4i.cgi を動かそうとすると、Internal server errorになってしまいました。

そこでシェルでmt4i.cgiを動かしてみたところ

[root@sv mt]# perl mt4i.cgi
Can’t locate HTML/Template.pm in @INC (@INC contains: …(後にディレクトリ名が延々と続く)

というエラーが出ました。

どうやら Templateというperlのモジュールがないようです。

よくよくMT4iのインストール説明文を読んでみると、確かにHTML::Templateが必須だと書いてあります。これは何だ??

こちらのサイトにenvironment.cgiというサーバー環境を調べるスクリプトがあったので、それをサーバーに入れて動かしたところ

./mt/mt333/lib/MT/Template.pm

./mt/mt333/extlib/HTML/Template.pm

./mt/extlib/HTML/Template.pm

./mt/lib/MT/Template.pm

という結果が出ました。

これは、Movable Typeのプログラムディレクトリの中にはTemplate.pmがああるということを意味しています。

しかしMT4iではmtの中のTemplate.pmは使えないということがどこかに書いてあったため、諦めてちゃんとTemplate.pmをインストールすることにしました。

しかし困りました。perlのモジュールってどうやってインストールするのでしょう。

いろいろと調べたところ、このモジュールはCPANというperlのモジュールのライブラリに登録されたモジュール( “CPAN モジュール” と呼ばれる)だいうことです。

CPANモジュールのインストール

  1. rootでシェルに入り

    sudo perl -MCPAN -e shell

    と入力します

  2. configrationを手動にするかと聞いてくるのでnoにして自動にします

    Are you ready for manual configuration? [yes] no

  3. cpanが起動されてプロンプトが出るので

    cpan> install HTML::Template

    と入力します

  4. あとは自動的にインストールが進み

    /usr/bin/make install  — OK

    というメッセージが出ておしまいです

これで改めてmt4i.cgiを動かしたところ、無事に動きました。

参考サイト