アプリ版:「スタンプのみでお礼する」機能のリリースについて

はじめまして。
よろしくおねがいします。超初心者です。インターネットで色んな
サイトをみながら、苦労してサーバーを立ち上げました。
どう調べてもさっぱりわからないことがありまして........
どなたかご教授いただきたくメールさせていただきました。
よろしくお願いいたします。
【質問です】
XPにapacheをインストールして、サーバーを運営中です。
Tinyftpdもインストールして、ftpサーバーも運営中です。
自サイトにcgiファイルを置いてるのですが、全てのファイルの
パーミッションが505になり所有者は、nooneになってしまいます。
ffftpで、パーミッションを変更してみたのですが、何度変更しても
505から変わりません。いったいどうすればいいのでしょうか?
cgi-binフォルダを作って、httpd.confの設定も間違っていない
みたいなのですが、
Forbidden
You don't have permission to access..............on this server.
となってしまいます。
パーミッションをapacheサーバーで設定できるようにするには、
どうすれば良いのでしょうか?

A 回答 (3件)

No.2 の方が答えているとおり、デフォルトでは cgi-bin/ の中身は CGI ファイルしか置けません。



Apache 公式のマニュアルもありますし、InternalServerError が出ているときはApache の
エラーログに原因が書かれているのでそちらを読むか、わかりにくければ Google で検索すれば大体わかりますよ。
ちなみにエラーログはインストーラでWindowsにいれた場合、スタートメニュー -> すべてのプログラム -> Apache 2.XX -> Review Server Log Files -> Review Error Log
とかで開けると思います。

http://cc.sakura.ad.jp/apache/beginner/httpd-con …
たとえば httpd.conf の説明はこういう翻訳もありました。

ScriptAlias については公式(http://httpd.apache.org/docs-2.0/ja/mod/mod_alia …
に、
> ScriptAlias ディレクティブは、対象ディレクトリに mod_cgi の cgi-script ハンドラで処理される CGI スクリプトがあることを示す以外は Alias ディレクティブと同じ振る舞いをします。
とあります。

参考URL:http://httpd.apache.org/docs-2.0/ja/
    • good
    • 0

> misconfiguration



設定ミスの可能性が高いですね。

「More information about this error may be available in the server error log」とでているようにエラーログを覗いてみるといいでしょう。

ちなみに、スクリプトエイリアス(ScriptAlias)でcgi-binの設定をしたとなると、標準ではCGIのファイルしか置けなくなります。
もっと正確に言うと、そのディレクトリに置いたものは全てCGIとしてサーバーは動かそうとします。
恐らく、cgi-binに置いたindex.htmlをCGIとして動かそうとして失敗しているのだと思います。
その場合の手っ取り早い解決策は、スクリプトエイリアスではなくただのエイリアス(Alias)で設定してしまうことです。
そしてOptionsにExecCGIを加えればCGIはCGIとして動くようになります。
    • good
    • 0
この回答へのお礼

すっごい参考になりました。cgi-binというフォルダを辞めて、cgiというフォルダに変更したらうまく動くようになりました。本当にありがとうございました。

お礼日時:2005/03/08 01:51

Windowsにはパーミッションの概念がありません。


よって、Windowsを使った場合はパーミッションの設定は不要です。(というより存在しないので設定自体不可能です)

505と表示されているのが変更したつもりでも変わらないのはそのためです。
また、同じく所有者の概念もありません。(正確には、Administrator等でファイルのアクセス権などの設定が可能ですが、サーバーとして動かす場合は全て同一ユーザーの扱いになります。だからnoneとなっているのでしょう。(アップロードしたのが誰かなんてわからないので))

Forbiddenとなってしまうのはインデックスリストを表示しようとした時でしょか?
もしそうであれば、httpd.confでcgi-binディレクトリでindex.htmやindex.html等がない場合にインデックスリストを表示するように、OptionsにIndexesを追加してください。

この回答への補足

Etherskyさんありがとうございます。
WINにはパーミッションがないと書かれたサイトを何件かみてたのですが、apacheの場合はあるのかなと思ってました。とっても勉強になりました。
ただ、やっぱり、おかしいみたいです。
http://○○○○.○○.jp/
はちゃんと表示され、
http://○○○○.○○.jp/test/index.html
もちゃんと表示され、

http://○○○○.○○.jp/cgi-bin/index.html
を呼び出すと、

The server encountered an internal error or misconfiguration and was unable to complete your request.

Please contact the server administrator, ▲▲▲@▲▲▲.jp 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.


--------------------------------------------------------------------------------

Apache/2.0.52 (Win32) Server at ▲▲▲.jp Port 80

という感じでインターナルサーバーエラーになってしまいます。
特に何もしてないのですが、cgi-binというフォルダを作った場合、そのフォルダ内のファイルが全て見れなくなります。なぜなんでしょう?

補足日時:2005/03/07 00:59
    • good
    • 0
この回答へのお礼

ありがとうございました。Windowsにパーミッションがいらないと、なんとなく分かっていたのですが、確信がもてなかったのですが、おかげで助かりました。ありがとうございました。

お礼日時:2005/03/08 01:48

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