CGI-BBS > サーバ > Apache > ApacheについてCGIをユーザー毎のディレクトリに設置したい。


カレッヂ
カレッヂ


質問者 mike  投稿日 2004/5/9(日) 16:34:12
8月4日のjunnさんと同じような環境の為、参考にさせていただいたのですが、どうしても解決できません。初心者の質問ですみませんが、アドバイスをお願いします。

OS:Linux Fedora Core1
目的:/home/user/public_html/cgi-bin/ディレクトリでCGIが使えるようにしたい。
現状:public_html上のwebページは公開できています。cgi-binディレクトリ上のtest1.cgiにアクセスすると、
Internal Server Errorのエラーメッセージがでます。パーミッション設定は/home/user/以下777にしてあります。#!/usr/bin/perlの記述も間違いないです。

test1.cgiの内容
#!/usr/bin/perl

print "Content-type: text/html\n";
print "\n";
print "<html>\n";
print "<head>\n";
print "<title>テスト</title>\n";
print "</head>\n";
print "<body bgcolor=\"#ffcccc\">\n";
print "これはCGIのテストです。\n";
print "</body>\n";
print "</html>\n";

/var/www/cgi-bin/ディレクトリに上記のtest.cgiを入れた時は作動しているようです。
httpd.confの追加内容は、下記のとおりで、変更後はapacheの再起動も行っています。

<Directory "/home/user/public_html/cgi-bin/"> 
Options Indexes MultiViews ExecCGI FollowSymLinks Includes 
AllowOverride None 
Order allow,deny 
Allow from all 
</Directory> 
AddHandler cgi-script .cgi .pl 

Alias "/~user/cgi-bin/" "/home/user/public_html/cgi-bin/"

AddType text/x-server-parsed-html .shtml .html
Options Includes

また、関係ないかもしれませんが、
ScriptAlias /cgi-bin/ "/var/www/cgi-bin/"
という記述もあります。

プロバイダ参照:
サーバのOS:UNIXサーバ
パソコンのOS:WinNT系
エディタ:メモ帳
FTPソフト:FFFTP
サーバ移転:していない
改造:(未選択)
CGI習熟度:firsttime

回答者 massive  [削除]  投稿日 2004/5/15(土) 13:30:37
apacheのmanual(localhostかapache.org)見りゃだいたいわかるような気がします。

<Directory "/home/*/public_html/">
  Options Indexes FollowSymLinks MultiViews SymLinksIfOwnerMatch 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>

こんな感じでしょうか。余計なものもくっついていますが。
Optionsに ExecCGIがあるとcgiの拡張子で定義したものが実行されるってやつです。
/home下のユーザのpublic_htmlサプディレクトリが"/~"以下のユーザのプレフィックス
になるようですよ。
質問者 mike  [削除]  投稿日 2004/5/19(水) 23:59:23
アドバイスありがとうございました。
ご指摘いただいた点やその他も試してみましたが、
どうもうまくいきませんでした。
まだ不慣れな為、もう少し勉強したいと思います。
お手数をおかけしました。

このページは終了したので返信(回答)は書きこめません
 


Web裏技