- 締切済み
apacheで自宅サーバー cgi設置ができません。
はじめまして。 よろしくおねがいします。超初心者です。インターネットで色んな サイトをみながら、苦労してサーバーを立ち上げました。 どう調べてもさっぱりわからないことがありまして........ どなたかご教授いただきたくメールさせていただきました。 よろしくお願いいたします。 【質問です】 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サーバーで設定できるようにするには、 どうすれば良いのでしょうか?
- みんなの回答 (3)
- 専門家の回答
みんなの回答
- hiro_coop
- ベストアンサー率100% (1/1)
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-conf.html たとえば httpd.conf の説明はこういう翻訳もありました。 ScriptAlias については公式(http://httpd.apache.org/docs-2.0/ja/mod/mod_alias.html#scriptalias) に、 > ScriptAlias ディレクティブは、対象ディレクトリに mod_cgi の cgi-script ハンドラで処理される CGI スクリプトがあることを示す以外は Alias ディレクティブと同じ振る舞いをします。 とあります。
- Ethersky
- ベストアンサー率71% (168/235)
> 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として動くようになります。
- Ethersky
- ベストアンサー率71% (168/235)
Windowsにはパーミッションの概念がありません。 よって、Windowsを使った場合はパーミッションの設定は不要です。(というより存在しないので設定自体不可能です) 505と表示されているのが変更したつもりでも変わらないのはそのためです。 また、同じく所有者の概念もありません。(正確には、Administrator等でファイルのアクセス権などの設定が可能ですが、サーバーとして動かす場合は全て同一ユーザーの扱いになります。だからnoneとなっているのでしょう。(アップロードしたのが誰かなんてわからないので)) Forbiddenとなってしまうのはインデックスリストを表示しようとした時でしょか? もしそうであれば、httpd.confでcgi-binディレクトリでindex.htmやindex.html等がない場合にインデックスリストを表示するように、OptionsにIndexesを追加してください。
お礼
ありがとうございました。Windowsにパーミッションがいらないと、なんとなく分かっていたのですが、確信がもてなかったのですが、おかげで助かりました。ありがとうございました。
補足
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というフォルダを作った場合、そのフォルダ内のファイルが全て見れなくなります。なぜなんでしょう?
お礼
すっごい参考になりました。cgi-binというフォルダを辞めて、cgiというフォルダに変更したらうまく動くようになりました。本当にありがとうございました。