大家好,又见面了,我是你们的朋友全栈君。
1. Linux 系统版本:
[root@bogon ~]# cat /etc/redhat-release
CentOS Linux release 7.3.1611 (Core)
图 1 查看Linux系统版本
2. 查看Openssl安装的版本
[root@bogon ~]# openssl version
OpenSSL 1.0.2k-fips 26 Jan 2017
图 2 查看openssl版本
3. 查看Openssl路径
[root@bogon ~]# which openssl
/usr/bin/openssl
图 3 查看openssl路径
4.下载Openssl
目前最新版本是1.1.1,可以通过修改版本号的方式下载最新版本,最新版本可以在这个网站下载:https://www.openssl.org/source
[root@bogon ~]# wget http://www.openssl.org/source/openssl-1.1.1b.tar.gz
图 4 下载openssl-1.1.1b.tar.gz
5. 安装依赖
[root@bogon ~]# yum install -y zlib
[root@bogon ~]# yum install –y zlib-devel
[root@bogon ~]# yum install –y gcc
6. 安装Perl
6.1下载Perl
官方网站下载新版本的源码包:http://www.perl.org/get.html
[root@bogon ~]# wget https://www.cpan.org/src/5.0/perl-5.28.2.tar.gz
图 5 下载perl-5.28.2.tar.gz
6.2 解压Perl
[root@bogon ~]# tar -zxvf perl-5.28.2.tar.gz
6.3建立文件目录,以供安装时使用
[root@bogon ~]# mkdir /usr/local/perl
6.4配置Perl参数
进入perl-5.28.2.tar.gz的解压目录,执行:
[root@bogon ~]# cd perl-5.28.2
[root@bogon perl-5.28.2]# ./Configure -des -Dprefix=/usr/local/perl -Dusethreads –Uversiononly
6.5 编译
[root@bogon perl-5.28.2]# make
6.6安装
[root@bogon perl-5.28.2]# make install
6.7查看版本
[root@bogon perl-5.28.2]# perl –v
图 6 查看perl版本
7. 安装Openssl
7.1解压Openssl
[root@bogon perl-5.28.2]# cd
[root@bogon ~]# tar -zxvf openssl-1.1.1b.tar.gz
7.2调用zlib共享库
[root@bogon ~]# cd openssl-1.1.1b
[root@bogon openssl-1.1.1b]# ./config shared zlib
图 7 配置openssl
7.3编译
[root@bogon openssl-1.1.1b]# make
7.4安装
[root@bogon openssl-1.1.1b]# make install
7.5备份当前Openssl
[root@bogon openssl-1.1.1b]# mv /usr/bin/openssl /usr/bin/openssl.old
[root@bogon openssl-1.1.1b]# mv /usr/lib64/openssl /usr/lib64/openssl.old
7.6使用新版Openssl
[root@bogon openssl-1.1.1b]# ln -s /usr/local/bin/openssl /usr/bin/openssl
[root@bogon openssl-1.1.1b]# ln -s /usr/local/include/openssl/ /usr/include/openssl
8.更新动态链接库数据
[root@bogon openssl-1.1.1b]# echo “/usr/local/lib/” >> /etc/ld.so.conf
9.重新加载动态链接库
[root@bogon openssl-1.1.1b]# ldconfig -v
10.查看安装完成后的最新版本
[root@bogon openssl-1.1.1b]# openssl version
[root@bogon openssl-1.1.1b]# openssl version –a
图 8 openssl版本查看
11.可能存在的异常
openssl: error while loading shared libraries: libssl.so.1.1: cannot open shared object file: No such file or directory
这是由于openssl库的位置不正确造成的。
解决方法:
在root用户下执行:
ln -s /usr/local/lib64/libssl.so.1.1 /usr/lib64/libssl.so.1.1
ln -s /usr/local/lib64/libcrypto.so.1.1 /usr/lib64/libcrypto.so.1.1
如上升级openssl版本后, 导致某些服务编译安装失败的坑, 如果短时间解决不来, 最好回滚到之前的默认版本:
代码语言:javascript复制openssl由默认的OpenSSL 1.0.1e升级到OpenSSL 1.1.1e后, 编译安装openssh 出现下面报错:
由于openssl升级后, 可能会导致一个应用编译安装失败, 遇到的有nginx, keepalived等, 不得已的办法就是将openssl回滚到之前默认的版本状态, 操作方法如下:
查看openssl, 然后删除升级后的openssl
[root@localhost ~]# find / -name openssl
[root@localhost ~]# rm -rf /usr/local/src/openssl-1.1.1
[root@localhost ~]# rm -rf /usr/local/bin/openssl
[root@localhost ~]# rm -rf /usr/local/share/doc/openssl
[root@localhost ~]# rm -rf /usr/local/include/openssl
然后查看下openssl版本
[root@localhost ~]# which openssl
/usr/bin/openssl
[root@localhost ~]# openssl version -a
报错说/usr/local/bin/openssl 找不到这个文件
然后重启机器
[root@localhost ~]# init 6
重启机器后, 查看openssl版本, 如果正常查出是默认版本, 则回滚正常
[root@localhost ~]# openssl version -a
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/129077.html原文链接:https://javaforall.cn