誕生日にもらった意外なもの

phpは問題なく使えましたが、cgiで問題があります。
今まではサーバーソフトにANHTTPDを使っていたのですが、phpを使う上で問題があったので汎用性のあるApacheに乗り換えました。するとphpはうまく動いた反面、cgiがうまく動作しなくなってしまいました。

ANHTTPDのときは、ローカルホスト以下のフォルダならどこであろうとcgiを含むすべてのファイルが使用できましたが、Apacheでは指定したフォルダ以下にcgiしか置けないみたいでした。そのフォルダ内にhtmlファイルなどを置くとアクセスできません。

この状態で使うとなると、cgiファイルだけその1箇所のフォルダ以下に集め、他のファイルを別のディレクトリに置かなくてはいけませんが、それでは1つのプログラムに必要なファイル類がバラけてしまうのでその方法は使いたくありません。

どうにかして1つのフォルダ以下でcgiとその他のファイルを扱えるように出来ませんでしょうか?また、僕が使っている今の方法では、cgiプログラムの1行目のパスを「C:/Perl/bin/perl」にしなくてはいけませんが、これもWebサーバー上にアップする際に書き換える手間がかかってしまいます。ANHTTPDの時は「/usr/bin/perl」「/usr/local/bin/perl」のような状態でも普通に使えました。この書き換えの手間を省く方法もありましたら情報いただければと思います。

以上です。
よろしくお願いいたします。

A 回答 (1件)

OSやhttpd、Perlなどの種類やバージョンを書くようにして下さい


まあ、大体のことは推測できますがね。
で、この辺りの設定の理屈が判らないとセキュリティ的にも厳しいものがあるので、公開することをお考えなら慎重に。

さて、本題ですが
・何もかんも構わずどこのフォルダでもCGIが使えるようにする方法
 httpd.confの <Directory /> 行の上あたりにでも以下の4行を追加してから、Apacheを再起動してください
<Location "/">
Options ExecCGI
AddHandler cgi-script .cgi
</Location>

・それとは別にcgi-binでもhtmlを使う方法
http://oshiete1.goo.ne.jp/kotaeru.php3?q=2047461

・perlのパスの問題
Apacheをインストールしたのと同じドライブ(C:とかE:とか)
に \usr\bin フォルダを作り、そこにc:\perl\bin\ にあるperl.exeをコピーしてください(C:なら c:\usr\bin\perl.exe になります)
本当はperlのインストール時に c:\usr などを指定した方が良いのですが

もしもApache1.3系なら
http://mm.apache.or.jp/pipermail/newbie/2003-Jul …
の方法も有ります
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!


おすすめ情報