【作者按】本人并未系统的学习使用过apache,对其使用也仅限于在搭建一些工具类网站时的使用,例如gerrit。因此在遇到了问题之后,往往手足无措,借助于之前照抄网上成功的案例进行对比配置,找出其中的差异,然后一一排除试错,最终可能解决问题,这是幸运的,但是却完全不知道为什么失败了,又为什么就改好了。也有可能改了半天也没有成功,这时候往往心烦意乱,归咎于时间的紧急,把所有安装配置全部删除,重新按照网上的成功案例一步一步进行配置,不敢有丝毫的差错,说实话这个过程毫无技术可言,也学不到任何东西。事后还往往不谦虚地跟人吹嘘说:我会搭建某某工具环境,某某公司的某某项目就是我的杰作。实际上真的如此吗?扪心自问,自己真的知道每个步骤是为什么吗?恐怕未尝如此。此文即作者本人在又一次经历了上述历程之后,下定决心研究一下apache。当然又是老套的借口限于时间原因,按照案例方式来罗列问题及解决过程,望各位读者海涵。
背景
结合使用gerrit + apache环境搭配的过程,并且已经大致按照上篇文章《gerrit安装配置及过程中遇到的问题》安装好gerrit及其配置gerrit.config,安装好了apache及其配置gerrit.conf, 但是在浏览器输入配置的网址时,失败的心路历程就此开始:
1. 错误的在2.4的apache上使用了2.2的配置方法
首先映入眼帘的是浏览器报出如下信息:
查了半天发现当前配置使用apache时2.4.x版本的,而成功案例中的apache使用的是2.2
满怀信心的找到了原因,将apache的虚拟主机(gerrit.conf,当时根本不知道这是虚拟主机),中关于<proxy的配置由
<Proxy *>
Order deny,allow
Allow from all
</Proxy>
改为
<Proxy *>
Require all granted
</Proxy>
2. 浏览器访问失败之后,如何对问题进行定位分析
修改完毕之后,再次满怀希望输入网址产看,发现问题依旧。这个时候除了照已有案例配置进行对比分析,还有什么办法呢?
对,就是查看log,对于专业程序开发人员来说,查看log是一项必备的技能
那么log在哪里呢?
默认情况下:
apache log: /var/log/apache2/
access.log 默认的80端口虚拟主机的访问log