CentOS7 升级openssl版本(升级至3.0.3)

首先查看本地openssl版本

openssl version

创建一个放源码的目录(按自己习惯)

#这里是我的习惯
cd /usr/local/src   
#去官网获取你想要版本的tar压缩包  如果没有wget命令,自行百度
wget --no-check-certificate https://www.openssl.org/source/old/3.0/openssl-3.0.3.tar.gz//获取openssl
#解压文件到当前目录
tar -zxvf openssl-3.0.3.tar.gz
#进入源码目录
cd openssl-3.0.3
#安装openssl 可以指定安装目录,但是我这里没有指定 ,默认在/usr/local下 
./config
#如果指定安装目录则使用下面的命令
./config --prefix=/usr/aaa/openssl
..漫长的等待时间..
#make就是编译过程,make必须在源码所在的目录(也就是openssl-3.0.3目录下)
make
#make不报错的话直接安装   也可以先test一下:make test  我不知道区别是啥,自行百度吧   这里我没有test
make install
#make 和make install需要等一会
#因为我们是版本升级,所以要进行版本切换
mv /usr/bin/openssl /usr/bin/oldopenssl #将原有的openssl 备份
#这里是给文件创建软链接 下面会解释ln -s A B的含义,这里不赘述
ln -s /usr/local/bin/openssl /usr/bin/openssl
#如果是同版本更新,就不用执行下面这两行
ln -s /usr/local/lib64/libssl.so.1.1 /usr/lib64/
ln -s /usr/local/lib64/libcrypto.so.1.1 /usr/lib64/
#将源码编译后会生成对应的代码库 也就是上面的libcrypto.so.3 所以我们要告诉linux去哪里加载这些代码库 
#这里涉及到 静态编译和动态编译 博主并没有看这块 所以目前就是这个做的
#将这个路径添加到ld.so.conf这个文件中(文件最后面,以追加的形式)
#注意!!!下面写入什么路径 后面就执行对应的ln -s 对应路径下的
echo "/usr/local/lib64" >> /etc/ld.so.conf
#重载一下ld.so.conf文件
ldconfig
#测试openssl版本
openssl version 

ln -s /a/test.php /b/temp.php 前提是b目录下没有temp.php文件 该命令的意思类似Windows下创建/a/test.php的快捷方式为/b/temp.php 删除快捷方式对源文件没有影响. 但是!!!删除源文件会导致软链接(快捷方式)不断闪烁

若openssl version 报错:openssl: error while loading shared libraries: libssl.so.3: cannot open shared object file: No su file or directory

/usr/local/lib执行下面的命令:

ln -s /usr/local/lib/libssl.so.3 /usr/lib/libssl.so.3
ln -s /usr/local/lib/libcrypto.so.3 /usr/lib/libcrypto.so.3

如果还是不行,把上面路径里的lib改为lib64

ln -s /usr/local/lib64/libssl.so.3 /usr/lib64/libssl.so.3
ln -s /usr/local/lib64/libcrypto.so.3 /usr/lib64/libcrypto.so.3

你可能感兴趣的:(Linux,linux,服务器,ubuntu)