httpd.conf 最初の設定では 大元の ”/var/data/www/apache2/cgi-bin/”ディ レクトリ に cgi ファイルを 設置し 実行属性を 付加 し perl の 場合 まあ 他のものでも パスを サーバーの条件に合うように設定する事で 使用可能な 条 件までは 設定を 終えていました。以下の perl の パスの 例 参考までに
$ which perl /usr/local/bin/perl $ cat /etc/HOSTNAME lx.cat.kingdom.dog $ which perl /usr/bin/perl $ cat /etc/HOSTNAME sv.cat.kingdom.dog
今回 httpd.conf を 修正して ユーザー領域 での cgi を (実行するディレク トリを作成する事にします。)というか 設定で有効を図るということです。
ScriptAlias /cgi-bin/ "/var/data/www/apache2/cgi-bin/" ...
現状は 上記の 場所にて 指定してありますが、今回はそれに関する 修正を 行う事に なります。
基本的な httpd.conf にての cgi 許可に かんする 事柄
ScriptAlias /cgi-bin/ "/var/data/www/apache2/cgi-bin/" <IfModule mod_cgid.c> </IfModule> <Directory "/var/data/www/apache2/cgi-bin"> AllowOverride None Options None Order allow,deny Allow from all </Directory>
インストールした自前の manual を web 出見るか 若しくは 以下の所でも 可能であるが
http://httpd.apache.org/docs/2.0/ja/howto/cgi.html
ユーザディレクトリの cgi-bin サブディレクトリの すべてのファイルを CGI プログラムとして指定したい場合には 以下のようなものを使います。
<Directory /home/*/public_html/cgi-bin>
Options ExecCGI
SetHandler cgi-script /* これでも よいのだろうか? AddHandler cgi-script .cgi */
</Directory>
の 用に 記載されている 但し、この方法 のみと いう事では無い。他にも 沢山有るようです
/* これは 現在 運用中の 部分抜粋 但し 正解ということでは無い */ <Directory /home/*/public_html> AllowOverride None Options MultiViews SymLinksIfOwnerMatch Includes ExecCGI <Limit GET POST OPTIONS PROPFIND> Order allow,deny Allow from all </Limit> <LimitExcept GET POST OPTIONS PROPFIND> Order deny,allow Deny from all </LimitExcept> </Directory> ..... AddHandler cgi-script .cgi /* (manual/howto/cgi.html) の 抜粋 */ /* これは 上記の 例の 元になると 考えられる 例 */ <Directory /home/*/public_html> Options +ExecCGI AddHandler cgi-script .cgi </Directory> /* User ディレクトリ */ /* .cgi で終わるすべてのファイルに対して CGI プログラムの 実行を許可するに */ /* は、以下の設定を使用できます。 */
今回はこれを 使用する
cgi の ユーザー 領域を 新しく 追加するために
<Directory /home/*/public_html/cgi-bin>
Options ExecCGI
SetHandler cgi-script /* これでも よいのだろうか? AddHandler cgi-script .cgi */
</Directory>
を 追記する事に します。場所はおって 決めましょう。
にゃんたろう 拝!
2007年 9月24日 (月) 21:12:24 JST 作成