• 締切済み

apache2 の httpd.conf 、cgi実行設定

環境: vine 3.1 apache 2.0.50 confの設定を教えてください。 今まで apache 1.3.31だったのですが、アンインストールして apache 2.0 を入れました。 1.3のconfを見ながら2.0も設定できると思っていたんですが、 ユーザ(~チルダフォルダ以下)のCGIの実行設定ができません。 http://www.test.com/~hogehoge/ 配下でcgiを実行させたいのですが、500エラーが出てしまいます。 http://www.test.com/ 直下では実行できています。 非常に困っています。どうかお助け下さい・・・・・・

みんなの回答

  • entree
  • ベストアンサー率55% (405/735)
回答No.2

> [Wed Sep 14 20:57:49 2005] [error] [client 192.168.0.5] Premature end of script headers:test.cgi これはスクリプトのバグか改行コードがおかしいかのどちらかでしょう。 括弧の組が合っていない時などに出ます。

neko_serv
質問者

お礼

し、しかし、同じモノをルート(http://www.test.com/test.cgi)で実行すると正常に動くんですが・・・ ちなみにtest.cgiの中身です。 #!/usr/bin/perl print "\n\n"; print "<html>\n"; print "<title>\n"; print "Test\n"; print "</title>\n"; print "<body>\n"; print "Test\n"; print "</body>\n"; print "</html>\n"; というか、その他のcgiも、のきなみ動きません。 apache1.3の時は動いていたのに・・・ ありがとうございます・・・

  • entree
  • ベストアンサー率55% (405/735)
回答No.1

必要な設定は以下の3つです。 - mod_cgiもしくはmod_cgidを有効にする - httpd.conf に AddHandler cgi-script .cgi を追加する。 - httpd.conf に Options ExecCGI を追加する。 です。500 が出ると言うことは CGI そのものはプログラムとして認識しているようですが・・・ Apache のエラーログには何も出力されていませんか?

neko_serv
質問者

お礼

ありがとうございます。ログを開いてみました。 [Wed Sep 14 20:57:49 2005] [error] [client 192.168.0.5] Premature end of script headers:test.cgi [Wed Sep 14 20:57:49 2005] [error] [client 192.168.0.5] (13)Permission denied: exec of '/usr/lib/apache2/suexec' failed この2行が出まくっていました。 ・・・・・・・・・分からなすぎです・・・調べてみます...orz

関連するQ&A

  • apacheのhttpd.confについて

    useraddでtestという新しいユーザーを作成しました。 自動的に/home/test/というフォルダが出来ますが、 このtestフォルダをDocumentRootにするにはどうしたらいいのでしょうか? /etc/httpd/conf/httpd.conf の下記部分を変更しただけでは表示されませんでした。Fedora Core Test Pageが表示されてしまいます。 DocumentRoot "/var/www/html" ↓ DocumentRoot "/home/test" 他にどこを設定すればいいのでしょうか?

  • apache2のhttpd.confをダウンロードできないか?

    RedhatLinux9に最初から入っていたapache2.0.40のhttpd.confをいろいろいじっていたら、めちゃくちゃになってしまいました。 初期状態か正しい設定例のhttpd.confの全文があるサイトはないですか? サイトじゃなくて、貼り付けてもいいです。 設定したかったことは、 1./home/*/public_htmlでユーザーごとに割り振り。 2./home/*/public_htmlでCGI、SSIを許可。 3./var/www/htmlでCGI、SSIを許可。 です。

  • PHPとApacheの連携で、困ってます。httpd.confどこにあるのでしょう?

    PHPの設定をしました。Apacheのインストールもしました。PHPとApacheの連携を行う必要があるのですが、Apacheの設定ファイルであるhttpd.confを編集する必要があり、「%APACHE\HOME%/conf」フォルダのhttpd.confを変更しなければならないのですが、httpd.confと、「%APACHE\HOME%/conf」フォルダがどこにあるかわかりません。わかる方教えてください。大変困っています。よろしくお願いします。

    • ベストアンサー
    • PHP
  • httpd.conf 内の設定に関して

    apache2をLinux上にダウンロードし、 たどたどしく使い始めたものです。 CGIのソースを書いたはいいのですが、 URLに「cgi-bin」が入っているとが かっこ悪く感じます。 ということで、 httpd.confの中の設定で、 次のような事を実現する方法を探しています。 =========================================== (1)http://www.sample.com/ccfoo.cgi にアクセスすると、 実際には、 http://www.sample.com/cgi-bin/foo.cgi にアクセスされる。 (2)また、ブラウザのURL欄には、 「http://www.sample.com/ccfoo.cgi」ではなく、 「http://www.sample.com/foo.cgi」が表示されている。 =========================================== こんな都合の良い設定は、 httpd.confの設定だけでできるものでしょうか? (1)か(2)のどちらかでも実現できるとありがたいです。 探すキーワードが悪いのか、 解決に至るページに出会うことが出来ませんでした。 教えていただけるとありがたいです。 宜しくお願い致します。

    • ベストアンサー
    • HTML
  • httpd.conf 設定

    自宅サーバで設定するhtmlフォルダをドライブCの直下に wwwというフォルダをつくってあるのですが、 その場合のhttpd.conf 設定を教えてください。 またperlもインストールして、plファイルも動かしたいと思っているのですが、 その場合plファイルはwwwのフォルダの中でいいのでしょうか? そしてhttpd.confの書き換えはどういう文章を入れればいいのでしょうか? 曖昧な表現になってしまってすいません。

  • [Apache]/cgi-bin/以外でCGIを使いたい

    WindowsでCGIのテストをしているのですが、パスが例えば http://localhost/cgi-bin/test.cgi というようにすればcgiを実行することができるのですが、 http://localhost/test.cgi というようにして実行するには、どのように設定すればいいのでしょうか? たぶんhttpd.confの設定だと思うのですが・・。 ちなみに、インストールされているApacheのバージョンはわかりません。というのも、LaVieを買ったら、すでに C:\Program Files\Apache Group(以下) にインストールされていて、ヴァージョン情報がどこに書いてあるかわかりません。 それでもアドバイス頂けたらと思います。 また、これ(cgi-binを省略してアクセスする方法)について書かれているサイトもありましたらよろしくお願いします。

  • Apacheのhttpd.confの設定方法がわかりません

    ただいまPHPとPerlを勉強しようと思い、環境設定に取り組んでいます。 PHPの本を買ってきて、その本に付属しているPHPDEV5というPHPとApache2とMySQLの付いているものをインストールしました。PHPの方は何の問題もなく動作しています。 Perlも本を買ってきたんですが、Perlの本の方もサーバとしてApache2を使っているんですが、最初にインストールしたPHPDEV5付属のApache2のhttpd.confファイルの中身が違っていて、Perlの解説本のとおりにhttpd.confファイルを修正できないため、どのように修正すれば、CGIができるようになるのか分かりません。 どなたかもし設定ファイルの方法がわかる方がいましたら、教えてください。よろしくおねがいします。

    • ベストアンサー
    • Perl
  • CGIを使用するためのApacheの設定

    今HPを作っています。 そこでカウンターを作ろうと思ってPerlを勉強したのですが、 Apacheでファイルを送り、 CGIを実行しようとすると、 「ファイルのダウンロード」 とでて「実行」を押すとメモ帳でそのCGIファイルが開かれてしまいます。 これはApacheの設定(httpd.conf)が関係してるんじゃないかと思うんですが、 設定の仕方がよくわかりません。 教えてください。 OSはWinXPでバージョンは2.0.55.0です。

  • apacheのCGI設定について教えてください。

    CGIの勉強のために、古いパソコンに fedora core 4 をインストールしてapache でローカルのテスト用サーバーにしようとしています。 /var/www/html に設置した簡単な perl CGI は動くのですが、同じものをユーザーのホームディレクトリに設置すると、internal server error になってしまいます。 ***** 以下 httpd.confの抜粋です。***** #UserDir disable UserDir public_html <Directory /home/*/public_html> AllowOverride All Options Includes ExecCGI FollowSymLinks SetHandler cgi-script </Directory> AddHandler cgi-script .cgi .pl ************************************** サーバーのエラーログを見ると Premature end of script headers: test.cgi となっています。htmlをprintしているだけのスクリプトで、/var/www/html では動くので、apache の設定の問題かと思っています。 ちょっとカテゴリーが違うかもしれませんが、よろしくお願いします。

    • ベストアンサー
    • Perl
  • 【apache】httpd.confのAddHandlerについて

    掲示板利用させていただきます。 apacheとphpの連携を行う際、httpd.confのAddHandlerを以下のように設定すると、httpでphpを呼び出した際、以下のエラーがでます。 ●設定内容 AddHandler cgi-script .cgi .php ●エラー内容 Premature end of script headers 以下のように設定し直すと、正常に利用できるようになります。 ●設定内容 AddHandler cgi-script .cgi phpとcgiはイコールだと思っていたのですが、違うのでしょうか?? どなたかご教示ください。 よろしくお願いします。