侧边栏壁纸
博主头像
与晚风述往事博主等级

万般皆下品,唯有读书高。

  • 累计撰写 149 篇文章
  • 累计创建 29 个标签
  • 累计收到 7 条评论

目 录CONTENT

文章目录

CentOS安装OpenSSL

与晚风述往事
2022-03-30 / 0 评论 / 1 点赞 / 348 阅读 / 2,222 字 / 正在检测是否收录...
温馨提示:
本文最后更新于 2022-03-30,若内容或图片失效,请留言反馈。部分素材来自网络,若不小心影响到您的利益,请联系我们删除。

介绍

虽然CentOS7镜像中会带有OpenSSL的RPM包,但我们经常会遇到各种各样的原因(如升级补丁、高版本才支持某些功能等),需要将现有的OpenSSL替换成一个高版本。在升级到高版本的过程中,又可能受限于操作系统的版本较低,导致无法通过RPM包进行安装。因此,在此篇文章中记录以tar包编译方式进行安装的步骤,供有需要的人参考。

环境说明:

  • 操作系统:CentOS 7.9
  • openssl:3.0.2

步骤

1、检查服务器是否已安装openssl

首先我们检查一下服务器是否已经安装过openssl,如果已经安装过低版本,就先将其卸载掉。注意,不卸载也没关系,只是最后需要手动配置软链接到/usr/bin目录下。

[root@localhost src]# rpm -qa | grep openssl

image-1648628869869
从截图中看到是已经安装过openssl的1.0.2k版本的,我们需要将其卸载掉。

2、卸载openssl

对于RPM包安装方式,我们直接使用YUM或RPM命令卸载即可。

[root@localhost src]# yum remove openssl

image-1648629594582

3、下载OpenSSL包

卸载掉低版本的openssl后,我们前往官网下载高版本的OpenSSL包,官网地址为:https://www.openssl.org/source/ 。浏览器打开后,选择从github上下载包即可。
image-1648628009939
打开github后,根据自己需要选择对应的版本,我这里选择的是openssl-3.0.2的tar包。
image-1648628148353
下载后,将其上传至CentOS服务器中即可。当然,如果你的服务器能够访问外网,也可以复制下载链接直接在CentOS中使用wget命令下载。

4、解压tar包并进入到解压目录中

在将tar包上传到服务器后,我们将其解压。解压的目录需要根据自己服务器的实际磁盘空间去选择解压的目录,我这里只是演示就无所谓了。

[root@localhost src]# tar xvf openssl-openssl-3.0.2.tar.gz

解压后,进入到解压的文件夹中。

[root@localhost src]# cd openssl-openssl-3.0.2

5、配置

进入到目录后,我们编译源码包。

[root@localhost openssl-openssl-3.0.2]# ./config --prefix==/usr/local

参数说明:

  • –prefix== 指定安装的位置

image-1648633607326

6、安装

在编译完成后,我们执行安装命令,将编译好的文件安装到指定的目录中。

[root@localhost openssl-openssl-3.0.2]# make install

7、配置动态链接库

安装完成后,我们需要配置动态链接库。配置动态链接库的时候,正确的做法是在/etc/ld.so.conf目录下新增openssl的配置文件,而不是在/etc/ld.so.conf文件下新增一条。当然,你在/etc/ld.so.conf文件下新增一条也能使用,但是不太规范。例如,我这里直接就将/usr/local/lib64目录放在新建的openssl3.0.2.conf配置文件中。

[root@localhost openssl-openssl-3.0.2]# echo "/usr/local/lib64/" > /etc/ld.so.conf.d/openssl3.0.2.conf

在配置好动态链接库后,此时还不能使用openssl,因为动态链接库还没有生成缓存文件,CentOS 7还不知道我们的动态链接库。我们接下来需要执行ldconfig命令,命令执行后它会去搜索/lib和lib64以及/etc/ld.so.conf文件内列出的目录,然后去找可以共享的动态链接库文件(例如lib.so文件),找到后使用动态链接库文件创建出ld.so文件和缓存文件。

缓存文件是一个已排好序的动态链接库名称的列表,它是二进制的,默认是在/etc/ld.so.cache。

[root@localhost openssl-openssl-3.0.2]# ldconfig -v

8、查看OpenSSL的版本

上述全部做完后,我们就可以查看openssl的版本了。

[root@localhost openssl-openssl-3.0.2]# openssl version

image-1648634511140
看到上述截图,就说明openssl已经安装完毕了。

错误

1、配置时报错Can’t locate IPC/Cmd.pm

此报错是因为缺少IPC/Cmd.pm模块导致的,遇到此问题后,我们先使用YUM命令安装perl-CPAN依赖。

[root@localhost openssl-openssl-3.0.2]# yum install perl-CPAN

image-1648630145653
安装成功后,需要进入到CPAN窗口中,安装这个IPC/Cmd.pm模块。
注意,第一次进入需要配置一些参数,例如将模块安装在哪里。默认情况下会将所有文件(诸如模块,源文件等)放在执行该命令的用户目录下的.cpan文件中。如果不想存储在用户目录下,则将第一次交互的值设置为no(不按默认配置),再回车,然后指定存储目录,指定完后一直回车即可。如下图所示:
image-1648633125305

[root@localhost openssl-openssl-3.0.2]# perl -MCPAN -e shell

配置好后,安装IPC/Cmd.pm模块。

cpan[2]> install IPC/Cmd.pm

image-1648633315756
安装完成后,重新config即可。

1

评论区