14

I have CentOS 6.1 server and I installed apache 2.2.15 on it. Now When I try to access it from another pc (windows 7) from IE (http:/// (=centos ip)) I get the "You don't have permission to access / on this server." error. I even created phpinfo.php file with content of "" on "var/www/html" and when I try to access it by using "http://*/phpinfo.php" in IE, I get not found error. What should I do? my httpd.conf for directiry is like this:

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

12 回答 12

24

编辑 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/configSELINUX=disabled如上所述重新启动服务器并尝试。

希望这可以帮助

于 2013-07-09T08:48:30.060 回答
10

使用以下命令将 SELinux 设置为许可模式:

setenforce 0;
于 2016-08-03T12:24:35.590 回答
3

检查 /var/www/html 的文件权限和 Apache conf 中的 ALLOW 指令

确保所有文件都可以被网络服务器读取,并且允许指令就像

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

如果您可以看到文件,则考虑将指令排序为更具限制性

于 2013-07-03T07:47:09.900 回答
2

尝试使用以下命令: chmod +rx /home/*

于 2014-04-15T08:45:56.730 回答
2

拳头检查 apache 是否正在运行。service httpd restart用于重启

CentOS 6 带有激活的 SELinux,因此,要么更改策略,要么通过编辑/etc/sysconfig/selinux设置禁用它SELINUX=disabled。然后重启

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

于 2013-07-03T07:49:25.187 回答
1

如果您将 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:对不起,我的英语

于 2016-11-04T13:54:43.310 回答
0

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

于 2013-07-03T07:45:55.073 回答
0

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

于 2015-07-17T07:57:39.740 回答
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 地址

于 2021-01-25T16:36:34.810 回答
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
于 2015-10-12T17:25:25.767 回答
0

尝试编辑 httpd.conf

<Directory "/usr/local/www/apache24/cgi-bin">
  Options Indexes FollowSymLinks Includes ExecCGI
  Require all granted
</Directory> 
于 2018-08-31T08:57:08.040 回答
-1

在 /etc/httpd/conf/httpd.conf 中设置所需的所有权限

于 2018-07-31T13:07:44.127 回答