CGIの適用

クライアントからCGIを使いたいと言われました。正直僕自身CGIを使って事がないので調べて適用しました。その時のメモになります。

CGIを有効化する

httpd.confの中にあるファイルをいじって、まずはCGIの許可を有効化します。

まずは/etc/httpd/conf/httpd.conf を編集します

# ScriptAlias /cgi-bin/ "/var/www/cgi-bin/"
↑コメントを外します。
ScriptAlias /cgi-bin/ "/var/www/cgi-bin/"

CGIの許可をするためにドキュメントルートのディレクトリの設定にOptions ExecCGIと記述しておきます

アパッチを再起動します。

Can't locate HTML/Template.pm in

CGIの動作を確認してみると、上記のようなエラーがでました。いったいなんだこれは?と思って調べて見ました。どうやらこのエラーはPerlのモジュールのTemplateというのがないですよという意味みたいです。

参考:http://mocamoca.biz/blog/2008/04/perlhtmltemplate.html

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

モジュールがないとう事でインストールします。下記の方法でインストールします。

rootでシェルに入り

perl -MCPAN -e shell

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

Are you ready for manual configuration? [yes] no

cpanが起動されてプロンプトが出ます。下記を入力します。

cpan> install HTML::Template

このまま自動インストールが始まります。

/usr/bin/make install  -- OK

上記のようなメッセージがでたらインストール完了です。cpanの状態から抜けるには『q』を押します。

Can't locate Jcode.pm inエラーがでた

今度は、Can't locate Jcode.pm inと書かれたエラーがでました。いったいなんだ?と思って調べたらどうやら何かのパッケージの一つみたいです。とりあえずこれはyumでインストールできるみたいなのでインストールします。

Jcodeパッケージのインストール

yum -y install perl-Jcode

参考サイトをみると、CentOS系はこのやり方ではないみたいですが、インストールしているときは気づいてませんでした。なんかyumでもできるのかもしれません。

参考サイト:http://kajuhome.com/webalizer.shtml#n03

備考

CGIは今は使っているサイトは少なく、多くはPHPなのかもしれませんが、実際にはまだCGI形式で配布されているプログラムなどもあるので使えるように設定する必要性はあるのかもしれません。CGIを使う事がないなら設定はしなくてすむのでそれはそれでちょっと楽になるかなって思いました。

個人支援・寄付について

サイトラボでは個人支援・寄付を受けております。ご協力いただける方はお願いいたします。当サイトではビットコインで受け付けております。

  • ビットコイン:3LHnADwZwUbic2L45EnVJEykiG6KfbqrwS