在 FreeBSD 上与现有的 Apache13 安装并行安装 Apache22

在 FreeBSD 上与现有的 Apache13 安装并行安装 Apache22

我正在运行 FreeBSD (6.3-STABLE) 生产服务器,其中通过 ports 安装了 apache13。出于各种原因,我需要将其升级到 apache22,最好也通过 ports 安装。由于我的维护窗口真的很短,我考虑与 apache13 并行安装 apache22,对其进行配置和测试(在端口 :81 左右),然后在维护期间切换。(当然有备份)。

问题是,apache22 端口设置与 apache13 冲突,我找不到方法来覆盖它。

[root@desearth ~]# portupgrade -fNW www/apache22
...
===>  Installing for apache-2.2.13

===>  apache-2.2.13 conflicts with installed package(s):
      apache-1.3.34_4
      apr-db42-1.2.8_2

出于同样的原因,在 /usr/ports/www/apache22 目录中使用 -DFORCE_PKG_REGISTER 执行“make install”也会失败。

有什么想法可以解决这个问题吗?

答案1

我很笨。我总是更关心 /usr/local/etc/apache* 中的配置文件,但从未考虑过二进制文件(即 httpd 和 apachectl)。当然,它们最终会出现在同一个地方,这就是 ports 的 Makefile 中的 CONFLICT 的原因。

serverfault 之外为我提供的一个解决方案是使用 jail,在那里测试 apache22 配置,然后在实时系统上进行切换。这似乎是可行的方法。

答案2

您还可以指定 PREFIX 来在不同的目录中安装 apache,例如 /usr/local/apache22,例如:

make PREFIX=/usr/local/apache2

相关内容