操作系统:CentOS 7.x
为什么要升级OpenSSL版本?
CentOS 7.x 默认安装的OpenSSL是1.0.2k(CentOS 7.9)
[root@mysql-master ~]# openssl version
OpenSSL 1.0.2k-fips 26 Jan 2017
whereis openssl #查找opensll
[root@mysql-master ~]# whereis openssl
openssl: /usr/bin/openssl /usr/lib64/openssl /usr/share/man/man1/openssl.1ssl.gz
在编译安装php7.4及其以上版本的时候,需要高版本的OpenSSL;还有一些php开源框架例如ThinkPHP等程序需要高版本的OpenSSL;MySQL 8.x版本安装部署也需要高版本的OpenSSL。
1、使用yum源在线升级OpenSSL
yum update openssl #使用默认的yum源升级,发现版本没有变化
yum install -y epel-release #安装epel源
yum install -y openssl11 openssl11-devel #安装-1.1版本
[root@mysql-master ~]# whereis openssl11 #查找高版本的openssl
openssl11: /usr/bin/openssl11 /usr/lib64/openssl11 /usr/include/openssl11 /usr/share/man/man1/openssl11.1.gz
#使用高版本替换系统默认的OpenSSL版本
mv /usr/bin/openssl /usr/bin/openssl.old
mv /usr/lib64/openssl /usr/lib64/openssl.old
ln -s /usr/bin/openssl11 /usr/bin/openssl
ln -s /usr/lib64/openssl11 /usr/lib64/openssl
ln -s /usr/include/openssl11 /usr/include/openssl
[root@mysql-master openssl]# openssl version #查看OpenSSL版本,已经升级为高版本
OpenSSL 1.1.1k FIPS 25 Mar 2021
2、编译安装OpenSSL
#下载高版本OpenSSL
cd /usr/local/src
wget --no-check-certificate https://www.openssl.org/source/openssl-1.1.1q.tar.gz
#安装
cd /usr/local/src
tar zxvf openssl-1.1.1q.tar.gz
cd openssl-1.1.1q
./config -fPIC shared zlib --prefix=/usr/local/openssl
make
make install
echo "/usr/local/lib64/" >> /etc/ld.so.conf
ldconfig
#使用高版本替换系统默认的OpenSSL版本
mv /usr/bin/openssl /usr/bin/openssl.old
ln -s /usr/local/openssl/bin/openssl /usr/bin/openssl
ln -s /usr/local/openssl/include/openssl /usr/include/openssl
echo "/usr/local/openssl/lib" >> /etc/ld.so.conf
ldconfig -v
openssl version #查看版本
[root@mysql-master lib]# openssl version
OpenSSL 1.1.1q 5 Jul 2022
至此,CentOS 7.x升级OpenSSL版本完成。