CGIの適用

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

CGIを有効化する

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

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

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

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

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

Can't locate HTML/Template.pm in

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

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

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

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

rootでシェルに入り

[html]
perl -MCPAN -e shell
[/html]

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

[html]
Are you ready for manual configuration? [yes] no
[/html]

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

[html]
cpan> install HTML::Template
[/html]

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

[html]
/usr/bin/make install -- OK
[/html]

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

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

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

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

[html]
yum -y install perl-Jcode
[/html]

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

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

備考

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

この記事に関する技術サポート・ご相談

「手順通りにいかない」「自社環境への構築を代行してほしい」など、
インフラ・サーバー周りでハマった際はお気軽にご相談ください。

相談・問い合わせフォームを開く

※ Googleフォームへ移動します(初回相談無料)

個人支援・寄付について

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

  • ビットコイン:3LHnADwZwUbic2L45EnVJEykiG6KfbqrwS