![最新的 libxml2 移植到 RHEL4](https://linux22.com/image/57661/%E6%9C%80%E6%96%B0%E7%9A%84%20libxml2%20%E7%A7%BB%E6%A4%8D%E5%88%B0%20RHEL4.png)
我目前正在开发服务器上安装 ModSecurity,最新版本遇到的问题是我们在服务器上使用 RHEL 4。他们无意进一步更新它们(即使在多次尝试通知他们之后)。现在,对于 RHEL 4,libxml2 的最新版本是 2.6.16 - 这就是我的问题 - 使用较新的 ModSecurity 版本,它需要更高版本的 libxml2(2.6.29?)
我的问题是,是否可以将最新所需版本的 libxml2 移植到 RHEL 4,这样我就可以使用最新版本的 ModSecurity?
目前我使用的是 ModSecurity 版本 2.1.7 并且似乎可以正常工作,但我更愿意使用最新版本。
谢谢!
答案1
是否可以将最新所需版本的 libxml2 移植到 RHEL 4,这样我就可以使用最新版本的 ModSecurity?
是的。执行此操作的理想方法是将其安装到 中/usr/local
,大概是从源代码构建的。构建并安装后,您将需要(以 root 身份)运行ldconfig
以更新链接器缓存。默认情况下, 中的库/usr/local/lib
应优先;你可以检查一下,ldconfig -p | grep libxml2
它应该给你类似的东西:
libxml2.so.2 (libc6,x86-64) => /usr/local/lib/libxml2.so.2
您将需要重新启动阿帕奇。
但是,您首先应该检查 libxml2 2.6.29 是否与 2.6.16 向后兼容。几乎可以肯定是,但如果不兼容,则需要将其安装到自定义路径中,例如,使用/opt/libxml2
包含以下内容的脚本启动 apache:
export LD_LIBRARY_PATH=/opt/libxml2:$LD_LIBRARY_PATH
在这种情况下,链接器缓存不需要更新,因为您不希望那里有备用版本。 LD_LIBRARY_PATH
如果定义了,链接器会在检查其缓存的链接之前对其进行搜索。但除非绝对必要,否则不要使用此方法。几乎可以肯定 2.6.29 在/usr/local
.如果没有,在他们的网站和/或NEWS
源包的文件中应该有明确的指示。