首先要准备编译包,肯定是去官网下载了:https://www.openssl.org/source/,我下载的是 openssl-1.1.0g.tar.gz 这个版本。
解压并且进入此目录。
tar -zxvf openssl-1.1.0g.tar.gz cd openssl-1.1.0g
1 2 | tar -zxvf openssl-1.1.0g.tar.gz cd openssl-1.1.0g |
下面就是操作的流程了:
1. 备份旧的openssl。
mv /usr/bin/openssl /usr/bin/openssl.old mv /usr/include/openssl /usr/include/openssl.old mv /usr/local/openssl /usr/local/openssl.old
1 2 3 | mv /usr/bin/openssl /usr/bin/openssl.old mv /usr/include/openssl /usr/include/openssl.old mv /usr/local/openssl /usr/local/openssl.old |
2. 进入目录并编译:
cd openssl-1.1.0g ./config --prefix=/usr/local/ssl shared zlib make depend make && make install
1 2 3 4 | cd openssl-1.1.0g ./config --prefix=/usr/local/ssl shared zlib make depend make && make install |
3.将软链接添加上:
ln -s /usr/local/ssl /usr/local/openssl ln -s /usr/local/ssl/bin/openssl /usr/bin/openssl ln -s /usr/local/ssl/include/openssl /usr/include/openssl
1 2 3 | ln -s /usr/local/ssl /usr/local/openssl ln -s /usr/local/ssl/bin/openssl /usr/bin/openssl ln -s /usr/local/ssl/include/openssl /usr/include/openssl |
执行 openssl version 还是报错了:
错误如下:
openssl: error while loading shared libraries: libssl.so.1.1: cannot open shared object file: No such file or directory
1 | openssl: error while loading shared libraries: libssl.so.1.1: cannot open shared object file: No such file or directory |
这是由于openssl库的位置不正确造成的。
解决方法:
ln -s /usr/local/openssl/lib/libssl.so.1.1 /usr/lib/libssl.so.1.1
1 | ln -s /usr/local/openssl/lib/libssl.so.1.1 /usr/lib/libssl.so.1.1 |
再执行 openssl version 还报错:
openssl: error while loading shared libraries: libcrypto.so.1.1: cannot open shared object file: No such file or directory
1 | openssl: error while loading shared libraries: libcrypto.so.1.1: cannot open shared object file: No such file or directory |
解决方法:
ln -s /usr/local/openssl/lib/libcrypto.so.1.1 /usr/lib/libcrypto.so.1.1
1 | ln -s /usr/local/openssl/lib/libcrypto.so.1.1 /usr/lib/libcrypto.so.1.1 |