[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[debian-users:23162] apache 1.3.9-13.1 CGI can't run under user directory



 こんにちは。島田です。

 Debian GNU/Linux 2.2 (Potato)、Kernel 2.2.16 で apache 1.3.9-13.1 を使っ
ています。
 BTS や http://www.debian.or.jp/search/http://japache.infoscience.co.jp/japache/ で調べたのですが、どうしても解
決できません。

 解決する方法はありませんでしょうか。

 よろしくお願いいたします。


症状
====

 現象としては単純で、/usr/lib/cgi-bin にある CGI は動くのに、ホーム・ディ
レクトリの public_html 以下にある CGI は動かないのです。まったく同じ CGI 
でも、場所が違うだけでだめです。

 /etc/apache/access.conf では、

    <DirectoryMatch ^/home/.*/public_html>
    Options Indexes SymLinksIfOwnerMatch ExecCGI
    AllowOverride None
    </DirectoryMatch>

としてあります。pubic_html 以下にある html ファイルや gif ファイルなどは
正常に表示できます。

 /etc/apache/srm.conf で UserDir と cgi-script の設定はそれぞれ、

    UserDir public_html

    AddHandler cgi-scritpt .cgi

です。

 テストした簡単な CGI プログラムは、

    ===== experiment.c =====
    #include <stdio.h>

    int main(void)
    {
      printf("Content-Type:text/html\n\n");
      fflush(stdout);
      printf("<html><head></head><body>Hello</body></html>\n");

      return 0;
    }

です。これを experiment.cgi の名前にコンパイルして、/usr/lib/cgi-bin とホー
ム・ディレクトリの public_html 以下に置きます。

  http://power.shimaden.co.jp/cgi-bin/experiment.cgi でアクセスすると
「Hello」と表示されますが、
http://power.shimaden.co.jp/~cgitester/experiment.cgi でアクセスすると、

    Internal Server Error
    The server encountered an internal error or misconfiguration and was
    unable to complete your request.
    Please contact the server administrator,
    webmaster@xxxxxxxxxxxxxxxxxxxx and inform them of the time the error
    occurred, and anything you might have done that may have caused the
    error.

    More information about this error may be available in the server
    error log.

と表示されてしまいます。このとき、/var/log/apache/error.log には、

    [Mon Jul 10 04:51:39 2000] [error] [client 192.168.1.2] Premature
    end of script headers:
    /home/cgitester/public_html/experiment.cgi

と書き込まれます。/var/log/apache/access.log には、

    192.168.1.2 - - [10/Jul/2000:04:51:39 +0900] "GET
    /~cgitester/experimental.cgi HTTP/1.1" 500 550

となります。ちなみに、
http://power.shimaden.co.jp/cgi-bin/experiment.cgi でアクセスしたときは、

    192.168.1.2 - - [10/Jul/2000:04:55:19 +0900] "GET
    /cgi-bin/experiment.cgi HTTP/1.1" 200 44

となっています。

 よろしくお願いいたします。


----------------------------------------------------------------------
Mail: shimaden@xxxxxxxxx
Home Page: http://www.din.or.jp/~shimaden/
島田博幸
Hiroyuki Shimada
----------------------------------------------------------------------