起因
9月5日,打算装一下php审计的工具–rips,但是总是404。在重启了xampp后,显示apache启动失败。
查端口
首先怀疑是端口被占导致的,查看xampp默认窗口
/opt/lampp/etc/httpd.conf 发现:listen 80
/opt/lampp/etc/extra/httpd-ssl.conf 发现:listen 443
netstat -ant
查已经占用的端口(说明:-a
all; -n
直接显示ip,而不是域名;-t
tcp协议)
但是,没有发现80和443端口被占
查日志
查看lampp下apache的logs,发现error和access下都是空的,这就很奇怪了
于是查看/var/log/apache2
下的logs, 日期最近的log就是今天
所以怀疑是原本的apache和lampp中的集成冲突了
于是sudo /opt/lampp/manager-linux-x64.run
打开图形界面,在其中的application logs中查看,显示如下
Starting Apache Web Server...
/opt/lampp/apache2/scripts/ctl.sh : httpd started
处理&解决
于是stop本来的apachesudo /etc/init.d/apache2 stop
(OS:ubuntu 如果是mac os 可用sudo apachectl stop
)
然后再次sudo ./xampp start
(要记得先切换到xampp的路径,与我而言是,/opt/lampp)
果然,三个都启动成功了
总结 & 反思
在一般遇到xampp无法启动apache,上网搜索会发现大多数问题出在端口被占上,所以先去查被占端口和默认端口。
确认不是端口问题后,再去查xampp下的apache的logs,这里,logs为空提示我它根本就没有启动或者出错,所以想到是原本的apache和它冲突,于是去查apache的logs和这个集成环境的logs,确认自己的想法。
确认问题所在之后,就可以愉快解决问题了。
❤对我们而言,最重要的不是上网查别人的解决方法,而是通过分析确认问题的所在,从而可以从根本上理解问题,解决问题。毕竟,知道问题出在哪儿,解决起来就很方便了。
后续: rips
rips是php写的,要放在服务器的web工作路径下,对于一般的linux系统而言,是/var/www/
对于有xampp的,是/opt/lampp/htdocs
❤注意:虽然127.0.0.1是localhost,但输入localhost
会是apache的界面,xampp界面在localhost/dashboard/
, rips界面在localhost/rips/