2016-03-02 117 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和反向代理!