我试图设置一个Apache站点来使用我的主文件夹中的文件夹而没有任何成功。我完全按照本页中的步骤操作:
https://help.ubuntu.com/community/ApacheMySQLPHP
但是我没有成功;我一直收到错误403,表示服务器没有访问请求页面的权限。我搜索了论坛,很多人建议更改文件夹的权限。我马上离开并将权限设置为777,但这并没有解决问题。我做了另一个搜索,有人给了我一个线索,这可能是因为我的主文件夹是加密的。我相信这可能是问题,但是:
加密和Apache之间有什么关系?我想Apache服务器正在从系统请求文件,而不是试图访问文件字节!
无论如何都有解决这个问题的方法吗?我不想将文件夹移动到/ var / www,因为我正在使用这个Apache进行测试,因此我希望立即反映我所做的任何更改,而不是必须复制容易出错的文件。
答案 0 :(得分:0)
加密和Apache之间有什么关系?我想Apache服务器正在从系统请求文件,而不是尝试访问文件字节!
是的,但它很可能是与你不同的用户(我认为Apache在大多数发行版上都有自己的用户)。该用户可能无法访问您的主文件夹。
最好的办法是将htdocs文件夹放在加密文件夹之外,或者以某种方式让Apache服务像你一样运行。不过,这更像是一个serverfault.com或askubuntu.com问题。
答案 1 :(得分:0)
听起来您的服务器设置为启用了安全增强型Linux(SELinux)。如果是这样,您的Apache可能已配置,因此它只能访问特别标记的目录。
要检查SELinux是否处于活动状态,请尝试以下命令:
cat /etc/sysconfig/selinux
或者:
sestatus
<强>更新强>
如果您没有启用SELinux,则可能是一个简单的权限问题。将目录的权限设置为777是不够的,Apache用户还必须具有从root到主目录的每个目录的(执行)权限。此外,您要访问的文件还必须具有Apache的(读取)权限。
要执行的命令是:
chmod o+x /home
chmod o+rx /home/someuser
chmod o+r /home/someuser/*
(假设您的主目录是/ home / someuser)。
如果你有子目录,那么你也必须重复它们。
我认为这不是加密问题。然后你宁愿得到乱码数据而不是权限错误。如果您正在使用加密,那么您的主目录中可能有一个名为 Private 的目录。无论如何,Apache无法访问加密数据。您需要关闭加密。