LoginSignup
11
12

More than 5 years have passed since last update.

apacheのDocumentRootをユーザディレクトリのシンボリックリンクに

Last updated at Posted at 2014-08-17

概要

CentOS7にapacheを入れた際、いつも/var/www/htmlのDocumentRootのディレクトリをシンボリックリンクにしています。
これまでCnetOS6ではあまり気にすることなくDocumentRootをシンボリックリンクにしていましたが、今回のCentOS7でつまずいたのでメモ。

原因

Selinuxの設定でCentOS6ではなかった部分が追加されたのか、、、ある項目のせいで下記エラーが出てアクセスできない。

PHP Warning: Unknown: failed to open stream: Permission denied in Unknown on

解決方法

Selinuxの項目は下記の項目をonにする必要がある

#現在の設定確認
root> getsebool -a | grep  "httpd_enable_homedirs\|httpd_read_user_content"
root> httpd_enable_homedirs --> on
root> httpd_read_user_content --> on

#設定変更
root> setsebool -P httpd_enable_homedirs on
root> setsebool -P httpd_read_user_content on

例のごとくラベルも設定する。
この部分はいつもどおり下記の通り設定する。

#ホームディレクトリの中の場合、ユーザディレクトリのパーミッションを701に
#シンボリックリンク作成
ln -s /home/[target directory]/ /var/www/html

#ラベル貼り替え
semanage fcontext -a -t httpd_sys_content_t "/var/www/html(/.*)?"

#ラベル有効化
restorecon -R -v /var/www/
11
12
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
11
12