dポイントプレゼントキャンペーン実施中!

httpd.confの
public_htmlを有効にして
/home/USER_NAME/public_html
にあるファイルを表示させようと設定してみたのですが
permissionがおかしいと403のエラーがでてしまいます。

私のぼろぼろな英語力を頼りにhttpd.confの
public_htmlを有効にする記述の前後の英文を
読んだところ711に変更しろと書いてある気がしたので
ルート権限で
#chmod 711 public_html
とやってみたのですが
相変わらず403のエラーが出てしまいます。

どのような原因が考えられますか?
アドバイスよろしくおねがいします。

A 回答 (6件)

#5 <なるほど



じゃ、もう一回
ユーザー名:tarou
/home/tarou/public_html/test.html
だと仮定します。
ユーザー tarou権限でコマンドラインに入ります
$ pwd <=と打つと
/home/tarou <=と表示されるはず
$ chmod o+x . <=/home/tarou ディレクトリに実行権限が付与される

この状態で http://127.0.0.1/~tarou/test.html
にブラウザでアクセスしてみる
駄目なら
http://pocketstudio.jp/linux/?FC4%2FApache%2F%B0 …
を参考にして

$ /sbin/restorecon -R /home/tarou

これでどうですか?
SELinuxに関してはApache系-MLの検索
http://mm.apache.jp/mailman/namazu.cgi?query=res …
やマニュアル内を検索しても出てこなかったので、Apacheの書籍にも載っていないかもしれません

あと httpd.confに関しては
Apache/1.3.33 では
#UserDir public_html <=コメント外さなくても問題なし

Apache/2.0.55だと
#UserDir disable <=#つけないと404になる
 (403になると言うことは、これがコメントアウトされているかApache1.3系だと思います)
#UserDir public_html <=コメント外さなくても問題なし
    • good
    • 0

>相変わらず403のエラーが出てしまいます。


>どのような原因が考えられますか?
>アドバイスよろしくおねがいします。

普通、このエラーはディレクトリやファイルの権限が不適切のときに出ますが、
FedoraCoreでは、SELinuxが有効(Enforcing)になっていたり、SELinuxの設定で
HTTPDがホームディレクトリを読む許可が無い場合にも、403エラーがでます。

# system-config-securitylevel
でSELinuxのポリシーを確認してみてください。
SELinuxが有効になっていたら、無効にしてみることも試してみてください。
(FC5インストール時はデフォルトでSELinuxが有効になります)
    • good
    • 0

# The path to the end user account 'public_html' directory must #be accessible to the webserver userid. This usually means that #~userid must have permissions of 711, ~userid/public_html must #have permissions of 755, and documents contained therein must #be world-readable.



此処の解釈は/home/useridのパーミッションは711
/home/userid/public_htmlは755とするとhttp://localhost/~userid/public_html/index.htmlとアクセスできる。
さらにその下の
<IfModule mod_userdir.c>
#UserDir is disabled by default since it can confirm theresence
# of a username on the system (depending on home directory
# permissions).
#
# UserDir disable //先頭に#を入れる。

#
# To enable requests to /~user/ to serve the user's public_html
# directory, remove the "UserDir disable" line above, and uncomment
# the following line instead:
#
UserDir public_html //先頭の#を外す

</IfModule>
    • good
    • 0

連投スマソ


>ルート権限で
ユーザー権限でOKなのでユーザーでやる癖をつけましょう
で、最近のディストリビューションではほとんど
adduser( と passwd) した直後は
/home/ユーザー名 のパーミッションが700(drwx------)になっているので、
/home/ユーザー名/public_html を705にしようが701にしようが403エラーになる。
初めてwebサーバー立てた人は大概、一度はここでつまずくんだよなあ
    • good
    • 0

/home/USER_NAME/public_html/index.htmlにアクセスするなら


まず
/home/USER_NAME
をchmod 705
/home/USER_NAME/public_html
も chmod 705 にして
ちゃんと表示されたらchmod 701 にしましょう。

そうじゃなくて
/home/USER_NAME/public_html/ (URL上は/~USER_NAME/)にアクセスしてfile一覧を表示させるのなら
ディレクトリのパーミッションは705のままにして
httpd.confか 有効な.htaccessで Options Indexes (またはOptions All ) にする
    • good
    • 0
この回答へのお礼

いまいろいろやって見ているところですが
Apacheの本を一冊かったほうがいいのかなぁと
思ってしまいました。

進展ありましたら上のほうにレスします。
レスありがとうございました。

お礼日時:2006/04/08 20:21

httpd.confファイルを修正しただけみたいですね。


Apacheを再起動してください。

httpd.confの修正ミスも考えられます。
見直してください。

読み込むファイルのパーミッションも設定していないようですね。
それも見直してください。
    • good
    • 0
この回答へのお礼

レスありがとうございます。

とりあえず編集後再起動してみたのですが
改善されませんでした。

パーミッションの設定に問題があるようです
もうちょっと粘ってみようと思います。

お礼日時:2006/04/08 20:19

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