cgi-bin以外のフォルダでもCGIが使えるようにする

テストでMovable Typeを設置しようとしたんだけど、mt-check.cgi(環境チェック用プログラム)を実行しようとしたらコードがズラっと表示されてしまう。あれ、おかしいな権限かな…。しかし権限が適切に設定されていない場合は500エラーになるはず…。

「そうか、CGIの設定がデフォルト(/var/www/cgi-bin/のみで実行)のままなんだ」

任意のフォルダでCGIを実行する設定

CGIは、通常CGI専用のフォルダで実行されるようになっています。ただしこういうテストの場合や、セキュリティに不安がない場合、他の場所で実行したいことがあります。
そんなときは、apacheの設定に1箇所追加します。CGIを実行したいディレクトリの.htaccessでも結構です。

Options +ExecCGI

これで、userユーザーのwww以下ならどこのフォルダでもCGIが実行されるようになりました。

広告

あとは、Movable Typeでは.plの形式のファイルもあるので、拡張子の設定に.plを追加します。

AddHandler cgi-script .cgi .pl

[service httpd restart]でApacheを再起動して完了。
Hello Worldなどを好きな場所に置いて動作確認しましょう。

↓「Hello, World.」を表示するPerlプログラム

#!/usr/bin/perl
print "Content-type: text/html\n\n";
print "Hello, World.";

About: dacelo


1 thought on “cgi-bin以外のフォルダでもCGIが使えるようにする”

  1. cgi-bin以外のフォルダでもCGIが使えるようにする | apache | 『Weblogy』: テストでMovable Typeを設置しようとしたんだけど、mt-check.cgi(環境チェック用プログラム)を実行しようと… http://bit.ly/dxsN7s

Leave a Reply

Your email address will not be published. Required fields are marked *