在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
在进行任何更改之前,建议备份相关文件以防止意外情况发生。
