您无权访问此服务器上的/

时间:2013-07-03 07:43:08

标签: apache centos6

我有CentOS 6.1服务器,我在上面安装了apache 2.2.15。 现在,当我尝试从IE(http:// /( = centos ip))从另一台PC(Windows 7)访问它时,我得到“您无权访问/在此服务器。”错误。我甚至在“var / www / html”上创建了内容为“”的phpinfo.php文件,当我尝试在IE中使用“http://*/phpinfo.php”访问它时,我找不到错误。我该怎么办? 我的httpd.conf for directiry是这样的:

<Directory "/var/www/html">
    Options Indexes FollowSymLinks
    AllowOverride None
    Order allow,deny
    Allow from all
</Directory>

12 个答案:

答案 0 :(得分:19)

编辑httpd.conf文件,该文件位于/etc/httpd/conf/httpd.conf中。添加以下代码。

<Directory "/">
#Options FollowSymLinks
Options Indexes FollowSymLinks Includes ExecCGI
AllowOverride None
Allow from all
</Directory>

<Directory "/home/">
 #Options FollowSymLinks
 Options Indexes FollowSymLinks Includes ExecCGI
 AllowOverride None
 Allow from all
</Directory>

行后没有。 555(在我的情况下)。检查文件权限并重新启动服务器。

service httpd restart   

现在,它会起作用。您仍然面临同样的问题,请在seLinux更改/etc/selinux/config中停用SELINUX=disabled并重新启动服务器,如上所述并尝试一下。

希望这有帮助

答案 1 :(得分:3)

检查/ var / www / html的文件权限以及apache conf中的ALLOW指令

确保Web服务器可以读取所有文件,并且allow指令类似于

 <Directory "/var/www/html">
    Order allow,deny
    Allow from all
  </Directory>

如果你能看到文件,那么考虑将指令排序为更具限制性的

答案 2 :(得分:3)

使用以下命令在允许模式下设置SELinux:

setenforce 0;

答案 3 :(得分:2)

Fist检查apache是​​否正在运行。 service httpd restart重新启动

CentOS 6附带激活SELinux,因此,要么更改策略,要么通过修改/etc/sysconfig/selinux设置SELINUX=disabled来禁用它。然后重新启动

然后在本地(从centos)检查apache是​​否正常工作。

答案 4 :(得分:1)

尝试使用以下内容: chmod + rx / home / *

答案 5 :(得分:0)

在根目录中创建index.htmlindex.php文件(在您的情况下为/var/www/html,如@jabaldonedo所述)

答案 6 :(得分:0)

右键单击您的www文件夹,然后单击属性。导航到权限并将所有内容更改为读取和写入,然后单击&#34; 将权限应用于附带的文件&#34;你完成了!! 也许为时已晚,但这肯定会帮助其他人

答案 7 :(得分:0)

检查httpd.conf中的apache用户和组设置。它应默认为AMI / RedHat上的apache或Debian上的www-data。

grep '^Group\|^User' /etc/httpd/conf/httpd.conf

然后将apache用户添加到站点根目录的组设置中。

sudo usermod -a -G <your-site-root-dir-group> apache

答案 8 :(得分:0)

如果你将SELinux设置为许可模式(命令setenforce 0)并且它可以工作(对我有用),那么你可以运行restorecon(sudo restorecon -Rv /var/www/html/),它可以永久地为Apache目录中的文件设置正确的上下文因为setenforce是暂时的。 Apache的上下文是httpd_sys_content_t,你可以验证它运行输出类似的命令ls -Z /var/www/html/

-rwxr-xr-x. root root system_u:object_r:httpd_sys_content_t:s0 index.html

如果文件没有正确的上下文,则显示如下内容:

drwxr-xr-x. root root unconfined_u:object_r:user_home_t:s0 tests

希望它可以帮到你。

PD:请原谅我的英文

答案 9 :(得分:0)

尝试编辑httpd.conf

<Directory "/usr/local/www/apache24/cgi-bin">
  Options Indexes FollowSymLinks Includes ExecCGI
  Require all granted
</Directory> 

答案 10 :(得分:0)

对于 CentOS 8,你的 /etc/httpd/conf.d/awstats.conf 文件需要看起来像这样,你需要输入你的 IP 地址并重新启动你的 httpd 服务,除非你想让全世界都可以访问它!

#
# Directives to add to your Apache conf file to allow use of AWStats as a CGI.
# Note that path "/usr/share/awstats/" must reflect your AWStats install path.
#
Alias /awstatsclasses "/usr/share/awstats/wwwroot/classes/"
Alias /awstatscss "/usr/share/awstats/wwwroot/css/"
Alias /awstatsicons "/usr/share/awstats/wwwroot/icon/"
ScriptAlias /awstats/ "/usr/share/awstats/wwwroot/cgi-bin/"
#
# This is to permit URL access to scripts/files in AWStats directory.
#
<Directory "/usr/share/awstats/wwwroot">
    Options None
    AllowOverride None
    <IfModule mod_authz_core.c>
        # Apache 2.4
        <RequireAny>
           Require <Your IP Address here>
        </RequireAny>
    </IfModule>
    <IfModule !mod_authz_core.c>
        # Apache 2.2
        Allow from <Your IP address here>
        Allow from ::1
    </IfModule>
</Directory>
# Additional Perl modules
<IfModule mod_env.c>
    SetEnv PERL5LIB /usr/share/awstats/lib:/usr/share/awstats/plugins
</IfModule>

请记住,如果您的 IP 地址更改,您需要更新文件并重新启动 httpd 服务器。顺便说一句,您只需在谷歌上搜索“我的 ip”

,就可以看到从外面看起来的 ip 地址

答案 11 :(得分:-1)

必需的设置全部在/etc/httpd/conf/httpd.conf

中授予