如何编译安装openSSL?

编译安装

1 基础知识

OpenSSL是一个开放源代码的软件库包,应用程序可以使用这个包来进行安全通信,避免窃听,同时确认另一端连接者的身份。这个包广泛被应用在互联网的网页服务器上。

2 最佳实践

2.1 环境信息

ip address = 10.168.0.8
hostname = any.cmdschool.org
OS = CentOS 6.x x86_64

2.2 准备工作

2.2.1 安装编译环境

yum -y install gcc gcc-c++ make expat-devel

2.2.2 下载源代码

cd ~
wget --no-check-certificate https://www.openssl.org/source/openssl-1.0.2.tar.gz

其他版本请从以下链接下载,
https://www.openssl.org/source/
https://www.openssl.org/source/old/

2.2.3 解压软件包

cd ~
tar -xf openssl-1.0.2.tar.gz

2.3 安装openSSL

2.3.1 执行预编译

cd ~/openssl-1.0.2
./config --prefix=/usr/local/openssl-1.0.2 \
         --openssldir=/usr/local/openssl-1.0.2 \
         shared \
         zlib-dynamic

如果遇到如下错误提示,

make: Warning: File `Makefile.org' has modification time 3.6e+06 s in the future
Makefile is older than Makefile.org, Configure or config.
Reconfigure the source tree (via './config' or 'perl Configure'), please.
make: *** [Makefile] Error 1

你需要配置ntp服务,

yum install -y chrony
/etc/init.d/chronyd start
chronyc sources

2.3.2 执行编译

cd ~/openssl-1.0.2
make

如果遇到如下错误提示,

make[2]: *** [c_zlib.o] Error 1
make[2]: Leaving directory `/root/openssl-1.0.2/crypto/comp'
make[1]: *** [subdirs] Error 1
make[1]: Leaving directory `/root/openssl-1.0.2/crypto'
make: *** [build_crypto] Error 1

你需要安装如下依赖包,

yum install -y zlib-devel

2.3.3 执行安装

cd ~/openssl-1.0.2
make install

2.3.4 配置环境变量

vim /etc/profile.d/openssl.sh

加入如下配置,

export OPENSSL_HOME=/usr/local/openssl-1.0.2
export PATH=${OPENSSL_HOME}/bin:$PATH

修改完成以上配置,需要运行以下命令导入环境变量,

source /etc/profile.d/openssl.sh

配置完成,建议使用如下命令测试环境变量

openssl version

2.3.5 注册库文件

vim /etc/ld.so.conf.d/openssl-1.0.2.conf

加入如下配置,

/usr/local/openssl-1.0.2/lib

修改完成以上配置,需要运行以下命令确认库加载,

ldconfig -v

另外,以下是等价的操作,适合某种场景(可选),

ln -s /usr/local/openssl-1.0.2/lib/libssl.so /usr/lib64/
ln -s /usr/local/openssl-1.0.2/lib/libssl.so.1.0.0 /usr/lib64/
ln -s /usr/local/openssl-1.0.2/lib/libcrypto.so /usr/lib64/
ln -s /usr/local/openssl-1.0.2/lib/libcrypto.so.1.0.0 /usr/lib64/

参阅文档
=====================

使用手册
———
https://www.openssl.org/docs/manpages.html

github地址
———-
https://github.com/openssl/openssl

下载地址
—————–
https://www.openssl.org/source/

非官方安装文档
—————-
https://blacksaildivision.com/how-to-install-openssl-on-centos

基础知识
—————
https://baike.baidu.com/item/openssl/5454803?fr=aladdin

没有评论

发表回复

PHP
如何编译安装php-fpm的模块?

1 前言 一个问题,一篇文章,一出故事。 笔者最新部署了一个PHP-FPM的环境,本章将整理如何部署 …

PHP
如何基于Oracle Linux 9.x编译安装PHP-FPM 8.x?

1 前言 一个问题,一篇文章,一出故事。 PHP-FPM可以跟Nginx配合使Nginx环境具备运行 …

Tomcat
如何编译安装Tomcat的Native库?

1 基础知识 Tomcat的Native库允许Tomcat使用OpenSSL作为JSSE的替代品来支 …