apache缺少模块解决方法
Posted 郭亚彬
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了apache缺少模块解决方法相关的知识,希望对你有一定的参考价值。
找到一台老古董机器
[[email protected] conf]# cat /etc/redhat-release CentOS release 5.6 (Final) [[email protected] conf]# openssl version OpenSSL 0.9.8e-fips-rhel5 01 Jul 2008 [[email protected] conf]# ldd --version ldd (GNU libc) 2.5 Copyright (C) 2006 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. Written by Roland McGrath and Ulrich Drepper. [[email protected] conf]# gcc --version gcc (GCC) 4.1.2 20080704 (Red Hat 4.1.2-55) Copyright (C) 2006 Free Software Foundation, Inc. 本程序是自由软件;请参看源代码的版权声明。本软件没有任何担保; 包括没有适销性和某一专用目的下的适用性担保。
开始的想法很简单,直接把别的机器上mod_ssl.so下载到这个机器上,直接就报错了
[[email protected] ~]# service httpd configtest httpd: Syntax error on line 201 of /etc/httpd/conf/httpd.conf: Cannot load /etc/httpd/modules/mod_ssl.so into server: /lib64/libc.so.6: version `GLIBC_2.7‘ not found (required by /usr/lib64/libcrypto.so.10)
然后把libc.so.6和libcrypto.so.10 放进去 依然报错
[[email protected] ~]# ldconfig /lib64/libc-2.5.so ldconfig: /lib64/libc.so.6 is not a symbolic link ldconfig: /usr/lib64/libcrypto.so.10 is not a symbolic link [[email protected] ~]# ls ls: error while loading shared libraries: /lib64/libc.so.6: ELF file OS ABI invalid [[email protected] ~]# ln -s /lib64/libc-2.5.so /lib64/lib Display all 129 possibilities? (y or n) [[email protected] ~]# ln -s /lib64/libc-2.5.so /lib64/libc.so.6 ln: error while loading shared libraries: /lib64/libc.so.6: ELF file OS ABI invalid [[email protected] ~]# ldconfig -l /lib64/libc-2.5.so ldconfig: /lib64/libc.so.6 is not a symbolic link [[email protected] ~]# cp /lib64/libc-2.5.so /lib64/libc.so.6 cp: error while loading shared libraries: /lib64/libc.so.6: ELF file OS ABI invalid
这个破玩意简直崩溃,幸亏远程连接没断开,几乎所有命令都不能用了。幸好用这个屌丝的办法解决了
https://blog.csdn.net/czw698/article/details/48264871 一身冷汗好吗,生产环境搞成这样~~!
然后换思路,重新编译apache,把prefix目录改成其他的。
历史版本下载 http://archive.apache.org/dist/
./configure --prefix=/usr/local/service/httpd --enable-so --enable-ssl --enable-cgi --enable-rewrite --enable-modules=most --enable-mpms-shared=all --with-zlib --with-pcre --with-apr=/usr/local/service/apr --with-apr-util=/usr/local/service/apr-util --sysconfigdir=/usr/local/service/httpd/conf/ [[email protected] modules]# cd /usr/local/service/apache2.2/modules/ [[email protected] modules]# ls httpd.exp
what?mod_ssl.so去哪了?各种so去哪了,我明明写的enable-modules。各种修改编译命令。仍然没有。百度一下吧,百度各位大神让用apxs命令编译
[[email protected] conf]# /usr/local/service/apache2.2/bin/apxs -a -i -c -L /usr/lib/openssl/engines/lib -c *.c -lcrypto -lssl -ldl [[email protected] modules]# cd /usr/local/service/apache2.2/modules/ [[email protected] modules]# ls httpd.exp mod_ssl.so
激动人心的时刻到了,把mod_ssl.so复制到原来apache模块目录/etc/httpd/modules
[[email protected] modules]# service httpd configtest Syntax OK
完美
以上是关于apache缺少模块解决方法的主要内容,如果未能解决你的问题,请参考以下文章
CTS测试CtsWindowManagerDeviceTestCases模块的testShowWhenLockedImeActivityAndShowSoftInput测试fail项解决方法(代码片段
15.Linux下Apache rpm包安装方法,并解决依赖性问题(附自动启动方法)