久々、ファーストサーバネタです。
まぁ別にファーストサーバが悪い訳ではないんですし、ここに限った話でもないんですけど、なぜか色々ややこしいことになることが多いもんで。
今回は CGI の設置方法についてです。
お客さん指定のアクセス解析用 CGI を導入することになったのですが、何回試しても「505 Internal Server Error」が表示されるという事態に陥りました。
作者さんのサイトにあった FAQ や、ファーストサーバのマニュアルとFAQなどを参考にして色々弄ってみても解決せず。
そこでエラーログを見てみたところ、以下のような一文がありまして、
Can't locate warnings.pm in @INC (@INC contains: /usr/lib/perl5/5.00503…………
早速コピーしてググってみたところ、見つかったのが次のページです。
»warningsプラグマが使えるのは、Perl 5.6以降 - Sakura scope
これによると、Perl 5.6 以降で使える「warnings.pm」というのを探しているのが上記エラーの意味するところのようです。
ということは、Perl 5.6 以降がインストールされている環境であれば動作するはず。
……ん、ちょっと待てよ。ファーストサーバって Perl 5.8 とかスペック表に書いてなかったっけ??
ってなワケで早速確認したところ、ありました(前出のマニュアルに記載されてたんですね……)。
パスを「/usr/local/bin/perl5.8」に設定するだけで、5.8 系を使用することができます。
散々エラーが発生していた CGI ファイルのパスを変更すると、あっさり動いてくれました。
どうもクセなのか、「/usr/bin/perl( or /usr/local/bin/perl)」という文字列を見るとそれだけで確認した気になっていたのですが、それって 5.0 系だったのですね。
5.8 系なんて使ったこともないし、今まで意識したこともなかったのですが、これからはちょっと気を付けたいと思います。
というか、エラーログもちゃんと見ないとですね。