在xampp中访问禁止403错误

我对xampp很新。 我使用以下命令进行了全新的xampp安装。

sudo su cd /tmp wget bit.ly/1cmyrUo -O xampp-32bit.run chmod 777 ./xampp-32bit.run sudo ./xampp-32bit.run 

然后我制作了一个perl文件来检查我的xampp是否有效。 以下是我的sample.pl文件内容。

 #!usr/bin/perl print "content-type:text/html\n"; print(header()); use CGI qw(:standard); print(start_html()); print "Hello. I am ram"; print(end_html()); 

将我的perl文件从/home/vicky/desktop复制到/opt/lampp/cgi-bin

我用以下命令启动了我的xampp。

 /opt/lampp/lampp start 

然后我在我的mozilla浏览器中的http://localhost/cgi-bin/sample.pl的帮助下在localhost中运行了我的sample.pl 。 我刚看到以下窗口。 错误403窗口

我只找到了与“新安全概念错误”和“访问虚拟主机问题”相关的答案。

我确实遇到了一个askubuntu查询 ,一个类似于我的查询 。 它没有答案,只有一些评论。 一条评论建议更改文件权限。 它指示从这里获得帮助。

它说将目录权限更改为755,将文件权限更改为644以解决此类问题。 当我尝试这样做时,我发现我的cgi-bin目录已经获得了755的许可,而我的sample.pl有644个权限。 我现在没有解决方案。


PostScript:我附上了/opt/lampp/apache2/conf/httpd.conf文件的内容。 希望这将有助于答案提供者完全理解我的问题。

 Alias /bitnami/ "/opt/lampp/apache2/htdocs/" Alias /bitnami "/opt/lampp/apache2/htdocs"  Options Indexes FollowSymLinks AllowOverride All Order allow,deny Allow from all  

正如我在您的问题中所看到的,您使用的是Apache 2.4.7 ,但您的httpd.conf使用的是Apache 2.2指令。

根据Apache 2.4手册:

访问控制

在2.2中,使用指令Order,Allow,Deny和Satisfy完成了基于客户端主机名,IP地址和客户端请求的其他特征的访问控制。

在2.4中,使用新模块mod_authz_host以与其他授权检查相同的方式完成此类访问控制。 旧的访问控制习惯用法应该由新的身份validation机制替换,但为了与旧配置兼容,提供了新模块mod_access_compat。

试试这个改变:

  Options Indexes FollowSymLinks AllowOverride All Require all granted  

允许拒绝指令控制哪些主机可以访问或不可以访问服务器区域, 需要测试是否根据特定授权提供程序和指定的限制对已通过身份validation的用户进行授权。 要求所有授予的方法无条件允许访问,请参阅Beyond just authorization

读取配置文件后更新

您的默认配置文件是正确的。 perl脚本中的问题是错误的shebang。

试试这个:

  #!/usr/bin/perl 

也:

  chmod +x /opt/lampp/cgi-bin/yourScript.pl 

这是一个关于文件权限问题的有用链接

第二次更新

更改http内容标题:

  print "Content-type:text/html\n"; 

此标头由apache读取。

您的apache作为daemon用户运行,检查脚本路径中的每个目录是否可读。

尝试将文件的所有者和组更改为apache,

在ubuntu中,apache用户是www-data,在终端:

 $ sudo chown -R www-data:www-data PUBLICFOLDER 

并刷新浏览器。

 $ cd /opt/lampp $ sudo chmod 777 -R htdocs 

并编辑httpd.conf (使用sudoedit /opt/lampp/etc/httpd.conf )并更改:

  AllowOverride none Require all denied  

至:

  Options Indexes FollowSymLinks AllowOverride All Require all granted