openssl编译linux
① 在Linux的LEMP环境下配置OpenSSL的教程
今天,给大家分享一下解决源码包编译安装 LEMP 环境下开启 OpenSSL 功能问题的过程。前几天,在访问页面时,突然报错,要求开启 openssl 功能。那怎么办呢,首先想到的是 yum 安装,但是,安装后还是没解决,因为 LEMP 的环境是源码包编译安装的,所以,还需要编译安装 openssl。
经过邪恶不懈的努力,终于找到了解决办法,而且真的成功了,下面就给大家分享一下!
首先,要确保 LEMP 环境是源码包编译安装的,并且要清楚 php 的安装目录在哪里。
其次,可以通过 yum 源的方式或者源码包编译安装 OpenSSL、OpenSSL-devel 两个包。
然后,进入到 PHP 解压出来的目录里面,我这里的目录是 PHP-5.4.24。在 PHP 目录下,会有一个 ext 的扩展目录,进入里面,找到并进入 openssl 的目录。这时,我们所在的目录是:/root/php-5.4.24/ext/openssl
这个目录下会有如下文件,看图:
然后,执行 /usr/local/php5/bin/phpize 命令(在执行前要确保已安装 m4 和 autoconf 两个工具,否则会报错)。
注意:这里是我的phpize路径,根据自己的安装路径执行;如果找不到,使用 whereis phpize 查找。如果执行时报错无法找到 config.m4 文件,那么就把目录下面的 config0.m4 重命名 config.m4,因为 config0.m4就是config.m4 的模版。
如果命令成功执行完毕,那么目录下面就会自动多出个 configure 文件,这时,只需要编译安装就行了。过程如下:
复制代码代码如下:# ./configure --with-openssl --with-php-config=/usr/local/php5/bin/php-config# make && make install
耐心等候,安装完成后,会在当前的moles目录下面多出一个openssl.so文件;然后在php.ini配置文件最后面加上如下一行内容:
复制代码代码如下:extension=openssl.so然后,重启nginx服务和php-fpm,就可以了!
至此,在源码编译安装LNMP环境下开启openssl功能成功解决!
② Linux中安装SSL协议依赖库OpenSSL的教程
0.由一个错误引入
复制代码
代码如下:
fatal error: openssl/aes.h: No such file or directory如果你在编译时遇到这个错误,这可能是下面的原因:你尝试编译的程序使用OpenSSL,但是需要和OpenSSL链接的文件(库和头文件)在你Linux平台上缺少。
要解决这个问题,你需要安装OpenSSL 开发包,这在所有的现代Linux发行版的标准软件仓库中都有。
要在Debian、Ubuntu或者其他衍生版上安装OpenSSL:
复制代码
代码如下:
$ sudo apt-get install libssl-dev要在Fedora、CentOS或者RHEL上安装OpenSSL开发包:
复制代码
代码如下:
$ sudo yum install openssl-devel下面我们再来看一下下载压缩包自己安装的方式:
1. 下载
复制代码
代码如下:
# wget ftp://ftp.openssl.org/source/openssl-1.0.1g.tar.gz# tar openssl-1.0.1g.tar.gz
# cd openssl-1.0.1g
2. 确认和安装
复制代码
代码如下:
# ./config shared zlib# make
# make install
3. 连接
复制代码
代码如下:
# mv /usr/bin/openssl /usr/bin/openssl.OFF# mv /usr/include/openssl /usr/include/openssl.OFF
# ln s /usr/local/ssl/bin/openssl /usr/bin/openssl
# ln s /usr/local/ssl/include/openssl /usr/include/openssl
# echo "/usr/local/ssl/lib" /etc/ld.so.conf
# ldconfig -v
4. 验证
复制代码
代码如下:
openssl version