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 作成