CGI (Common Gateway Interface) とは、ApacheといったWebサーバが特定のプログラムを実行して、出力結果をユーザに返す、ものです。
CGIを利用することで、動的なコンテンツを作成することができます。
Perl・PHP・Rubyなどの言語がよく使われています。
■CGIを利用するための設定(Apache)
Apacheの設定ファイルの編集で、CGIを使えるようになります。
httpd.confに赤字の部分を追加しましょう。
# CGIプログラムを置くディレクトリ
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 と .pl をCGIのファイルとする
AddHandler cgi-script .cgi .pl
これでCGIを使えるようになりました。
ホスト名:hoge.com
構成ディレクトリ:/var/www/cgi-bin/test.cgi
クライアント側からtest.cgi には、下記のURLでアクセスできます。
http://hoge.com/cgi-bin/test.cgi
*スクリプトをCGIとして実行するためには、CGIファイルにchmodコマンドで権限を与える必要があります。
■ユーザディレクトリでCGIを使う
/var/www/cgi-bin/ のデフォルトの所有者はrootユーザになります。
FTPやSSHでrootユーザでのログインが推奨されていないことを考えると、ユーザのホームディレクトリにCGIスクリプトを置いて、Webから実行できる仕組みにしておくと便利です。
Apacheの設定ファイルで実現できます。
① httpd.confに赤字を追加しましょう。
ScriptAliasMatch ^/~([a-zA-Z0-9_-]+)/cgi-bin/(.*) /home/$1/cgi-bin/$2
<Directory /home/*/cgi/>
Options +ExecCGI
</Directory>
② ディレクトリを作成します。
例) # mkdir /home/shindo_t/cgi-bin
③ディレクトリにアクセス権の設定をします。
例) # chmod 701 /home/shindo_t/cgi-bin
ホスト名:hoge.com
構成ディレクトリ:/home/shindo_t/cgi-bin/test.cgi
クライアント側からtest.cgiには、下記のURLでアクセスできます。
http://hoge.com/~shindo_t/cgi-bin/test.cgi
0 件のコメント:
コメントを投稿