我目前正在我们的开发服务器上安装ModSecurity,而我在最新版本中遇到的问题是我们在服务器上使用RHEL 4。他们不打算进一步更新(即使在多次试图通知他们之后)。现在,使用RHEL 4,libxml2的最新版本是2.6.16 --这就是我的问题所在--更新的ModSecurity版本需要更高版本的libxml2 (2.6.29?)
我的问题是,是否可以将最新的必需版本的libxml2移植到RHEL 4,这样我就可以使用ModSecurity的最新版本了吗?
目前,我使用的是ModSecurity版本2.1.7,它似乎可以工作,但我更愿意使用最新版本。
谢谢!
发布于 2014-10-16 16:08:29
是否可以将最新的必需版本的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您需要重新启动apache。
但是,您应该首先检查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文件中清楚地表明这一点。
https://unix.stackexchange.com/questions/162533
复制相似问题