升级debian 4里的openssl版本

原来以为很简单的,没想到这么复杂,特别是想要升级debian 4里的openssl的版本。

debian4里的openssl版本是0.9.8c,还有些针对debian的小修改。现在要升到最新版。

先查一下有哪些文件
dpkg-query -L openssl
dpkg-query -L libssl0.9.8


主要是查询两个包: openssl, libssl0.9.8

安装编译相关的包,要注意必须要配好source仓库。
apt-get build-dep openssl
apt-get build-dep libssl0.9.8


下载和编译openssl 0.9.8i, ./config shared 是产生共享库文件
wget http://dev.openssl.org/source/openssl-0.9.8i.tar.gz
tar xzf openssl-0.9.8i.tar.gz
cd openssl-0.9.8i
./config shared
make
make test
make install


替换原有的openssl
#openssl
mv /usr/bin/openssl /usr/local/backup/openssl
mv /usr/bin/c_rehash /usr/local/backup/openssl
mv /usr/lib/ssl/misc /usr/local/backup/openssl

#libssl.0.9.8
mv /usr/lib/ssl/engines /usr/local/backup/openssl
mv /usr/lib/libssl.so.0.9.8 /usr/local/backup/openssl
mv /usr/lib/libcrypto.so.0.9.8 /usr/local/backup/openssl

ln -s /usr/local/ssl/bin/openssl /usr/bin/openssl
ln -s /usr/local/ssl/bin/c_rehash /usr/bin/c_rehash
ln -s /usr/local/ssl/misc /usr/lib/ssl/misc

ln -s /usr/local/ssl/lib/engines /usr/lib/ssl/engines
ln -s /usr/local/ssl/lib/libssl.so.0.9.8 /usr/lib/libssl.so.0.9.8
ln -s /usr/local/ssl/lib/libcrypto.so.0.9.8 /usr/lib/libcrypto.so.0.9.8


主要是替换了一下库文件和二进制执行文件,一些配置文件可以自己考虑来配置,文档没什么大关系。

表面上似乎没问题了,但实际上真正的问题还没解决。要升级apache2 里的mod_ssl模块。

这下就麻烦了,单独升级mod_ssl非常麻烦,试了一下只好干脆直接重新编译apache2和mod_jk模块。

要注意一下编译apache2的时候指定ssl目录就行了。
./configure --enable-mods-shared=all --enable-modules=all --prefix=/usr/local/apache2 --enable-ssl --with-ssl=/usr/local/backup/openssl-0.9.8i


编译好之后,试用一下,如果https header出现 OpenSSL 0.9.8i,那么就说明成功了。

debian 5里的openssl还可以,版本虽然不是最新,但没什么大bug。

你可能感兴趣的:(C++,c,Debian,C#)