2016-03-02 27 views
2

环境:mod_perl.so的Apache 2.4通过Bugzilla的要求

SuSE SLES11 SP4, Kernel 3.0.101-68-default 
    http-Server: apache 2.4.18 with OpenSSL 1.0.2e 
    MySQL 5.6.29 

另外两种:

SLES 11 preinstalled SW: 
    Perl 5.10.0 with mod_perl v2.000004 and 
    bugzilla 4.2.4 being running before. 

或者 新版本从源代码构建即

perl 5.22.1 and mod_perl 2.0.9 and bugzilla -5.0.2 

起始位置:

T他预先安装了带有OpenSSL 0.9.8的http-server Apache 2.2的SLES 11不支持今天所需的TLS1.2。 因此,Apache 2.4与上述OpenSSL进行了编译,构建和安装。这运行良好。像以前一样运行bugzilla perl和mod_perl是必需的。尽管努力,但没有尝试成功。无论是预安装的perl/mod_perl,还是使用源代码构建的版本!

尝试1:

从复制mod_perl.so的/ usr/lib64下/ apache2的/到apache 2.4安装的模块目录和加载的http.conf内的模块。这将导致错误:

modules/mod_perl.so: undefined symbol: ap_log_error. 

因此要在这条路上可能会出现更多的错误!

尝试2:

使用预装的perl 5.10.0和源MOD-perl的2.0.9构建和安装,使用:

perl Makefile.PL MP_APXS=/opt/apache/http/bin/apxs 

这导致:

Please repair your Module::CoreList at lib/Apache2/Build.pm line 50. 
    BEGIN failed--compilation aborted at lib/Apache2/Build.pm line 65. 
    Compilation failed in require at Makefile.PL line 38. 
    BEGIN failed--compilation aborted at Makefile.PL line 38. 

显然与perl版本不兼容的问题。不行!

尝试3:

编译,建造和安装perl-5.22.1

事实上,这是从来没有一个真正的问题的所有可能的突变试过,导致通使用使测试的所有测试。使安装总是OK了,但是建设MOD-perl的以失败:

[ error] Using Perl 5.022001 w/o ithreads and httpd-2.4. 
    [ error] Failed requirements: 
    [ error] - Perl built with ithreads (build perl with -Duseithreads) 

一个令人沮丧的工作,因为即使使用-Duseithreads我再次得到了同样的错误,甚至使清洁后。最后删除源码解压后从tar和命令:

./Configure -Dprefix=/opt/perl -Duseithreads -Accflags=-fPIC 

我根据需要得到了一个mod_perl.so。 但是启动apache服务器导致:

./apachectl: line 79: 5760 Segmentation fault  $HTTPD "[email protected]" 

我被卡住了!我失去了足够的时间!有没有人遇到这种问题? 我很欣赏任何有用的提示。

回答

1

这个问题的最佳答案是:不要使用mod_perl! mod_perl接缝将被弃用,并没有任何意义,使其工作。改用CGI!这工作。我的错误已经忘记了这一点。我用cgi设置了bugzille 2009。我忘记了这个事实,因为它工作正常。在升级新版本之前,我再也没有碰过。虽然mod_php仍在使用中,但是perl使用cgi和反向代理!