北漂IT民工 的博客

从apache2.2升级到apache2.4遇到的一些坑爹的修改

由于最近心血来潮,将PC的桌面OS从UBUNTU 13.04升级到了13.10的Beta。发现apache也从2.2.X升级到了2.4.X了。

从而导致我们的配置都失效了。

所有的虚拟主机的配置与相应虚拟主机的配置都失效。

通过一段时间的google,终于让我解决了这个问题。

升级总共遇到两个问题。

1、找不到虚拟主机。

2、虚拟主机对应的网站无法访问。

第一个问题的原因是修改了apache2.conf文件

要求配置文件的扩展名变成是 .conf才能被识别。

这个改进感觉是不错的。

所以将原来没有后缀的配置文件修改成www.domain.com.conf就可以了

一个老外提供了另一种方法,对英文阅读没有障碍的同学可以看一下:

http://lyemium.com/content/virtual-host-issues-when-upgrading-apache-22-24

不过我还是建议按新的apache2.4的思路走。这样非conf文件就可以心安理得的放在配置目录下面了。也方便备份,修改。

第二个问题是指令变动引起的。

得到的错误信息是这样的:

AH01630: client denied by server configuration

之前的版本是通过:

Allow来控制访问权限的,但是新的2.4则是通过require指令来实现的。

所以原来的指令

1
2
3
Order allow,deny

Allow from all

需要改为

1
require all granted