apache You don't have permission to access /test.php on this server解决方法_Linux

键字: Apache   403  Forbidden
系统配置:
操作系统:Red Hat Linux 6.2
Web服务器:Apache 3.1.1+jakarta-tomcat 3.1.1
数据库服务器:oracle 8i

Apache服务器是目前应用最多的web服务器,据统计在世界上的服务器中有超过一半采用Apache服务器.关于它的好处,您可以自己到http://www.apache.org/上去看。

今天我们的服务器出了一点儿问题:任何访问都会返回一个403的错误:

复制代码 代码如下:

  Forbidden 

  You don't have permission to access  on this server。

不对呀,原来还好好的,在排除了目录的权限等的问题外,我几乎翻遍了系统的所有文件,尤其是/etc/httpd/conf下的所有配置文件,因为我已经将access.conf,srm.conf文件加入到httpd.conf文件中,同时在httpd.conf文件的最后加上了一句:

Include /etc/httpd/conf/tomcat.conf,以便将tomcat和apache连接起来。

在经过了一番思考之后,我认为问题肯定出在httpd.conf文件中,于是就又重新检查httpd.conf文件,终于让我发现了其中有这样一段:

复制代码 代码如下:

<Files ~>
AllowOverride AuthConfig FileInfo Indexs Limit Options
Order allow ,deny
Deny from all-----------------注意:就是这儿!!--->把这行去掉或注释掉就行!!!
</Files>

心头一阵狂喜,哈哈,想起赵本山说的一句话“小样儿,脱了马甲我也认得你”,于是改成:

Allow from all,重新启动服务器,咦,还是不行?头开始大了,心想:今儿个我是载这儿了。又翻了n多遍httpd.conf文件几乎都要背下来了还找不到问题。也怪,突然就想起来了,www.apache.org不是有个问题数据库吗,几乎所有的问题都可以在上面找到答案,于是进入http://bugs.apache.org/,查找关键字forbidden,果然就让我查到了,原来是我们一位同事想做一个虚拟主机,用了linux的配置工具linuxconf,这个工具因为版本的问题,会导致httpd.conf文件的修改,其实我只要将上面的那一段去掉就可以万事大吉了。

最终总结经验:遇到事情首先要想到到软件所在的网站上找答案,免得浪费时间。

写此文的目的:以我为反面教材,遇到问题不要自己总是认为自己可以解决,而不到专业网站上请教。很多的网站已经有了非常完善的faq,基本上可以满足大家平时的需求,比如pb的要多到www.sybase.com上走走,java到http://developer.java.sun.com上转转,vc到坏孩子家溜溜。其实一些高手不是他们有多聪明,而是他们懂得如何从有用的地方找到自己想要的东西。

我也象他那样找到了希望,也没管用。后来我乐了,但后来我又乐不起来了。那着在我这里不行啊?谁能帮我?我找!我找!不行就自救。

===================================================
===================================================
解决Apache下403 Forbidden错误

正 文:

    今天在公司电脑上安装Apache,版本2.2.8,装完刚测试可以;配置了下php的php.in文件再次localhost打开发现错误:HTTP 错误 403 - 禁止访问,即403 Forbidden:You don't have permission to access / on this server.权限又不够了?

    马上打开apache的配置文件httpd.conf,逐行检查。在大约快一半的地方有以下这段代码:

复制代码 代码如下:

<Directory />
    Options FollowSymLinks
    AllowOverride None
    Order deny,allow
    Deny from all
</Directory>

发现了吧。由于配置了php后,这里的“Deny from all”已经拒绝了一切连接。把该行改成“allow from all”,修改后的代码如下,问题解决。

复制代码 代码如下:

<Directory />
    Options FollowSymLinks
    AllowOverride None
    Order deny,allow
    allow from all
</Directory>

再次在浏览器里打开http://localhost,显示it works!

总结:如果你也发生了这样的403禁止访问,不妨注意下apache的httpd.conf配置文件里有“Deny from all”这行的代码处,看看是不是哪里被系统悄悄地修改了。

时间: 2024-09-17 04:24:46

apache You don't have permission to access /test.php on this server解决方法_Linux的相关文章

apache 提示You don&#039;t have permission to access /test.php on this server.怎样解决

原文:apache 提示You don't have permission to access /test.php on this server.怎样解决 关键字: Apache   403  Forbidden 系统配置: 操作系统:Red Hat Linux 6.2 Web服务器:Apache 3.1.1+jakarta-tomcat 3.1.1 数据库服务器:oracle 8i     Apache服务器是目前应用最多的web服务器,据统计在世界上的服务器中有超过一半采用Apache服务器

WampServer设置apache伪静态出现404 not found及You don&#039;t have permission to access / on this server解决方法分析[原创]_服务器其它

本文实例讲述了WampServer设置apache伪静态出现404 not found及You don't have permission to access / on this server解决方法.分享给大家供大家参考.具体如下: 出现404 not found 时: 确保LoadModule rewrite_module modules/mod_rewrite.so开启 然后 复制代码 代码如下: <Directory />     Options FollowSymLinks    

XP系统电脑运行程序提示Access Violation At Address 00401FF7的解决方法图文教程

问题现象:出现Access Violation At Address 解决方法: 1.我们需要先右击我的电脑,单击属性: 2.在"系统属性"中单击高级: 3.在"性能"中单击设置: 4.在"性能选项"中单击数据执行保护: 5.单击"添加",选择要运行的程序: 6.点击确定,这样就解决问题了: 7.重启电脑,再次打开那个程序就可以了. 以上就是对XP系统电脑运行程序提示Access Violation At Address 00

Apache出现You dont have permission to access / on this server解决方法

由于对环境不了解在配置好环境之后Apache出现You don't have permission to access / on this server. 提示  代码如下 复制代码 <Directory />     Options FollowSymLinks     AllowOverride None     Order deny,allow     Deny from all </Directory> 解决办法 把 Deny from all 中的 Deny 改成了All

Apache启动提示错误undefined symbol: libiconv_open解决方法_Linux

昨晚整合apache和php是实在找不到解决办法,Google 百度都转一圈了,总算在百度找回来解决方法,记录一下,这个问题是在apache启动时出现的: ./apachectl  start提示下面的错误: 复制代码 代码如下: httpd: Syntax error on line 57 of /usr/local/apache2/conf/httpd.conf: Cannot load /usr/local/apache2/modules/libphp5.so into server: /

xampp apache启动失效问题的解决方法_Linux

你会发现,由于oracle 10g 建立了"perl5lib"的环境变量路径,从而导致xampp启动apache的时候报错: [Thu Oct 22 08:56:27 2009] [error] Can't load Perl file: C:/xampp/apache/conf/extra/startup.pl for server localhost:80, exiting... 有2种解决方法: 1.重新配置好perl5lib环境变量,这种方法可能有些麻烦: 2.更简单的方法是:

apache启动报 shmget() failed: Invalid argument的解决方法_Linux

在用的apache服务器,启动报错: 复制代码 代码如下: shmget() failed:  Invalid argumentFailed to start up concurrent users module! 经检查为kernel.shmmax设置未生效(copy另一系统的,数值设置大了) 如下: 复制代码 代码如下: [root@localhost ~]# sysctl -a | grep shmmkernel.shmmni = 4096kernel.shmmax = 0 [root@l

apache提示Failed loading ZendLoader.dll解决方法_Linux

在折腾MiniServer时,发现不管我怎么配置,apache总会提示"Failed loading-ZendLoader.dll",就是说ZendLoader很悲催的没有被加载.(Zend Optimizer适用于php 5.2.x,5.3以上就变成Zend Loader了,其实还是这货) 后来无意间去Zend的论坛晃悠,发现有哥们和我的问题一样. 一句话:Windows下,Zend Loader only works with NTS PHP! 就是说,这悲催的货只支持NTS版的p

xampp安装后apache 80端口被占用的解决方法_Linux

xampp 把apache mysql, php, phpmyadmin都integrate在一起, 很好安装,操作简单,但是也有弊端. 用户没有选项改port 当 知晓80被占用. 当80 port被占用,apache是安装不上的,其实它所有的安装文件都放过去了. 本想只想httpd.conf的port配置的. 发现居然这样做不行. okay, 没问题,找其他的方法. 用cmd > netstat -aon | findstr 0.0.:80 enter 发现 PID 4 占用了80, 这是个