Apache服务器上的403错误

时间:2019-07-21 18:38:38

标签: linux apache centos

我将Apache“ / var / www / html”的主目录更改为“ / gwanwoonam / web” 之后,Web服务器返回403错误-禁止访问 您无权访问此服务器上的/info.php。 我该如何解决

我搜索了一下,找到了关于许可和SELinux的解决方案。 我关闭了SELinux,因此已禁用。

c_id    L1Parent    L2Parent    L3Parent    L4Parent    L5Parent
1       NULL        NULL        NULL        NULL        NULL
2       1           NULL        NULL        NULL        NULL
3       1           NULL        NULL        NULL        NULL
4       1           2           NULL        NULL        NULL
5       1           2           4           NULL        NULL
6       1           2           4           5           NULL
7       1           2           4           5           6

其次,我尝试编辑conf文件          须藤vim /etc/httpd/conf/httpd.conf

criteria.where(builder.equal(ParentClass.get("ChildClass").get("FieldOfChildClass"), "value" ));

然后,我将777权限放在Web目录,其子文件夹和文件中。

[gwanwoonam@localhost web]$ getenforce
Disabled

但是,我无法解决此问题。 我如何找到解决方案?


日志

<Directory />
    AllowOverride none
    #Require all denied
    Require all granted
    Allow from all
</Directory>
...
DocumentRoot "/home/gwanwoonam/web"
...
<Directory "/home/gwanwoonam/web">
    AllowOverride None
    # Allow open access:
    Require all granted
    Allow from all
</Directory>
...
<Directory "/home/gwanwoonam/web">
    #
    # Possible values for the Options directive are "None", "All",
    # or any combination of:
    #   Indexes Includes FollowSymLinks SymLinksifOwnerMatch ExecCGI MultiViews
    #
    # Note that "MultiViews" must be named *explicitly* --- "Options All"
    # doesn't give it to you.
    #
    # The Options directive is both complicated and important.  Please see
    # http://httpd.apache.org/docs/2.4/mod/core.html#options
    # for more information.
    #
    Options Indexes FollowSymLinks

    #
    # AllowOverride controls what directives may be placed in .htaccess files.
    # It can be "All", "None", or any combination of the keywords:
    #   Options FileInfo AuthConfig Limit
    #
    AllowOverride None

    #
    # Controls who can get stuff from this server.
    #
    Require all granted
    Allow from all
</Directory>
...

2 个答案:

答案 0 :(得分:1)

将以下行添加到您的现有代码中:

restorecon -r /home/gwanwoonam/web

答案 1 :(得分:0)

在您的问题中,您显示了以下内容:

drwxrwxrwx. 2 gwanwoonam gwanwoonam   40 Jul 21 12:19 web
-rwxrwxrwx. 1 gwanwoonam gwanwoonam 106 Jul 21 11:52 index.html
-rwxrwxrwx. 1 gwanwoonam gwanwoonam  66 Jul 21 12:19 info.php

请注意,index.html目录中的info.phpweb 不是。因此,自您告诉DocumentRoot "/home/gwanwoonam/web"以来,Apache找不到它们。

将文件移至/home/gwanwoonam/web,然后Apache会看到它们。


然后,为确保没有权限问题,请在文件系统级别运行以下命令:

chmod 755 /home/gwanwoonam/web
find /home/gwanwoonam/web -type d -exec chmod 755 {} \;
find /home/gwanwoonam/web -type f -exec chmod 644 {} \;

这将放权限     所有目录(包括drwxr-xr-x上的/home/gwanwoonam/web 和     -rw-r--r--个文件。

这样,您的Apache应该能够读取web下的所有文件,并将它们返回给您。