我有一个与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