• ベストアンサー

cgi実行ディレクトリをデフォルト以外に追加設定する方法

apacheのcgi-bin/のディレクトリはデフォルトだと、 DIR: /usr/local/apache/cgi-bin/ に設定されていると思います。 さらに実行出来るディレクトリを追加してあげる場合 httpd.confのScriptAliasを 手順的に追加するだけで出来るのでしょうか? 例 ScriptAlias /cgi-bin/testdir/ "/home/test/testdir/" <Directory "/home/test/testdir"> Options +ExecCGI </Directory>

質問者が選んだベストアンサー

  • ベストアンサー
  • kusukusu
  • ベストアンサー率38% (141/363)
回答No.2

apache は、httpd.conf を明示的に実行していくだけですから、別に記述場所の上下は問わないと思います。 ただ、aliasを貼るのは、 <IfModule mod_alias.c> ・・・・・・・・・・ </IfModule> の間なので、おそらくそれより下の貼ったのではないでしょうか?

airon
質問者

お礼

またまたのお返事ありがとうございます。 > ただ、aliasを貼るのは、 > <IfModule mod_alias.c> > ・・・・・・・・・・ > </IfModule> > の間なので、おそらくそれより下の貼ったのではないでしょうか? 当初の設定では、デフォルトのすぐ下に記述しておりました。 もちろん、</IfModule> は設定内容の後に宣言しておりました。 自分でも不可解です。 今の設定では、 ScriptAliasの宣言を httpd.confに <Directory "/hogehogedir/" > の設定をaccess.confに記述 しております。 原因について、もう少し調べてみます。 ありがとうございました。

その他の回答 (1)

  • kusukusu
  • ベストアンサー率38% (141/363)
回答No.1

>さらに実行出来るディレクトリを追加してあげる場合 >httpd.confのScriptAliasを >手順的に追加するだけで出来るのでしょうか? その通りです。 <Directory "/home/test/testdir"> AllowOverride None Options ExecCGI Order allow,deny Allow from all </Directory> これでOKだと思います。

airon
質問者

お礼

早速の回答ありがとうございました。 上記のとおりできたのですが、ちょっと気になることがありました。 自分が行った設定が悪かったのかどうかわからないのですが、 httpd.confに記述する際、デフォルトの ScriptAlias /cgi-bin/ "/usr/local/apache/cgi-bin/" より後に記述した時はうまく動作しなかったのです。 デフォルトより先に追加するディレクトリを宣言してあげないと いけないのでしょうか。 すみませんがよろしくおねがいします

関連するQ&A