尝试从网络访问XAMPP时出现错误

66

当尝试从网络访问Xampp时,我遇到了以下错误。我已经尝试过但没有想法如何解决它。有帮助吗? 我真的很困惑。

禁止访问:

所请求的对象只能从本地网络访问。该设置可以在文件“httpd-xampp.conf”中配置。


错误似乎非常自我解释。您尝试过编辑 httpd-xampp.conf 文件吗? - Chris Salij
4
是的,但是想知道具体要在那里做什么。 - karto
请点击以下链接以获取简明清晰的内容:http://yeslinux.blogspot.com/2012/07/new-xampp-security-concept-solved.html - Durai Amuthan.H
@ChrisSalij:不,它并不是非常自我解释的。它没有说明文件在哪里。尝试找到它。 - Green
我的建议是:在 httpd-xampp.conf 的末尾删除 'xampp',以便您获得以下内容:<LocationMatch "^/(?i:(?:security|licenses|phpmyadmin|webalizer|server-status|server-info))"> Require local ErrorDocument 403 /error/XAMPP_FORBIDDEN.html.var </LocationMatch>而不是#<LocationMatch "^/(?i(?:xampp|security|licenses|phpmyadmin|webalizer|server-status|server-info))">

Require local

ErrorDocument 403 /error/XAMPP_FORBIDDEN.html.var

#</LocationMatch> 现在只有您的网页/PHP页面可见,而不是管理员页面。
- reuns
3个回答

92

在你的xampp路径\apache\conf\extra文件夹中,打开文件httpd-xampp.conf,并找到下面的标签:

# Close XAMPP sites here
<LocationMatch "^/(?i:(?:xampp|licenses|phpmyadmin|webalizer|server-status|server-info))">
    Order deny,allow
    Deny from all
    Allow from ::1 127.0.0.0/8 
    ErrorDocument 403 /error/HTTP_XAMPP_FORBIDDEN.html.var
</LocationMatch>
并添加。
"Allow from all"

在允许 ::1 127.0.0.0/8 {line} 后,重启 Xampp 即可完成。

在较新版本的 Xampp 中

...您可以直接删除这部分内容。

#
# New XAMPP security concept
#
<LocationMatch "^/(?i:(?:xampp|security|licenses|phpmyadmin|webalizer|server-status|server-info))">
        Require local
    ErrorDocument 403 /error/XAMPP_FORBIDDEN.html.var
</LocationMatch>

来自同一文件,它应该可以在本地网络上工作。


1
仅供参考:在添加了这个字符串之后,我还必须在“/opt/lampp/lampp security”中设置密码。谢谢。 - Mak
1
只有在/opt/lampp/lampp security中设置密码时才能工作。 - devasia2112
3
重启电脑或 XAMPP 是必须的! - Yauraw Gadav
人们,现在您需要更新 /opt/lampp/etc/extra/httpd-xampp.conf 文件。然后它就会工作了! - swapyonubuntu
我们用 '#' 来注释掉了 "Require local",问题得以解决。 - E235
显示剩余2条评论

41
这个解决方案对我很有用: http://www.apachefriends.org/f/viewtopic.php?f=17&t=50902&p=196185#p196185 在/opt/lampp/etc/extra/httpd-xampp.conf中编辑并在<Directory "/opt/lampp/phpmyadmin">块的底部添加Require all granted行,以获得以下代码:
<Directory "/opt/lampp/phpmyadmin">
  AllowOverride AuthConfig Limit
  Order allow,deny
  Allow from all
  Require all granted
</Directory>

不要忘记使用以下命令重新启动LAMPP服务:sudo /opt/lampp/lampp restart - gentra
此答案适用于最新版本 - Apache 2.4。 - Avisek Chakraborty

8
这篇回答是关于在Ubuntu上安装XAMPP的。
安装和下载手册在(官方网站)上。
请注意,本文中保留了HTML标签。
http://www.apachefriends.org/it/xampp-linux.html

启动XAMPP后,只需调用此命令:

sudo /opt/lampp/lampp start

您现在应该在屏幕上看到类似于这样的内容:
Starting XAMPP 1.8.1...
LAMPP: Starting Apache...
LAMPP: Starting MySQL...
LAMPP started.

如果您有这个问题
Starting XAMPP for Linux 1.8.1...                                                             
XAMPP: Another web server daemon is already running.                                          
XAMPP: Another MySQL daemon is already running.                                               
XAMPP: Starting ProFTPD...                                                                    
XAMPP for Linux started

解决方案是:

sudo /etc/init.d/apache2 stop
sudo /etc/init.d/mysql stop

接下来使用命令sudo //opt/lampp/lampp restart重新启动。

您可以通过执行以下命令来解决大多数安全漏洞:

/opt/lampp/lampp security

在更改后,此文件

sudo kate //opt/lampp/etc/extra/httpd-xampp.conf

在上查找和替换

    #
# New XAMPP security concept
#
<LocationMatch "^/(?i:(?:xampp|security|licenses|phpmyadmin|webalizer|server-status|server-info))">
    Order deny,allow
    Deny from all
    Allow from ::1 127.0.0.0/8 
    Allow from all
    #\
    #   fc00::/7 10.0.0.0/8 172.16.0.0/12 192.168.0.0/16 \
    #   fe80::/10 169.254.0.0/16

    ErrorDocument 403 /error/XAMPP_FORBIDDEN.html.var
</LocationMatch>

在安装完XAMPP后,/opt/lampp/lampp security非常有用!它会处理几个默认的安全问题:FTP账户、PHPAdmin和Sqlite账户。 - Dio Phung
我尝试了这两种解决方案,但都没有解决错误。在将更改写入远程服务器上的文件后,还需要做些什么吗? - William Roberts
重新启动xampp?你现在遇到了什么新的错误? - Mirko Cianfarani

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接