net4.6.2安装未成功_详解CentOS 8.2 图文源码安装OpenSSL 1.1.1h
1. 简介OpenSSL是一个开放源代码的软件库包,应用程序可以使用这个包来进行安全通信,避免窃听,同时确认另一端连接者的身份。这个包广泛被应用在互联网的网页服务器上。2. 查看当前版本OpenSSL路径which openssl//查看当前使用的openssl,因为需要在升级openssl之后,我们需要使用软链接将其链接回此路径方法一源码手动安装步骤:依赖安装注意:安装ope...
1. 简介
OpenSSL是一个开放源代码的软件库包,应用程序可以使用这个包来进行安全通信,避免窃听,同时确认另一端连接者的身份。这个包广泛被应用在互联网的网页服务器上。
2. 查看当前版本OpenSSL路径
which openssl //查看当前使用的openssl,因为需要在升级openssl之后,我们需要使用软链接将其链接回此路径
方法一源码手动安装步骤:
依赖安装
注意:安装openssl依赖于zlib和perl-CPAN,否则会报下方3.3步骤中的错误
zlib的安装可以点击:详解CentOS 8.2图文源码安装zlib 1.2.11
perl-CPAN的安装:yum install -y perl-CPAN
3.1 获取安装包
在http://www.openssl.org/source/上可以获取当前最新的版本,
wget https://www.openssl.org/source/openssl-1.1.1h.tar.gz
如果以上地址无法下载或者下载慢的话,可以从以下地址下载对应的openssl文件并且上传到个人服务器进行后续操作
http://download.youceba.com/dir/25806543-41266762-c1884c
3.2 解压
tar -xzvf openssl-1.1.1h.tar.gz
cd openssl-1.1..1h
3.3 配置
./config –help
# 配置参数选项
–openssldir=OPENSSLDIR #配置文件目录,默认是/usr/local/ssl
–prefix=DIR #安装目录,默认为 openssldir目录
[no-]threads #是否编译支持多线程的库。默认支持
[no-]shared #是否生成动态连接库。默认生成的是静态库。
我的配置选项命令是:
./config shared –openssldir=/data/install/openssl –prefix=/data/install/openssl
一定记得加上–shared选项, 否则openssh编译的时候会找不到新安装的openssl的library, 会报错: openssl的 header和library版本不匹配,如图示:
如果是干净的系统安装的话,报错如下,缺少依赖库perl-CPAN:
[root@iZ2ze5w0d1f4lq5p7d2wh0Z openssl-1.1.1h]# ./config shared --openssldir=/data/install/openssl --prefix=/data/install/openssl
Operating system: x86_64-whatever-linux2
Configuring OpenSSL version 1.1.1h (0x1010108fL) for linux-x86_64
Using os-specific seed configuration
Creating configdata.pm
Creating Makefile
Can't locate Getopt/Long.pm in @INC (you may need to install the Getopt::Long module) (@INC contains: . /usr/local/lib64/perl5 /usr/local/share/perl5 /usr/lib64/perl5/vendor_perl /usr/share/perl5/vendor_perl /usr/lib64/perl5 /usr/share/perl5) at configdata.pm line 15524.
BEGIN failed--compilation aborted at configdata.pm line 15524.
Compilation failed in require.
BEGIN failed--compilation aborted.
解决方案:见上述“依赖安装”注意事项
3.4 编译和安装
make && make install
3.5 修改系统配置,写入openssl库文件的搜索路径
查看openssl的路径
which openssl
查看依赖的库,ldd后面跟which openssl查询出的路径
譬如:ldd /usr/bin/openssl
如果有错误信息的话,譬如没有找到openssl的链接库(libssl.so.1.1、libcrypto.so.1.1)并且执行openssl version也会报错:
error while loading shared libraries: libssl.so.1.1: cannot open shared object file: No such file or directory
或者显示的版本不是自己安装的版本的话,譬如显示如下:
OpenSSL 1.1.1c FIPS 28 May 2019
那么就需要进行以下操作:
添加内容,将源码编译的openssl路径下的lib加入到默认搜索路径: /data/install/openssl/lib到/etc/ld.so.conf文件中
echo “/data/install/openssl/lib/” >> /etc/ld.so.conf
使修改后的/etc/ld.so.conf生效
ldconfig -v
OpenSSL在编译安装时自带了其依赖的库文件,默认系统会到/usr/lib、/usr/lib64下寻找所有的库文件,系统中默认是没有上述两个库的,需要将OpenSSL自带的库加入到系统环境。
设置openssl命令的软链接
mv /usr/bin/openssl /usr/bin/openssl.old
ln -s /data/install/openssl/bin/openssl /usr/bin/openssl
验证是否安装成功
openssl version -a
方法二安装:
yum -y install openssl openssl-devel
开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!
更多推荐
所有评论(0)