- ベストアンサー
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 よろしくお願いします。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
こんにちは。 public_html より上位の「/home/ユーザ名」のパーミッションは 700(rwx------) だったりすると表示できなかったりします。 もし 700 でしたら 「chmod o+x /home/ユーザ名」を実行して apache が読み込みにいけるようにパーミッションを変更する必要があります。
その他の回答 (1)
- entree
- ベストアンサー率55% (405/735)
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 になるように思いますが。
お礼
解答ありがとうございます。 ユーザディレクトリの公開を目的として おりまして、対象のユーザディレクトリに設置した .htaccessで DocumentRoot が "/home/"ユーザ名"/public_html/ としました。従いまして、localhost/"ユーザ名"/に アクセスということで問題ないと思うのですが、 認識違いでしょうか・・・?
お礼
御指摘のとおり、パーミッションが700になっていました。 修正したところアクセスできるようになりました。 ありがとうございました!