【发布时间】:2017-09-14 17:55:19
【问题描述】:
我正在尝试从 2.4.26 升级到 Apache 2.4.27。配置、制作和安装全部完成,但是当我尝试反弹 Apache 时,我得到以下信息:
httpd: Syntax error on line 145 of /usr/local/apache2/conf/httpd.conf: Cannot load modules/mod_ssl.so into server: /usr/local/apache2/modules/mod_ssl.so: undefined symbol: SSL_get_srp_userinfo
OpenSSL版本为openssl-1.0.2l,运行安装:
./config --prefix=/usr/local/ --openssldir=/usr/local/openssl enable-tlsext shared
make && make install
Apache 2.4.27 通过运行安装:
./configure --enable-modules=all --enable-ssl --with-included-apr --enable-mod-proxy --with-included-apr-util
make && make install
我之前曾多次遇到同样的问题,答案是确保将 LD_LIBRARY_PATH 设置为 /usr/local/lib64:/usr/local/lib,但这一次没有帮助。我试过用这个集合配置和编译,没有 LD_LIBRARY_PATH,也没有帮助。
mod_ssl.so 看起来是针对 yum 安装的 OpenSSL 版本编译的:
[root@localhost httpd-2.4.27]# yum list installed |grep -i ssl
openssl.i686 1.0.1e-57.el6 @ol6_latest
openssl.x86_64 1.0.1e-57.el6 @ol6_latest
openssl-devel.x86_64 1.0.1e-57.el6 @ol6_latest
pyOpenSSL.x86_64 0.13.1-2.el6 @ol6_latest
ldd /usr/local/apache2/modules/mod_ssl.so
linux-vdso.so.1 => (0x00007ffd012ba000)
libssl.so.10 => /usr/lib64/libssl.so.10 (0x00007f3258fb7000)
libcrypto.so.10 => /usr/lib64/libcrypto.so.10 (0x00007f3258bd1000)
我尝试了很多不同的选项(这里列出的太多了),例如 --with-ssl=/usr/local/openssl, --enable-ssl=shared 以及在 config.nice 中设置 LDFLAGS="-L/usr/local/lib64" 但仍然没有乐趣。
有什么想法吗?
【问题讨论】: