libssl升级,解决报错libssl.so.1.1: cannot open shared object file: No such file or directory

解决报错libssl.so.1.1: cannot open shared object file: No such file or directory
Linux运维 / 更新于 2020年8月25日 / 0 条评论

Centos7 默认提供的 openssl 版本是 1.0.2 的,某些 php 扩展或者其他软件依赖 1.1 以上版本

如果过低的话就会报错 libssl.so.1.1: cannot open shared object file: No such file or directory

也有执行 openssl version 时报错和上面一致,这是由于 openssl 库的位置不正确或未安装 1.1 以上版本的问题

想要升级 openssl 版本则需要手动进行编译,报错解决方式很简单,安装正确即可,下面说一下我以 Centos7 为例,说一下具体的编译安装步骤

0. yum remove openssl

1. 下载 openssl
从 openssl 官网下载最新的代码包,因为源站下载速度过慢,所以我使用了腾讯云的镜像

#从官网下载 /source/old/index.html
# wget --no-check-certificate https://www.openssl.org/source/old/1.1.1/openssl-1.1.1s.tar.gz

https://www.openssl.org/source/old/3.1/openssl-3.1.0.tar.gz
 
#腾讯云提供的镜像
wget https://mirrors.cloud.tencent.com/openssl/source/openssl-1.1.1g.tar.gz
如果链接失效,请去掉文件名,直接访问链接获取最新的包链接

注意: 最新的稳定版本是3.0系列。1.1.1系列是我们的长期支持(LTS)版本,支持到2023年9月11日。所有旧版本(包括1.1.0、1.0.2、1.0.0和0.9.8)现在都不支持,不应该使用。这些旧版本的用户被鼓励尽快升级到3.0或1.1.1。对1.0.2的扩展支持可以访问该版本的安全修复

2. 编译 openssl
tar -xvf openssl-1.1.1g.tar.gz
cd openssl-1.1.1g
./config shared --openssldir=/usr/local/openssl --prefix=/usr/local/openssl
make && make install
编译完成后,使用 openssl version 来查看一下当前 openssl 版本号时,你会发现还是 1.0.2,所以这里需要做一些额外的配置工作

3. 配置
echo "/usr/local/lib64/" >> /etc/ld.so.conf
ldconfig
再次使用 openssl version 验证版本就可以了,如果不行,可以尝试下面的方式,依次执行(先备份老版本,再从新版本安装位置创建软连接)

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值