阿帕奇在符号链接上的行为奇怪

我有一个与CentOS的VPS和我面临一个非常奇怪的行为由Apache Web服务器。
我用50GB的磁盘空间启动了这个服务器,很快我就用完了空间,于是我问维护部门,又增加了50GB作为一个新的硬盘。 所以我创build了一个新的分区,并将其挂载到/home/media ,并将所有网站媒体文件移动到了这个位置,最后我创build了一个SymLink,如下所示:

 lrwxrwxrwx. 1 apache apache 12 May 15 14:07 media -> /home/media/ 

今天,我又一次耗尽了磁盘空间,这次他们增加了一个新的容量为100GB的硬盘。 我只是想和我在/home/media/做的一样,但是这一次叫做/data/media

 lrwxrwxrwx. 1 apache pooya 12 Jun 9 22:43 media -> /data/media/ 

现在,当我导航到浏览器中的媒体文件夹中的文件,我得到了Forbidden 403错误。

我检查了Apache的错误日志,它说: 符号链接不允许或链接目标不可访问:/ var / www / html / media

Internet上的此错误的所有解决scheme是添加Options Indexes FollowSymLinks或Web服务器面对访问问题symliked目录。

我在Apacheconfiguration文件和我的根.htaccess文件中有FollowSymLinks 。 所有的文件和文件夹,还有他们在/data/media/中的父母都被修改为777 ,其中的chown是apache:apache

我的networking服务器有什么问题?

你几乎不需要在你的网页树中拥有777的权限。

您可能需要修复SELinux权限,因为/ data / media不是存储networking文件的标准位置。 您可以通过暂时禁用SELinux来快速testing

 setenforce 0 

运行一些testing,如果网页文件现在可以访问SELinux是怪罪。 重新启用Linux

 setenforce 1 

然后解决问题

 semanage fcontext -a -t httpd_sys_content_t "/data/media(/.*)?" 

其次是

 restorecon -r -v /data/media 

现在apache应该能够访问这些文件。


semanage实用程序由policycoreutils-python包提供,因此您可以使用它进行安装

 yum install policycoreutils-python