在centos系统中安装OpenSSL是一个相对常见的需求,特别是在需要使用较新版本的OpenSSL以支持新功能或修复安全漏洞时,以下是关于如何在CentOS上安装OpenSSL的详细指南,包括直接安装和源码编译安装两种方式。
一、查看当前OpenSSL版本信息
可以通过以下命令查看当前系统上OpenSSL的版本信息:

1、查看OpenSSL路径:which openssl
2、查看OpenSSL版本:openssl version
3、查看CentOS版本:cat /etc/redhatrelease
二、直接安装OpenSSL
对于大多数用户来说,直接通过yum安装是最简单快捷的方式,执行以下命令即可安装OpenSSL及其开发包:
- yum install openssl openssldevel
这种方式安装的是CentOS官方仓库中的OpenSSL版本,通常是较为稳定的版本。
三、源码编译安装OpenSSL
如果需要安装特定版本的OpenSSL,或者官方仓库中没有你需要的版本,可以选择从源码编译安装,以下是详细的步骤:

1. 安装编译依赖
确保你有必要的开发工具和依赖来编译OpenSSL:
- sudo yum groupinstall 'Development Tools'
- sudo yum install perlcore zlibdevel wget
2. 下载OpenSSL源码
从OpenSSL官方网站下载你需要的版本,以下以OpenSSL 1.1.1w为例:
- cd /usr/local/src
- sudo wget https://www.openssl.org/source/openssl1.1.1w.tar.gz
- sudo tar xvzf openssl1.1.1w.tar.gz
- cd openssl1.1.1w
注意:根据最新版本替换上面的文件名。
3. 配置、编译和安装OpenSSL

执行以下命令进行配置、编译和安装:
- sudo ./config prefix=/usr/local/openssl openssldir=/usr/local/openssl
- sudo make
- sudo make install
4. 更新系统环境变量
为了让系统使用新版本的OpenSSL,你需要更新环境变量,编辑/etc/profile
文件,在文件末尾添加以下行:
- export PATH=/usr/local/openssl/bin:$PATH
保存后,使修改生效:
- source /etc/profile
5. 更新库路径
将OpenSSL的库路径添加到系统库路径中:
- echo "/usr/local/openssl/lib" | sudo tee /etc/ld.so.conf.d/openssl1.1.1w.conf
- sudo ldconfig
6. 验证安装
确认系统使用了你新安装的OpenSSL版本:
- openssl version
四、常见问题及解决方案
Q1: 为什么需要从源码编译安装OpenSSL?
A1: 从源码编译安装OpenSSL通常是为了安装比官方仓库中更新版本的OpenSSL,以支持新功能或修复安全漏洞,某些特定的应用场景可能需要自定义编译选项或特定的OpenSSL版本。
Q2: 如何切换回系统默认的OpenSSL版本?
A2: 如果需要切换回系统默认的OpenSSL版本,可以删除或注释掉在/etc/profile
文件中添加的新版OpenSSL的路径,然后重新加载环境变量,也可以删除或移动新版OpenSSL的库文件,以恢复系统默认的库路径,具体操作如下:
- 删除或注释掉 /etc/profile 中的新版 OpenSSL 路径
- export PATH=/usr/local/openssl/bin:$PATH
- 恢复系统默认库路径(如果之前有备份)
- sudo mv /etc/ld.so.conf.d/openssl1.1.1w.conf /etc/ld.so.conf.d/openssl1.1.1w.conf.bak
- sudo ldconfig
在进行任何更改之前,建议备份相关文件以防止意外情况发生。