FEDORAはマルチユーザーosですので、複数のユーザーが利用でき、
個別のホームページ等を公開したい時もあります。
前回、linax君

と言うユーザーを追加しました。
そこでlinux君のホームディレクトリー内にwebページを作成して公開出来る迄の設定を行います。
それでは、ユーザーさん(私の場合linux君)でログインします。
左上のアクティビティ

ファイルを選択するとホームディレクトリが開きます。
何も無い所で右クリック

新しいフォルダー作成を選択します。
フォルダー名をpublic_htmlにしましょう

作成したフォルダーにカーソルを合わせ右クリック

プロパティを選択

アクセス権を選択すると下記画像の画面になります。

矢印のUser_dateの所をクリックしてhttpd_user_rw_content_tに変更しましょう。
変更が済んだらpublic_htmlディレクトリを開いて何も無い所で右クリック
新しいドキュメントの作成の空のドキュメントを選択します。
無題のドキュメントを開き下記画像の用に入力します。

入力が済んだら保存してindex.htmlと言う名前に変更します。
念のためにindex.htmlファイルにカーソルを合わせ右クリック

プロパティのアクセス権を選択して先程と同じhttpd_user_rw_content_tになってるか確認して下さい。なってなければ変更しておいて下さい。
新規ユーザー(linux君)のお仕事はここまで。

一度ログアウトしてrootでログインして、apacheの設定ファイルの編集をします。
ファイルシステム

etc

httpd

conf

httpd.confを開きます。
365行目 UserDir "disabled"の前に#を付け#UserDir "disabled"とします。
372行目 #UserDir public_htmlの先頭の#を取り除いて UserDir public_html と変更します。
379行 #
390行 # 迄の先頭の#を全ての行取り除きます。
380行 AllowOverride Noneに変更します。
381行 Options SymLinksIhOwnerMatch に変更します。
下記画像の用に変更下さい。

変更が済んだら保存して終了。
appachの再起動をしましょう。
端末を開いて、systemctl restart httpd.serviceと入力してenter
おそらくselinuxのブロック等で、1発でアクセス出来ないと思いますが

表示されるか確認してみましょう

ウエブブラウザを起動させて、localhost/~ユーザー名(私の場合localhost/~linux)と入力してenter
無事表示されると成功

403もしくはselinuxが起動した貴方はもう少し設定が必要です。
先ずはselinuxが作動してアクセス出来なかった貴方は
selinuxを一時的に無効にしてみましょう
端末を開いて setenforce 0

数字のゼロですよ
これで一時的に無効になりました。
ちなみにselinuxを有効にするのは setenfoce 1 です

これで再度ブラウザーでアクセスしてみてちゃんと表示された場合は、apacheがuserのディレクトリーにアクセス出来ないselinuxの設定になっていると思われますので、apacheがuserディレクトリにアクセス出来るように確認と設定して行きましょう。
端末を開いてgetsebool -a と入力してenter
画像のようにズラズラとselinuxの設定が表示されます。
その中のhttpd_read_user_content --> の列を見つけ出して下さい。
無事に有ったらonかoffか確認します。恐らくoffのはず

onの貴方は設定は有ってますので別の原因でしょう

offの貴方はonに設定して行きましょう。
端末にsetsebool -P httpd_read_user_content 1 と入力してenter
これでおK

再度設定を確認してみましょう。getsebool -a と入力してenter
onになってますか

なりましたか

設定が完了したらselinuxを有効にしてブラウザーでアクセスしてみて下さい。
無事表示されたら成功

もしまたダメだった貴方とselinuxが作動しなくて403の貴方は
pumlic_htmlがhttpd_user_rw_content_tもしくはhttpd_user_content_tになってないかも知れませんので確認してみましょう
端末を開いて ls -Z /home/linux

linuxは各々のユーザー名に調整して下さい。
下記画像の下線のようになってたなくてuser_home_tだったら変更しましょう。

端末に chcon -t httpd_user_rw_content_t /home/linux/public_html -R と入力してenter
勿論、linuxは、各々のユーザーです。
成功したら再確認してみましょう。
これでもダメな貴方はファイルへのアクセス権限だと思われます。
ユーザー本人だとアクセス可能なはず
ユーザーでログインしてブラウザにてアクセスしてみて下さい。
アクセス出来た場合は、ユーザー以外の人でもアクセス出来るようにしましょう。
ユーザーでログインしたままで端末を開いて cd /home/ 入力後enter
chmod 755 public_html と入力してenter
これでアクセス出来ると思います。
アクセス出来たら設定は完了です


0