#CGIとは
WEBサーバの機能の主体は、あらかじめ用意された情報をクライアントの要求に応じて送り返すことである。そのためサーバプログラム単体では情報をその場で動的に生成してクライアントに送信するような仕組みを作ることはできなかった。 そこでサーバプログラムから他のプログラムを呼び出し、その処理結果をクライアントに送信する方法が考案された。それを実現するためのサーバプログラムと外部プログラムとの連携法の取り決めがCGI(Common Gateway Interface)である。
#CGIを使えるようにする
###実行したいプログラムを"/var/www/cgi-bin/"に配置する
cgiプログラムにはサーバー情報等公開すべきでない情報も含まれる可能性があるため、cgiファイルへのアクセスを防ぐために公開ディレクトリ(html直下)に配置しないようにする
###httpd.confを設定する
ScriptAlias:指定したCGIディレクトリをURLのパスとして割り当てる
httpd.conf
#CGIディレクトリ:/var/www/cgi-bin/をURL:http://example.com/cgi-bin/に割り当てる
ScriptAlias /cgi-bin/ "/var/www/cgi-bin/"
#CGIディレクトリコンテナ
<Directory "/var/www/cgi-bin">
AllowOverride None
Options ExecCGI
Order allow,deny
Allow from all
</Directory>
# cgi-scriptが拡張子.cgiを処理するように設定
# (拡張子.cgiをCGIのファイルとする設定)
AddHandler cgi-script .cgi