如何编译安装最新版Openssl

信息

本文中演示的系统是CentOS7 amd64,并且要确保系统中没有安装Openssl.

首先,我们先登录服务器后台命令行页面

输入命令获取最新版本(1.1.1d)的安装包

1
2
3
# wget https://www.openssl.org/source/openssl-1.1.1d.tar.gz
-省略过程
xxxx-xx-xx xx:xx:xx (xxx MB/s) - ‘openssl-1.1.1d.tar.gz’ saved [8845861/8845861]

获取完安装包之后解压,进入目录

1
2
# tar -xzf openssl-1.1.1d.tar.gz
# cd openssl-1.1.1d

接下来配置并编译Openssl

注意

请将第一行目录中的/usr/local/openssl替换成你想安装Openssl的目录的位置,在这里我们保留默认。

1
2
3
# ./config --prefix=/usr/local/openssl
# ./config -t
# make

信息

如出现/bin/sh: gcc: command not found那么安装gcc即可yum install gcc

然后安装

1
# make install

下面,我们来配置Openssl环境变量

如果你现在在终端输入openssl version

输出类似于以下这样:

1
2
# openssl version
-bash: /usr/bin/openssl: No such file or directory

所以接下来我们来配置它

进入/usr/local并创建链接

1
2
# cd /usr/local
# ln -s openssl ssl

编辑/etc/ld.so.conf文件

1
2
3
4
5
6
# nano /etc/ld.so.conf
在末尾添加/usr/local/openssl/lib
看起来像下面这样

include ld.so.conf.d/*.conf
/usr/local/openssl/lib

信息

如出现-bash: nano: command not found那么安装nano即可yum install nano

接着,按ctrl+o保存,按ctrl+x离开nano

输入ldconfig共享动态链接库

配置环境变量

编辑.bashrc文件:

1
2
# cd 
# nano .bashrc

在末尾添加

1
2
export OPENSSL=/usr/local/openssl/bin
export PATH=$OPENSSL:$PATH:$HOME/bin

保存退出,使用source .bashrc来使修改生效。

最后

输入which openssl查看openssl路径,输入openssl version查看版本。

1
2
3
4
# which openssl
/usr/local/openssl/bin/openssl
# openssl version
OpenSSL 1.1.1d 10 Sep 2019

恭喜

恭喜你,成功完成了Openssl的编译安装。