apache安装mod_ssl.so 出现 undefined symbol: ssl_cmd_SSLPassPhraseDialog错误解决

很久很久以前,安装Apache的时候,根本没想过将来的某一天会使用到ssl,所以也就没有安装那个模块,结果今天需要用到的时候,却无从下手了。

由于在安装Apache的时候,mod_ssl.so这个文件没有被安装,因此决定安装这个文件。安装的方法主要有两种:重新编译安装和加载安装模块。

安装方法1:简单,就是直接重新编译apache,然后加上–enable-ssl,这个方法就不多说了,这里主要介绍方法2。

安装方法2:动态安装。Apache有类似PHP那样动态加载模块的机制,首先使用了网上介绍比较多的方法安装:

注意:下文[apache]表示Apache的安装目录,[source]表示Apache源码目录。

1. 进入 [source]/modules/ssl

2. 执行 [apache]/bin/apxs -a -i -c mod_ssl.c

然后系统会提示安装成功,但是启动httpd的时候却会提示:

httpd: Syntax error on line 146 of [apache]/conf/httpd.conf: Cannot load modules/mod_ssl.so into server: [apache]/modules/mod_ssl.so: undefined symbol: ssl_cmd_SSLPassPhraseDialog

于是上网查了很久的资料,结果却不如人意。最终发现安装mod_ssl.so需要指定openssl的相关信息。

下面是正确的方法:

1. 进入[source]/modules/ssl

2.执行 [apache]/bin/apxs -a -i -c -L/usr/lib/openssl/engines/lib -c *.c -lcrypto -lssl -ldl

重启httpd即可。

总结:显然第二种方法是比较麻烦的,因此我郑重推荐使用第一种方法:重新编译apache,加上–enable-ssl选项。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值