ubuntu18.04 安装新版本openssl
首先我们应该知道ubuntu18.04内置了1.1.0g版本的openssl:
![](https://img2018.cnblogs.com/blog/1506386/201903/1506386-20190326201008296-1333290882.png)
**使用下面的apt命令更新Ubuntu存储库并安装软件包编译的软件包依赖项:**
```
sudo apt update
sudo apt install build-essential checkinstall zlib1g-dev -y
```
转到'/ usr / local / src'目录并使用wget下载OpenSSL-1.1.1b的源代码:
cd /usr/local/src/
sudo wget https://www.openssl.org/source/openssl-1.1.1b.tar.gz
为什么选这个版本呢?因为它最大······
现在解压缩openssl-1.1.1b.tar.gz文件,然后转到'openssl-1.1.1b'目录:
sudo tar -xf openssl-1.1.1b.tar.gz
cd openssl-1.1.1b
使用以下命令配置和编译OpenSSL:
sudo ./config --prefix=/usr/local/ssl --openssldir=/usr/local/ssl shared zlib
sudo make
sudo make test
注意:
- prefix和--openssldir =设置OpenSSL的输出路径。
- shared = force来创建共享库。
- zlib =使用zlib库启用压缩。
编译过程完成后,使用以下命令安装OpenSSL:
sudo make install
OpenSSL安装在'/usr/local/ssl'目录中。
接下来,我们将为OpenSSL配置共享库。 新的OpenSSL二进制文件将从'/usr/local/ssl/lib'目录加载库文件。
转到'/etc/ld.so.conf.d'目录并创建新配置文件'openssl-1.1.1b.conf':
cd /etc/ld.so.conf.d/
sudo vim openss1-1.1.1b.conf
粘贴openssl库路径目录:
/usr/local/ssl/lib
现在使用以下命令重新加载动态链接:
sudo ldconfig -v
您将看到已加载'/usr/local/ssl/lib'目录中的OpenSSL库:
![](https://img2018.cnblogs.com/blog/1506386/201903/1506386-20190326201016819-100684975.png)
我们将使用新版本'/usr/local/ssl/bin/openssl'替换默认的openssl二进制文件'/usr/bin/openssl或/bin/openssl'。
备份二进制文件:
sudo mv /usr/bin/c_rehash /usr/bin/c_rehash.BEKUP
sudo mv /usr/bin/openssl /usr/bin/openssl.BEKUP
使用vim编辑'/etc/environment'文件:
sudo vim /etc/environment
添加新的OpenSSL二进制目录:
PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/usr/local/ssl/bin"
重新加载环境文件并测试新更新的二进制PATH:
source /etc/environment
echo $PATH
查看安装结果:
openssl version -a
应该出现如下结果:
![](https://img2018.cnblogs.com/blog/1506386/201903/1506386-20190326201025000-1477784500.png)
这时openssl已经安装成功了,但依然不能用于编程,只能用于终端。要想用于编程还需安装libssl-dev
使用如下命令:
sudo apt-get install libssl-dev
安装完毕后需按下图所示编译:
![](https://img2018.cnblogs.com/blog/1506386/201903/1506386-20190326202026914-987847219.png)