- - PR -
apacheについての質問
1
投稿者 | 投稿内容 | ||||
---|---|---|---|---|---|
|
投稿日時: 2004-04-25 02:34
質問です。
apachでサーバを構築しているのですが、再インストールしなおした結果、 私の設定がおかしいのかhttp://localhost/cgi-bin/でCGIを設置しても 読み込まれません。 CGIがまったく読み込まれません。http://localhost/~○○/cgi-bin/は 問題なく読み込まれるのですが・・・ 何回も見直しているのですが、どこなのかさっぱり。 どういうことなのか誰か分かる人教えてください。 [ メッセージ編集済み 編集者: jin 編集日時 2004-04-25 11:22 ] | ||||
|
投稿日時: 2004-04-25 03:32
こんばんわ.
httpd は門外漢で不得手ですが,まず入口から. CGI が「読み込まれない」とは, CGI の中身が表示されるけど実行されない CGI そのものが "Not Found" のどちらでしょうか? また,その CGI は apach という user で実行できる状態ですか? そもそも,その CGI は実行すると期待通りの結果が得られますか? | ||||
|
投稿日時: 2004-04-25 03:42
kazさん早速ありがとうございました。
userdirつまり/~ でcgiを設置するとCGIは動きます。(正常に) userdirを使用しないでhttp://localhost/cgi-bin/○○.cgiとすると ページがありませんと表示されてしまいます。 私の設定がおかしいのだと思うのですが、どこがおかしいのか さっぱり分かりません。本を見てやったのですが、なぜでしょう? | ||||
|
投稿日時: 2004-04-25 04:00
間違っていたらゴメンナサイ. ScriptAlias って,CGI を置く場所を限定するんじゃなかったでしたっけ? 実際に CGI を置く場所を fullpath で指定したらどうなります? | ||||
|
投稿日時: 2004-04-25 04:58
こんばんは(?)
kalzeと申します。 私は修行中の身で、あまり詳しくは無いのですが。 299行目ですが、ここは通常デフォルトの設定を記述するところではないでしょうか?
となるような気がします 314行目からのところですが、ここはDocumentRootの設定を記述する場所ではないでしょうか? そして386行目の部分からがUserDirの場合の設定だとおもいます。 現在の設定ファイルでは、すべて/home/*/public_htmlに関して設定されていますが、 意味あるんでしょうか? cgi-binディレクトリにCGIの実行属性を与え、public_htmlには与えない。 /home/hoge/public_html /home/hoge/cgi-bin という構造にしておいて、このままではpublic_html以下しかアクセスできないので、 aliasで/home/hoge/cgi-binに飛ばすものだと思っていたのですが。 /home/hoge/public_html/cgi-binという構造にした場合、 ScriptAlias /cgi-bin/ "/home/*/public_html/cgi-bin/" と設定してある場合、 UserDirでいうと http://www.example.com/cgi-bin/cgi.cgi は、別にAliasで飛ばさなくても、/home/hoge/public_html/cgi-bin/にアクセスできるんじゃないでしょうか? <Directory /home/*/public_html/> の設定が、3回なされていて、そのどれも異なるわけですが、 どれが正しいのでしょうか?(設定したいこととして) 2回目のOptionsではExecCGIが定義されていますが、 3回目では定義されていませんし。 #私のツッコミが正しいのかどうか有識者の方、さらにツッコミをお願いします | ||||
|
投稿日時: 2004-04-25 05:15
で、問題のCGIに関する件ですが、
ScriptAlias /cgi-bin/ "/home/*/public_html/cgi-bin/" となっていますが、 http://www.example.com/~hoge/cgi-bin/sample.cgi でアクセスした場合、UserDirにより、*がhogeに置き換えられ、 /home/hoge/public_html/cgi-bin/sample.cgi にとばされますが、 http://www.example.com/cgi-bin/sample.cgi とアクセスした場合、 /home/*/public_html/cgi-bin/sample.cgi *を置き換えが発生せず、そのままの/home/*/public_html/cgi-bin/sample.cgi にアクセスしようとするが、/home/*/なんてないので、アクセスできずに終わるということではないのでしょうか? http://httpd.apache.org/docs/howto/cgi.html この辺参照なのかな 先ほど指摘した点があるので、どうしたいのかがいまいち私にはわからないので、 改善策がわかりません。 参考になれば。 #私の認識が間違っていることは十分に考えられますけど・・・ | ||||
|
投稿日時: 2004-04-25 11:21
有識者の皆さんありがとうございました。
原因は ScriptAlias /cgi-bin/ "/home/*/public_html/cgi-bin/" これでした。これでいくと思っていたのですが、 絶対参照にしたところ ScriptAlias /cgi-bin/ "/home/hoge/public_html/cgi-bin/" うまくできました。 ご迷惑おかけしました。 |
1