Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/apache/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Apache不接受我的主文件夹中的路径_Apache_Apache2 - Fatal编程技术网

Apache不接受我的主文件夹中的路径

Apache不接受我的主文件夹中的路径,apache,apache2,Apache,Apache2,我试图设置一个Apache站点来使用我的主文件夹中的文件夹,但没有成功。我完全遵循了本页中的步骤: 但我没有成功;我一直收到错误403,这表示服务器没有访问请求页面的权限。我搜索了论坛,许多人建议更改文件夹的权限。我马上就去了,将许可设置为777,但这并没有解决问题 我做了另一次搜索,有人给了我一个线索,可能是因为我的主文件夹被加密了。我相信这可能是问题所在,但是: 加密和Apache之间有什么关系?我想Apache服务器是在向系统请求文件,而不是试图访问文件字节 有没有办法解决这个问题?我不

我试图设置一个Apache站点来使用我的主文件夹中的文件夹,但没有成功。我完全遵循了本页中的步骤:

但我没有成功;我一直收到错误403,这表示服务器没有访问请求页面的权限。我搜索了论坛,许多人建议更改文件夹的权限。我马上就去了,将许可设置为777,但这并没有解决问题

我做了另一次搜索,有人给了我一个线索,可能是因为我的主文件夹被加密了。我相信这可能是问题所在,但是:

  • 加密和Apache之间有什么关系?我想Apache服务器是在向系统请求文件,而不是试图访问文件字节

  • 有没有办法解决这个问题?我不想将文件夹移动到/var/www,因为我正在使用这个Apache进行测试,所以我希望我所做的任何更改都能立即反映出来,而不是复制容易出错的文件

  • 加密和Apache之间有什么关系?我想Apache服务器是在向系统请求文件,而不是试图访问文件字节

    是的,但它很可能会以不同于您的用户身份这样做(我认为Apache在大多数发行版上都有自己的用户)。该用户可能无法访问您的主文件夹


    最好的办法是将htdocs文件夹放在加密文件夹之外,或者以某种方式让Apache服务随您的需要运行。不过,这更像是serverfault.com或askubuntu.com的问题

    听起来好像您的服务器设置为启用了安全增强型Linux(SELinux)。如果是这样,您的Apache可能已配置为只能访问特别标记的目录

    要检查SELinux是否处于活动状态,请尝试以下命令之一:

    cat /etc/sysconfig/selinux
    
    或:

    更新:

    如果没有启用SELinux,那么可能是一个简单的权限问题。仅将目录权限设置为777是不够的,Apache用户还必须对从根目录到主目录的每个目录具有(执行)权限。此外,您要访问的文件还必须具有Apache的(读取)权限

    必须执行的命令包括:

    chmod o+x /home
    chmod o+rx /home/someuser
    chmod o+r /home/someuser/*
    
    (假设您的主目录是/home/someuser)

    如果您有子目录,那么您也必须重复这些子目录


    我不认为这是一个加密问题。然后,您更希望获得乱码数据,而不是权限错误。如果您使用的是加密,那么您的主目录中可能有一个名为Private的目录。无论如何,Apache无法访问加密数据。您需要关闭加密功能。

    这两个功能对我都不起作用,因此SELinux似乎未启用。
    chmod o+x /home
    chmod o+rx /home/someuser
    chmod o+r /home/someuser/*