我想要使用一个IP来承载具有单独SSL证书的多个域(要求SNI)。 在CentOS 5.3中,最新版本的OpenSSL我可以findRPM为0.9.8e,不支持SNI。
我想升级到0.9.8k,但我找不到RPM。 我可以从源代码编译,但如果我尝试通过yum删除现有的OpenSSL包,它希望我删除所有依赖于OpenSSL(100 +包)的包。
编辑:我结束了安装0.9.8K而不覆盖以前的版本。 现在我都避免打破依赖关系,并可以使用SNI。 这是最好的行动?
如果你简单地覆盖了rpm提供的文件,你可能会有一些痛苦, 对于任何看待这个系统的人来说,这至less是一种误导。
在你的位置,我会做两件事情之一:
1 /为CentOS下载srpm,执行rpm -i openssl-whatever.srpm
编辑/usr/src/redhat/SPEC/openssl.spec文件,将版本和源文件更新为您要构build的openssl版本。
执行rpmbuild -ba /usr/src/redhat/SPEC/openssl.spec来构build更新版本的RPM。 如果一切顺利的话,你最终会在/ usr / src / redhat / RPMS / $ arch中得到一些shiny的新RPM,你可以把它们放进去。
要么
2 /从较新的版本(如Fedora 12)获取openssl srpm,并执行rpmbuild –rebuild openssl-whatever.srpm
再次,一切顺利,你会得到一些RPM,虽然这可能不太可靠(例如,在ABI和依赖关系可能已经从RHEL 5改变到Fedora 12)。
最好的方法是将OpenSSL 0.9.8k编译为另一个目录/ usr / local或/ opt,然后根据新的OpenSSL编译适当版本的Apache,而不是系统提供的版本。 不幸的是,您将失去通过RPM进行升级的便利,但是这样可以为您提供这样的能力,而不会对其他依赖于当前CentOS版本的OpenSSL的100多个应用程序造成问题。
你是如何安装新版本的? 只要你的应用程序没有中断,他们知道你安装的新版本的SSL的path应该没问题。