CentOS 7处于稳定考虑,默认支持的软件版本都比较低,比如默认仅支持OpenSSL 1.0.2版本,因此没办法原生支持很多新版本的特性。事实上,OpenSSL已经官方淘汰了老版本的1.0.2支持。因此大家最好是升级到CentOS 8版本。本文针对不方便升级的用户提供了CentOS 7上编译安装OpenSSL v1.1.1的教程。

请注意,由于CentOS 7的系统版本老旧,很多内置的环境都依赖老版本的OpenSSL 1.0.2,因此安装OpenSSL 1.1.1之后可能会导致系统里其他组件失效或损坏,因此在安装前请务必备份好环境和数据。

1, 安装编译环境


yum update
yum install wget tar make gcc perl pcre-devel zlib-devel

2, 编译安装OpenSSL

首先下载OpenSSL源码包。


wget https://www.openssl.org/source/openssl-1.1.1g.tar.gz
tar zxvf openssl-1.1.1g.tar.gz
cd openssl-1.1.1

然后,编译安装:


./config --prefix=/usr --openssldir=/etc/ssl --libdir=lib no-shared zlib-dynamic
make
make install

编译需要一段时间,大约为3-10分钟,请耐心等待,中途不要退出。

3, 配置环境变量


export LD_LIBRARY_PATH=/usr/local/lib:/usr/local/lib64
echo "export LD_LIBRARY_PATH=/usr/local/lib:/usr/local/lib64" >> ~/.bashrc

此时,我们查看OpenSSL版本:


openssl version

就可以看到已经升级为OpenSSL 1.1.1了。