怎样编译安装OpenSSL

2017年11月29日 由 Amon

参考:https://amon.org/openssl-2016

【卸载】

查看当前版本:

openssl version

卸载低版本:

如果有通过yum/rpm安装的openssl,需要先卸载:

rpm -e --nodeps openssl && rpm -e --nodeps openssl-devel

【编译】

流程A:编译安装OpenSSL

官网:https://www.openssl.org/
下载:https://www.openssl.org/source/
参考:http://linuxfromscratch.org/blfs/view/svn/postlfs/openssl.html

最新版本:OpenSSL 1.0.2m

wget http://www.openssl.org/source/openssl-1.0.2m.tar.gz && tar zxvf openssl-1.0.2m.tar.gz && cd openssl-1.0.2m
./config --prefix=/usr --openssldir=/etc/ssl --libdir=lib shared zlib-dynamic
make && make test
sed -i 's# libcrypto.a##;s# libssl.a##;/INSTALL_LIBS/s#libcrypto.a##' Makefile
make MANSUFFIX=ssl install

输出:

...
installing libcrypto.so.1.0.0
installing libssl.so.1.0.0
make[1]: Entering directory `/usr/lib'
make[2]: Entering directory `/usr/lib'
make[2]: Leaving directory `/usr/lib'
make[2]: Entering directory `/usr/lib'
make[2]: Leaving directory `/usr/lib'
make[1]: Leaving directory `/usr/lib'
cp libcrypto.pc /usr/lib/pkgconfig
chmod 644 /usr/lib/pkgconfig/libcrypto.pc
cp libssl.pc /usr/lib/pkgconfig
chmod 644 /usr/lib/pkgconfig/libssl.pc
cp openssl.pc /usr/lib/pkgconfig
chmod 644 /usr/lib/pkgconfig/openssl.pc

更新系统动态连接库配置:

echo /usr/lib >> /etc/ld.so.conf && ldconfig

查看版本

查看版本(shell):

openssl version

输出:

OpenSSL 1.0.2m  2 Nov 2017

注意:需要重新编译php才能更新头信息

参考: https://amon.org/php55

查看版本(phpinfo):

openssl
OpenSSL support 	enabled
OpenSSL Library Version 	OpenSSL 1.0.2l 26 Sep 2016
OpenSSL Header Version 	OpenSSL 1.0.2l 26 Sep 2016

显示版本已经一致。

如果不一致,可能是在升级OpenSSL之后,没有重新编译PHP。

相关文件路径:

/etc/ssl/openssl.cnf
/usr/include/openssl
/usr/lib/engines
/usr/lib/libssl.so.1.0.0
/usr/lib/libcrypto.so.1.0.0

安装完成。

编译B:编译安装OpenSSL

wget https://www.openssl.org/source/openssl-1.0.2k.tar.gz && tar -zxf openssl-1.0.2k.tar.gz && cd openssl-1.0.2k
./config --prefix=/usr/local/openssl -fPIC
make -j && make install

【报错】

编译spdylay时报错:

spdylay_ssl.h:36:25: fatal error: openssl/ssl.h: No such file or directory

只要yum安装openssl-devel即可解决问题,而且不与编译版的openssl冲突。

广告位
美团云

评论已关闭.