一、下载、解压、编译、安装openssl
官方地址:Downloads | Library (openssl-library.org)
## 进入文件目录
cd /usr //文件下载在 /usr
wget https://www.openssl.org/source/openssl-3.3.1.tar.gz
## 解压文件
tar -zxvf openssl-3.3.1.tar.gz
## 编译,并指定编译参数
./config --prefix=/usr/local/openssl #如果此步骤报错,需要安装perl以及gcc包
# 安装
make && make install
#备份默认的openssl,防止升级失败恢复
mv /usr/bin/openssl /usr/bin/openssl.bak
# 没有可忽略
mv /usr/include/openssl /usr/include/openssl.bak
二、报错处理
openssl version ## 如果不做配置,直接查看安装后的openssl版本则会报错
报错如此:
openssl: error while loading shared libraries: libssl.so.1.1: cannot open shared object file: No such file or directory
编译安装可能会用到比较多的依赖,比如GCC编译器、perl等,经过多次尝试,发现依赖的编译环境如下:
yum install -y gcc gcc-c++ zlib-devel libtool autoconf automake perl perl-IPC-Cmd perl-Data-Dumper perl-CPAN
三、链接指向
## 将原来的openssl命令入口剪切至/tmp做备份
mv /usr/bin/openssl /tmp
## 软链接,将新版的openssl命令入口做一个软链接到/usr/bin目录下做替换
ln -s /usr/local/openssl/bin/openssl /usr/bin/openssl
## 注意,软链接此处的源文件路径,我们可能不一致,是由我们在编译阶段传入的配置参数控制的,具体要 在/usr/local目录下寻找确定一下
ln -s /usr/local/openssl/lib64/libssl.so.3 /usr/lib64/libssl.so.3 ## 软链接
ln -s /usr/local/openssl/lib64/libcrypto.so.3 /usr/lib64/libcrypto.so.3 ## 软链接
## 再次查看openssl版本,可以看到更新成功
openssl version