![Apache 未正确链接到 OpenSSL](https://linux22.com/image/685445/Apache%20%E6%9C%AA%E6%AD%A3%E7%A1%AE%E9%93%BE%E6%8E%A5%E5%88%B0%20OpenSSL.png)
我已经下载了httpd-2.4.20
源文件并尝试使用系统上已安装的 OpenSSL(Openssl 1.0.1t)来构建它。
我使用了以下命令来实现所需的结果:
$ CFLAGS='-DSSL_EXPERIMENTAL_ENGINE' ./configure --with-ssl=/usr/local/ssl $ --with-pcre=/usr/local/pcre --enable-ssl --enable-so
$ make
# make install
我的目的是通过 mod_ssl 使 Apache 能够使用文件中指定的一些 OpenSSL 引擎openssl.cnf
。但是如果我输入,ldd httpd
结果不会列出 OpenSSL 库:libcrypto.so.1.0.0
和 ' libssl.so.1.0.0
,而是:
# ldd httpd
linux-vdso.so.1 => (0x00007ffc86eb7000)
libpcre.so.1 => /usr/local/pcre/lib/libpcre.so.1 (0x00007f9ff8543000)
libaprutil-1.so.0 => /usr/local/apache2/lib/libaprutil-1.so.0 (0x00007f9ff830f000)
libapr-1.so.0 => /usr/local/apache2/lib/libapr-1.so.0 (0x00007f9ff80d3000)
libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007f9ff7e99000)
libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f9ff7ad3000)
libexpat.so.0 => /usr/local/apache2/lib/libexpat.so.0 (0x00007f9ff78a0000)
libcrypt.so.1 => /lib/x86_64-linux-gnu/libcrypt.so.1 (0x00007f9ff7667000)
libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007f9ff7462000)
/lib64/ld-linux-x86-64.so.2 (0x000055cbf518d000)
既然我已经明确指定了--with-ssl=/usr/local/ssl
OpenSSL 的安装目录,为什么我不能使用它的库?
答案1
为什么您要自行编译 apache,而不是使用供应商(发行版)提供的软件包?
如果您自行编译,则会遇到类似这样的问题,并且安全更新也需要重复努力。