1. 程式人生 > >解決xampp 外網訪問不了

解決xampp 外網訪問不了

裝完xampp5.6 後發現區域網(外網)不能訪問!

這個問題困擾我很久,在網上找,修改http.conf   http-xampp.conf 等都沒效果‘

而且網上大部分解決辦法,包括官網上寫的也是 

<LocationMatch "^/(?i:(?:xampp|security|licenses|phpmyadmin|webalizer|server-status|server-info))">
    Order deny,allow
  #Deny from all
    Allow from 127.0.0.0/8
    ErrorDocument 403 /error/HTTP_XAMPP_FORBIDDEN.html.var


</LocationMatch>

我真想罵人! 因為這些檔案根本就沒有什麼<locationMatch></locationMatch>好嗎?

原因我想是 很久之前的版本的xampp了! 看來更新的太慢了,現在人都不解決這個問題了。

後來找到一個和我一樣問題的。http://blog.csdn.net/Yade_Lei/article/details/52081907

確實應該考慮防火牆的設定

方法1.介面配置,在CentOS7 ->雜項->防火牆軟 設定 但是看起來比較複雜,可以參考http://blog.csdn.net/xlgen157387/article/details/52672988

在 CentOS 7
暫時開放 ftp 服務
firewall-cmd --add-service=ftp

永久開放 ftp 服務
firewall-cmd --add-service=ftp --permanent
永久關閉
firewall-cmd --remove-service=ftp --permanent
success

讓設定生效
systemctl restart firewalld

檢視設定是否生效
iptables -L -n | grep 21
ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0            tcp dpt:21 ctstate NEW


檢查防火牆狀態
firewall-cmd --state
running

systemctl stop firewalld
firewall-cmd --state
not running


firewall-cmd --list-all
public (default)
  interfaces:
  sources:
  services: dhcpv6-client ftp ssh
  ports:
  masquerade: no
  forward-ports:
  icmp-blocks:
  rich rules:

在 FirewallD 的服務名稱
firewall-cmd --get-service
amanda-client bacula bacula-client dhcp dhcpv6 dhcpv6-client dns ftp high-availability http https imaps ipp ipp-client ipsec kerberos kpasswd ldap ldaps libvirt libvirt-tls mdns mountd ms-wbt mysql nfs ntp openvpn pmcd pmproxy pmwebapi pmwebapis pop3s postgresql proxy-dhcp radius rpc-bind samba samba-client smtp ssh telnet tftp tftp-client transmission-client vnc-server wbem-https

查詢服務的啟用狀態
firewall-cmd --query-service ftp
yes
firewall-cmd --query-service ssh
yes
firewall-cmd --query-service samba
no
firewall-cmd --query-service http
no

自行加入要開放的 Port
firewall-cmd --add-port=3128/tcp
firewall-cmd --list-all
public (default)
  interfaces:
  sources:
  services: dhcpv6-client ftp ssh
  ports: 3128/tcp
  masquerade: no
  forward-ports:
  icmp-blocks:

  rich rules:

總結:基本上2種指令就OK了

firewall-cmd --add-service=

firewall-cmd --add-ports=

方法2:配置iptables ,

如果沒有裝執行:yum install iptables-services

可以看防火牆狀態: systemctl status iptables.service

可以看防火牆是否是活動的。

解決方法來了:

執行:gedit   /etc/sysconfig/iptables  

新增命令:

#SSH
-A INPUT -p tcp --dport 22 -j ACCEPT
#HTTP
-A INPUT -p tcp --dport 80 -j ACCEPT
-A INPUT -p tcp --dport 8080 -j ACCEPT
#HTTPS
-A INPUT -p tcp --dport 443 -j ACCEPT
#POP3
-A INPUT -p tcp --dport 110 -j ACCEPT
#SMTP
-A INPUT -p tcp --dport 25 -j ACCEPT
#FTP
-A INPUT -p tcp --dport 21 -j ACCEPT
-A INPUT -p tcp --dport 20 -j ACCEPT
#DNS
-A INPUT -p tcp --dport 53 -j ACCEPT

執行:systemctrl restart iptables.service 啟動防火牆埠

4、新增開機自啟動,預設不會 開啟啟動

執行:systemctl enable iptables.service#設定防火牆開機啟動

但是開機後:檢視是否啟動: systemctl status iptables.service

顯示的是enable 但是 Active :inactive(dead)

表示未成功啟動,原因是沒有遮蔽firewalld防火牆,執行

systemctl stop firewalld
systemctl mask firewalld
解決!