• ベストアンサー

Apacheでユーザディレクトリが公開できません。

はじめまして。恐れ入りますがぜひともご教示下さい。 今まで自宅サーバにてApacheでサイト運営していたのですが、友人にせがまれ、友人向けのサイトスペースを用意することになりました。 そこで、友人用のユーザアカウントを用意し(今までは特にユーザーディレクトリを用意して運営していなかった)、ドキュメントルート /home/"ユーザ名"/public_html にindex.htmlと.htaccessを用意し、設定を終えたはずなのですがlocalhost/"ユーザ名"/にアクセスするとforbiddenになってしまいます。 /home/"ユーザ名"/public_html以下の全てのディレクトリ/ファイルは所有者nobodyでパーミッションは755です。 また、.htaccessでは、以下の様な設定になっております。 DocumentRoot "/home/"ユーザ名"/public_html/ <Directory "/home/"ユーザ名"/public_html"> Options FollowSymLinks AllowOverride AuthConfig Limit </Directory> です。行き詰まってしまったので考えられる 処置を教えていただけませんでしょうか? OS:Vinelinux3.1 Webサーバ:Apache1.3.33 よろしくお願いします。

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

  • ベストアンサー
  • zem
  • ベストアンサー率70% (51/72)
回答No.1

こんにちは。 public_html より上位の「/home/ユーザ名」のパーミッションは 700(rwx------) だったりすると表示できなかったりします。 もし 700 でしたら 「chmod o+x /home/ユーザ名」を実行して apache が読み込みにいけるようにパーミッションを変更する必要があります。

shym
質問者

お礼

御指摘のとおり、パーミッションが700になっていました。 修正したところアクセスできるようになりました。 ありがとうございました!

その他の回答 (1)

  • entree
  • ベストアンサー率55% (405/735)
回答No.2

No.1さんの言っていらっしゃることが最もな回答だと思いますが、あえて他の意見を。 DocumentRoot "/home/"ユーザ名"/public_html/ <Directory "/home/"ユーザ名"/public_html"> Options FollowSymLinks AllowOverride AuthConfig Limit </Directory> これはバーチャルホストですか? DocumentRoot が "/home/"ユーザ名"/public_html/ となっているので、"/home/"ユーザ名"/public_html/ ディレクトリにマッピングされるのは localhost/"ユーザ名"/ ではなく localhost になるように思いますが。

shym
質問者

お礼

解答ありがとうございます。 ユーザディレクトリの公開を目的として おりまして、対象のユーザディレクトリに設置した .htaccessで DocumentRoot が "/home/"ユーザ名"/public_html/ としました。従いまして、localhost/"ユーザ名"/に アクセスということで問題ないと思うのですが、 認識違いでしょうか・・・?

関連するQ&A