我有一个带有 CentOS 的 VPS,我正面临 Apache 网络服务器的一个非常奇怪的行为。
我用 50GB 的磁盘空间启动了这台服务器,但很快就用完了,所以我询问了维护部门,他们又添加了 50GB 作为新硬盘。所以我创建了一个新分区并将其安装进去/home/media
,我将所有网站媒体文件移动到这个地方,最后我创建了一个像这样的 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 的错误日志,它说:Symbolic link not allowed or link target not accessible: /var/www/html/media。
Internet 上针对此错误的所有解决方案都是添加Options Indexes FollowSymLinks
或 web 服务器面临使用 symliked 目录的访问问题。
我FollowSymLinks
在 apache 配置文件和我的根.htaccess
文件中都有。所有文件和文件夹以及它们的父/data/media/
级都被更改为777,它们的 chown 是apache:apache
.
我的网络服务器有什么问题?
您几乎不需要在您的 Web 树中拥有 777 权限。
您可能需要修复 SELinux 权限,因为 /data/media 不是存储 Web 文件的标准位置。您可以通过暂时禁用 SELinux 来快速测试它
运行一些测试,如果 Web 文件现在可以访问,则 SELinux 是罪魁祸首。重新启用 Linux
然后解决问题
其次是
现在 apache 应该可以访问这些文件了。
semanage 实用程序由 policycoreutils-python 软件包提供,因此您可以使用