Perlモジュール
昨日、当家のサーバーに何年かぶりにKENT WEBさんの掲示板を設置したんですが、「500 Internal sever error」ばかりでどうしても動作しません。
チェック用のCGIスクリプトは正常に動作してるし、perlのパスもパーミッションも間違いないんですが。。
そこでエラーログを調べたところ、CGIスクリプト内の
「use CGI::Carp qw(fatalsToBrowser);」
の行でエラーになってました。
当家のサーバーはLAMP仕様なのでPHPの拡張モジュールはほとんどインストールしてあります。
…なのでPHPを使っているWord Pressのこのブログも普通に動作している訳ですが。。
ですが、CGIに関しては全く使う予定も無かったので、とりあえず動作するってだけでPerlの拡張モジュール等は全くインストールしてなかったんです。
このCGI::CarpはCGIスクリプトでエラーが発生したときに「500 Internal sever error」ではなく、エラーの内容を表示させるPerlモジュールなんですが、当然こんなもんインストールしてません。w
それで「CGI::Carp」の部分がエラーになってたんですね。
…昔のKENT WEBさんの掲示板にはこんなコード無かったんですが。。
PerlモジュールをRPMでインストールするときは通常cpan2rpmを使うんで、これをインストールしようとしたんですが、何とcpan2rpmはFedora10までしか対応してない!
…当家のサーバーはFedora13。
面倒臭いんで各CGIスクリプトの「use CGI::Carp qw(fatalsToBrowser);」の行をコメントアウトして無効化しちゃいました。w
…どうせKENT WEBさんのCGIに間違いは無いし。。
これでとりあえず掲示板は動作するようになったんですが、この掲示板は画像UP出来るタイプで、UPした画像サイズが大きいときに自動的に縮小してサムネイル表示する機能が付いてました。
ところが、このサムネイル表示にはまたまたPerlモジュールが必要なんです。
…このブログで使ってるPHPでもサムネイル表示には拡張モジュールが必要でした。
PerlではImage::Magicというモジュールです。
でもcpan2rpmが使えないんでどうしようかNETで調べてたら、あるサイトにこんな記述が。。
「Image::Magicのインストールにはyumを」
おぉー!「yum」が使えるんだ。。
それなら…ってことで早速「yum -y install ImageMagic-perl」Enter!
ホントにサクッとインストール完了。
掲示板に大きい画像をUPしてみるとちゃんと縮小表示されました。
最近はCGIなんて無縁だったんで掲示板一つでけっこう苦労しちゃいました。w