• ベストアンサー

アパッチでAccessForbiddenがでてしまう。

今日アパッチのhttpd.confを変更して DocumentRootを変えて見たのですが・・・ Forbiddenのメッセージが・・・ ディレクトリにはちゃんとデータはいってるのですが 分かるかたぜひ教えてください。

質問者が選んだベストアンサー

  • ベストアンサー
  • mph
  • ベストアンサー率54% (39/72)
回答No.4

k-841さんの回答にあるとうりのhttpd.confのuserとgroupのエントリを変更してください。 ただし、危険なのでrootにするのはやめましょう。 もし、コンテンツのファイルのオーナーがルート以外の場合はそのユーザ名にするか、コンテンツのファイルのオーナーが所属しているグループと同じグループに属するユーザを作成してその権限でapacheを動作させる方法もあります。 ただし、私としてはapacheの権限を変えるより、コンテンツの権限を変える方をおすすめします。(セキュリティ上の配慮) コンテンツの権限の変更の手順: まず、ドキュメントルートに移動する cd (ドキュメントルート) chmod -r o+r . (ドキュメントルートディレクトリ以下のすべてのファイルにリード権限を与える) chmod o+x . ( ドキュメントルートディレクトリ自身にリード権限をあたえる) chmod o+x `find . -type dir -print` (ドキュメントルート配下の下位ディレクトリに実行権限を与える) 以上です。

noname#32059
質問者

お礼

ありがとうございました。無事成功しました

その他の回答 (3)

  • mph
  • ベストアンサー率54% (39/72)
回答No.3

ファイルのパーミッションの問題(nobodyに権限がないだけ)なら、ルートもしくはコンテンツのディレクトリのオーナになり、chmod -r o+r (ドキュメントルート) でしょう。 apacheの設定を変える場合は他にも手がなくもないが、セキュリティ的にはapacheの権限はnobodyが良いかと思います。 さらに、コンテンツの置いてある、ドキュメントルート以下のディレクトリが階層構造になっている場合は下位のディレクトリに実行パーミッションが必要です。 いちいち設定を変えるのが面倒ならばコンテンツ作成や他からコピーするなどの作業時にumask(manページ参照のこと)するのが便利とおもいます。

noname#32059
質問者

お礼

apacheの権限の変更の仕方をおしえてください。 (初心者的質問ですみません)

  • k-841
  • ベストアンサー率27% (129/465)
回答No.2

#1の「お礼」を見て回答しています。 #1の方がおっしゃっているのは、 httpd.conf の User や Group のエントリに記述されている ユーザ名/グループ名のことであって、 httpd を立ち上げるユーザではないことに注意して下さい。 付属の httpd.confに最初から書かれているのは nobody/nogroup だと思います。 また、DocumentRoot のディレクトリの permission の問題でファイルが見えない原因として、 1. ファイル自体の読み取り権限がない 2. ディレクトリのアクセス権限がない また、ディレクトリの一覧が見えない場合は、 3. ディレクトリの読み取り権限がない などが考えられます。 ここでいう権限とは、httpd.confのUser/Groupにあるユーザ/グループの権限を意味しています。

  • ysk6406
  • ベストアンサー率40% (237/589)
回答No.1

新しく変えた DocumentRoot のディレクトリ及びそこのファイルは、(httpd.conf の User と Group で指定する)apache のユーザ権限でアクセスできるようになっていますか? 手っ取り早く確認するには、サーバのマシンに apache で使うアカウントでログインして、そのディレクトリに行けるかどうか、チェックして下さい。 おそらく、Permission denied. とか出ると思います。

noname#32059
質問者

お礼

回答ありがとうございます ROOTでログインしていますができません。 その他に対処法があったらおしえてください。

関連するQ&A