はじめまして、puといいます。
皆様のお知恵を貸していただきたくて、書きこします。
fedora6+winxpで自宅サーバーを構築の勉強中です。
linux上からユーザーホームディレクトリを作成し公開に設定を行いましたが、「notfob・・」と表示され、アクセス権がないためでした。
設定は以下の通りです。
rootで、vi /etc/httpd/conf/httpd.confの編集した内容
serveradmin メールユーザーネーム@ホスト名
servername ipアドレス:80
usercanonicalName On
#userdir Disable
userdir public_html
<Directory /home/*/public_html>
AllowOverride None
Options Multiviews
</Directory>
その後user(user名=pen)の追加とパスワードを設定しました。
設定したuserのpenで以下の設定をしました。
mkdir public_html
chmod -R 755 /home/pen/
vi /home/pen/public_html/index.htmでHPを作成
rootに戻って、httpdを再起動
WindowsのIEでもlinuxのブラウザでも、[http://IPアドレス」ではデフォルトのページが正常に表示されます。
「http://IPアドレス/~pen/index.html」では「notfob・・」とアクセス権がないと表示されます。
どの設定が悪いのでしょうか?
docmentrootでの指定、CGIやユーザー制限での設定は、きちんとできました。
> fedora6+winxpで自宅サーバーを構築の勉強中です。
> linux上からユーザーホームディレクトリを作成し公開に設定を行いましたが、「notfob・・」と表示され、アクセス権がないためでした。
> 設定は以下の通りです。
>
> rootで、vi /etc/httpd/conf/httpd.confの編集した内容
> serveradmin メールユーザーネーム@ホスト名
> servername ipアドレス:80
> usercanonicalName On
> #userdir Disable
> userdir public_html
> <Directory /home/*/public_html>
> AllowOverride None
> Options Multiviews
> </Directory>
>
> その後user(user名=pen)の追加とパスワードを設定しました。
> 設定したuserのpenで以下の設定をしました。
> mkdir public_html
> chmod -R 755 /home/pen/
これはチョットまずいでね。-R でやってしまったのでみんな変わってしまいました。/home/pen/配下には .bashrc 等のシステムファイルがあるので、他のユーザを調べてパーミッションを付け直すか、一旦ユーザだけでなく/home/penも削除して新規に作成しなおすかしたほうが良いです。
> vi /home/pen/public_html/index.htmでHPを作成
> rootに戻って、httpdを再起動
>
> WindowsのIEでもlinuxのブラウザでも、[http://IPアドレス」ではデフォルトのページが正常に表示されます。
> 「http://IPアドレス/~pen/index.html」では「notfob・・」とアクセス権がないと表示されます。
> どの設定が悪いのでしょうか?
>
> docmentrootでの指定、CGIやユーザー制限での設定は、きちんとできました。
可能性が高いのはselinux有効になっていて、新規作成したのでタイプラベルが割り当てられていないのでApacheがpublic_htmlにアクセスできないケースで、Forbiddenエラーが出ます。
もしそうなら対処方法は、rootで
#restorecon -R /home
とやるか? ユーザpenで
% cd ~
% chcon -R -h system_u:object_r:httpd_sys_content_t public_html
とタイプラベルを付け直してあげれば大丈夫なはずです。
SElinuxも知らず、調べてやっと理解できたレベルの初心者です。
やってみましたが、無理でした。
最初から作り直しをやろうと思います。
聞くは一瞬の恥と思い厚かましいお願いですが、ユーザーのホームディレクトリの作り方のいいサイトはご存知ないでしょうか?
自分で調べていますが、ナカナカ・・・
親父さま、初めから再トライしてみます。
前々からHPで勉強させていただいていますが、アドバイスまで頂ありがとうございます。
>もしそうなら対処方法は、rootで
#restorecon -R /home
とやるか? ユーザpenで
% cd ~
% chcon -R -h system_u:object_r:httpd_sys_content_t public_html
どちらもやってみましたが「forbidden」のままです。
どうしたらいいでしょうか?Y(>_<、)Y ヒェェ!
おやじさま、ありがとうございます。
ユーザアカウントもホームディレクトリも全部削除し、作り直してからやってみました。
rootで#restorecon -R /homeをやってみたら、公開されました。
今後もこちらで引き続き、勉強させていただきます。