我有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>
答案 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.html
或index.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
中授予