linux - bugzilla 所需的 apache 2.4 的 mod_perl.so

标签 linux apache perl 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

起始位置:

SLES 11 预装了带有 OpenSSL 0.9.8 的 http-server Apache 2.2 不支持当今所需的 TLS1.2。 因此编译、构建和安装了带有上述 OpenSSL 的 Apache 2.4。这运行良好。要像以前一样运行 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

事实上,这从来都不是真正的问题,尝试了所有可能的突变,导致使用 make test 的所有测试都通过了。 make install 也总是没问题,但是构建 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 我再次遇到同样的错误,即使在 make clean 之后也是如此。最后在从 tar 和命令中删除源解包之后:

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

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

    ./apachectl: line 79:  5760 Segmentation fault      $HTTPD "$@"

我卡住了!我浪费的时间够多了!有没有人遇到过这类问题? 我感谢任何有用的提示。

最佳答案

这个问题的最佳答案是:不要使用 mod_perl! mod_perl 接缝被弃用,根本没有办法让它工作。请改用 CGI!这行得通。我的错是忘记了这一点。我使用 cgi 设置了 bugzille 2009。我忘记了这个事实,因为它工作正常。在升级到新版本之前,我再也没有碰过。虽然 mod_php 仍在使用,但对于 perl,请使用 cgi 和反向代理!

关于linux - bugzilla 所需的 apache 2.4 的 mod_perl.so,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35742834/

相关文章:

linux - 如何在 PhantomJS 2.1+ 或 headless Chrome 中呈现 woff 字体?

linux - Ubuntu 上 Firefox 的 VRML 插件

Apache 403 Forbidden 您无权访问/在此服务器上

perl - eval(die "some error message") 之后的代码会继续执行吗?

perl - 在 Perl 中,在变量定义之前设置类/模块名称有什么作用?

perl - 如何在 perl 中检索 png 文件的高度和宽度属性

c - 黑客 - 剥削的艺术 : debugging buffer overflow example

java - HTTP Get : Only download the header?(不支持HEAD)

apache - htaccess 在子目录中不起作用

linux - copy_from_user() 运行在用户空间还是内核空间?