将Apache的DocumentRoot设置为用户目录的符号链接

简要概述

CentOS7安装apache时,我通常会将/var/www/html的DocumentRoot目录创建为符号链接。
在之前的CentOS6上,我并不太在意将DocumentRoot设置为符号链接,但在这次的CentOS7上遇到了问题,所以做了一下记录。

导致的原因是什么?

Selinux的设置是否追加了CentOS6中缺少的部分…由于某个项目的原因,出现了以下错误导致无法访问。

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

解决办法

Selinux的项目需要将下列项目设置为开启。

#現在の設定確認
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/
广告
将在 10 秒后关闭
bannerAds