Openssl源码安装及升级

Openssl源码安装及升级

  • 查看openssl当前版本:
  • 源码安装openssl-1.1.0
  • 升级openssl-1.1.1

查看openssl当前版本:

[root@bestmem ~]# rpm -qa | grep openssl
openssl-libs-1.0.2k-16.el7.x86_64
openssl-1.0.2k-16.el7.x86_64
openssl-devel-1.0.2k-16.el7.x86_64

源码安装openssl-1.1.0

[root@bestmem ~]# tar zxf openssl-1.1.0h.tar.gz -C /usr/local/
[root@bestmem ~]# cd /usr/local/openssl-1.1.0h/
[root@bestmem openssl-1.1.0h]# ./config --prefix=/usr/local/openssl --openssldir=/usr/local/ssl shared
[root@bestmem openssl-1.1.0h]# make && make install
[root@bestmem openssl-1.1.0h]# ln -s /usr/local/openssl/bin/openssl /usr/local/bin/openssl	#创建openssl命令链接

–prefix:指定安装目录
–openssldir:指定openssl配置文件路径
–shared:创建动态链接库
至于为什么不需卸载rpm包安装的openssl-1.0.2,而直接安装openssl-1.1.0的原因如下:

[root@bestmem openssl-1.1.0h]# which openssl			#rpm包所安装的openssl,其二进制文件位置
/usr/bin/openssl
[root@bestmem openssl-1.1.0h]# echo $PATH				#PATH环境变量加载路径顺序,/usr/local/bin查询在前
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin

重启终端后,加载新的环境变量。

[root@bestmem ~]# which openssl
/usr/local/bin/openssl
[root@bestmem ~]# openssl version
openssl: error while loading shared libraries: libssl.so.1.1: cannot open shared object file: No such file or directory

#创建对应的库文件链接即可
[root@bestmem ~]# ln -s /usr/local/openssl/lib/libssl.so.1.1 /usr/lib64/libssl.so.1.1
[root@bestmem ~]# openssl version
openssl: error while loading shared libraries: libcrypto.so.1.1: cannot open shared object file: No such file or directory
[root@bestmem ~]# ln -s /usr/local/openssl/lib/libcrypto.so.1.1 /usr/lib64/libcrypto.so.1.1
[root@bestmem ~]# openssl version
OpenSSL 1.1.0h  27 Mar 2018

若编译nginx,–with-openssl=/usr/local/openssl即可。

升级openssl-1.1.1

为什么要升级至openssl-1.1.1版本?因为官方将长期支持且稳定版为该版本,所以升级是迟早得事。

注意:最新的稳定版本是1.1.1系列。这也是我们的长期支持(LTS)版本,支持到2023年9月11日。我们之前的LTS版本(1.0.2系列)将继续支持到2019年12月31日(安全修复仅在支持的最后一年)。1.1.0系列目前仅接收安全修复程序,并将于2019年9月11日停止支持。鼓励1.0.2和1.1.0的所有用户尽快升级到1.1.1。0.9.8,1.0.0和1.0.1版本现在不再支持,不应使用。

源码包下载地址:https://www.openssl.org/source/openssl-1.1.1a.tar.gz

  1. 源码包编译
[root@bestmem ~]# tar zxf openssl-1.1.1a.tar.gz -C /usr/local/
[root@bestmem ~]# cd /usr/local/openssl-1.1.1a/
[root@bestmem openssl-1.1.1a]# ./config --prefix=/usr/local/openssl-new --openssldir=/usr/local/ssl-new shared
[root@bestmem openssl-1.1.1a]# make && make install
  1. 备份openssl-1.1.0二进制文件,创建openssl-1.1.1二进制文件链接
[root@bestmem openssl-1.1.1a]# cd /usr/local/bin/
[root@bestmem bin]# mv openssl openssl-1.1.0.bak
[root@bestmem bin]# ll
总用量 0
lrwxrwxrwx. 1 root root 30 1月  10 01:30 openssl-1.1.0.bak -> /usr/local/openssl/bin/openssl
[root@bestmem bin]# ln -s /usr/local/openssl-new/bin/openssl /usr/local/bin/openssl

重启终端

[root@bestmem ~]# openssl version
openssl: /lib64/libssl.so.1.1: version `OPENSSL_1_1_1' not found (required by openssl)
openssl: /lib64/libcrypto.so.1.1: version `OPENSSL_1_1_1' not found (required by openssl)

#更新libssl.so.1.1和libcrypto.so.1.1库文件的链接指向
[root@bestmem ~]# rm -fr /usr/lib64/libssl.so.1.1
[root@bestmem ~]# rm -fr /usr/lib64/libcrypto.so.1.1
[root@bestmem ~]# ln -s /usr/local/openssl-new/lib/libssl.so.1.1 /usr/lib64/libssl.so.1.1
[root@bestmem ~]# ln -s /usr/local/openssl-new/lib/libcrypto.so.1.1 /usr/lib64/libcrypto.so.1.1
[root@bestmem ~]# openssl version
OpenSSL 1.1.1a  20 Nov 2018

你可能感兴趣的:(Linux服务)