Linux

CentOS 7安装新版本的 OpenSSL

背景


CentOS7自带OpenSSL版本较低,在编译安装python较高版本后,使用pip会报https相关错误,无法安装第三方包。而CentOS7自带yum库中OpenSSL版本太低,只能手动编译安装1.1.1 。Ubuntu18.04及以上较新版本则自带OpenSSL1.1.1或更高版本,不需要自己安装。

安装


1、官网下载
https://www.openssl.org/source/
现在是1.1.1u版,下载openssl-1.1.1u.tar.gz文件,并上传到CentOS7服务器中

2、卸载老版本

$> sudo yum remove openssl

3、安装gcc和perl

$> sudo yum install gcc-c++
$> sudo yum install perl-core  #会安装perl、perl-CPAN等,make test的时候需要

4、解压源代码包:使用以下命令解压下载的源代码包。假设您已经下载到了名为 openssl-x.x.x.tar.gz 的文件。

tar -xf openssl-x.x.x.tar.gz

5、进入源代码目录:使用以下命令进入解压后的源代码目录。

cd openssl-x.x.x

6、配置编译选项:运行以下命令配置 OpenSSL 的编译选项。您可以根据需要进行适当的调整。

./config --prefix=/usr/local/openssl --openssldir=/usr/local/openssl

7、编译并安装:运行以下命令进行编译和安装。

make && make install

8、创建软连接并加入路径

ln -s /usr/local/openssl/bin/openssl /usr/bin/openssl
ln -s /usr/local/openssl/include/openssl /usr/include/openssl
ln -s /usr/local/openssl/lib/libssl.so /usr/lib64/libssl.so
echo "/usr/local/openssl/lib" >> /etc/ld.so.conf
ldconfig -v 

9、安装完成查看版本

openssl version