正确的符号链接在编译的 apache 2.2 上加载 ssl 模块

正确的符号链接在编译的 apache 2.2 上加载 ssl 模块

我正在尝试复制旧系统的服务器配置,该系统使用旧版本的 apache 和 php,特别是 apache 2.2.4,为了编译此版本的 apache,我必须安装 openssl 0.9.7(以避免编译 apache 时出现错误),当我尝试 ./apachectl start 时出现此错误:

httpd:/usr/local/apache/php/conf/httpd.conf 第 54 行语法错误:无法将 /usr/local/apache/php/modules/mod_ssl.so 加载到服务器:libssl.so.0.9.7:无法打开共享对象文件:没有此文件或目录

54 号线

LoadModule ssl_module modules/mod_ssl.so

mod_ssl.so 目录:

/usr/local/apache/php/modules

libssl.so.0.9.7 目录:

/usr/local/ssl/lib

我试过:

ln -s /usr/local/apache/php/modules/mod_ssl.so /usr/local/ssl/lib/libssl.so.0.9.7

ln -s /usr/local/apache/php/modules /usr/local/ssl/lib

但仍然出现上述相同的错误。

这是我的ldd /usr/local/apache/php/modules/mod_ssl.so output

linux-vdso.so.1 (0x00007ffcfe550000)
    libssl.so.0.9.7 => not found
    libcrypto.so.0.9.7 => not found
    libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007fe22a31d000)
    libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007fe229f7e000)
    /lib64/ld-linux-x86-64.so.2 (0x00007fe22a765000)

openssl .so 文件的目录:

    root@debian:/usr/local/ssl/lib# ls
libcrypto.a   libcrypto.so.0      libssl.a   libssl.so.0      modules
libcrypto.so  libcrypto.so.0.9.7  libssl.so  libssl.so.0.9.7  pkgconfig

答案1

对于大多数应用程序,此类文件的默认目录是/usr/lib/,尝试将所有库移动到其中或创建如下符号链接:

sudo ln -s /usr/local/ssl/lib/libssl.so.0.9.7 /usr/lib/libssl.so.0.9.7
sudo ln -s /usr/local/ssl/lib/libcrypto.so.0.9.7 /usr/lib/libcrypto.so.0.9.7

如果这不起作用:

sudo vim /etc/ld.so.conf.d/libc.conf

改变路径

# libc default configuration

# /usr/local/lib

/usr/lib

sudo ldconfig

相关内容