Uso Request Tracker versione 3 da un po' di tempo e ha funzionato benissimo. Ma all'improvviso il server RT si è bloccato e il registro degli errori di Apache aveva il seguente messaggio di errore:
Attempt to free unreferenced scalar: SV 0x811ef70, Perl interpreter: 0x7f5a010 at /usr/lib/perl5/5.8.8/ExtUtils/Liblist.pm line 6. Segmentation fault
Sembrava che molti degli script perl avessero problemi e in effetti il perl e pan i comandi hanno prodotto lo stesso errore di cui sopra:
# cpan Attempt to free unreferenced scalar: SV 0x811ef70, Perl interpreter: 0x7f5a010 at /usr/lib/perl5/5.8.8/ExtUtils/Liblist.pm line 6. Segmentation fault
Soluzione:
Non ero sicuro di cosa avrebbe causato questo errore, ma dopo aver trascorso un po' di tempo su Google, ho capito che alcuni dei moduli Perl o del sistema operativo potrebbero essere stati aggiornati. Ma la cosa spaventosa è che non ho aggiornato nulla di recente. Comunque, ho iniziato a risolvere il problema.
L'unica opzione che avevo era installare nuovamente Perl e i suoi moduli.
Reinstalla Perl
Per essere più sicuro, ho fatto un backup dei vecchi file di installazione di Perl come di seguito:
#mv /usr/lib/perl5 /usr/lib/perl5.bak #mv /usr/lib64/perl5 /usr/lib64/perl5.bak
Ora ho reinstallato Perl usando Yum
#yum reinstall perl
Bene, ora sono stato in grado di eseguire almeno il 'perl ' comando (cosa che non ero in grado di fare prima)
# perl -v This is perl, v5.8.8 built for x86_64-linux-thread-multi
Installa Perl CPAN
# perl -MCPAN -e shell Can't locate CPAN.pm in @INC (@INC contains:
Ho installato perl-CPAN modulo utilizzando yum
#yum install perl-CPAN
Ora, anche il cpan ha funzionato (senza l'errore di segmentation fault)
# cpan cpan shell -- CPAN exploration and modules installation (v1.7602) ReadLine support available (try 'install Bundle::CPAN') cpan>
Verifica se le configurazioni RT sono corrette in httpd.conf
Di seguito è riportata la configurazione di esempio:
NameVirtualHost rt_server:443 <VirtualHost rt_server:443> ServerName rt_server_in DocumentRoot /opt/rt3/share/html AddDefaultCharset UTF-8 PerlModule Apache::DBI PerlRequire "/opt/rt3/bin/webmux.pl" <Location /NoAuth/images> SetHandler default </Location> <Location /> SetHandler perl-script PerlResponseHandler RT::Mason </Location> ErrorLog logs/error_log SSLCipherSuite ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP SSLEngine on SSLCertificateFile /etc/httpd/conf/ssl.crt/rt_server_cert.pem SSLCertificateKeyFile /etc/httpd/conf/ssl.key/rt_server_key.pem SetEnvIf User-Agent ".*MSIE.*" nokeepalive ssl-unclean-shutdown downgrade-1.0 force-response-1.0 </VirtualHost>
Avvia il server httpd e mysqld :
Ricorda, non abbiamo installato alcun modulo Perl necessario per avviare RT. Per sapere quali sono i moduli Perl richiesti, inizieremo httpd server e risolvere gli errori generati in httpd error_log .
Come previsto, "httpd ' il server non si è avviato e il error_log ha indicato che webmux.pl di RT richiedono i moduli seguenti:
Nota: Il httpd registro_errori non fornirà tutte queste informazioni sul modulo contemporaneamente, ma suggerirà quale modulo sta attualmente causando il problema. Dovrai installare un modulo alla volta e provare ad avviare httpd servizio. Se fallisce, controlla error_log per scoprire quale modulo è il colpevole (ora!). Continua a eseguire questo passaggio finché non trovi messaggi di errore in error_log .
Di seguito sono riportati i pochi moduli che mi sono ricordato di acquisire per aver scritto questo post. Ma potresti doverne installare di più….
Apache2/Response.pm Can't locate Log::Dispatch Params::Validate.pm Can't locate Module::Implementation Attribute::Handlers Can't locate File::ShareDir Can't locate Locale::Maketext::Lexicon [error] Base class package "Locale::Maketext::Fuzzy" is empty.\n (Perhaps you need to 'use' the module which defines that package first.)\n at /opt/rt3/bin/../lib/RT/I18N.pm line 62.\nBEGIN failed--compilation aborted at /opt/rt3/bin/../lib/RT/I18N.pm line 62.\nCompilation failed in require at /opt/rt3/bin/../lib/RT.pm line 152.\nBEGIN failed--compilation aborted at /opt/rt3/bin/webmux.pl line 102.\nCompilation failed in require at (eval 2) line 1.\n Can't locate MIME::Entity Can't locate DBIx::SearchBuilder Can't locate Email::Address Can't locate UNIVERSAL::require Text::Template Can't locate File::Slurp HTML::Element HTML::FormatText Font::Metrics::Courier Can't locate Text::Wrapper Time::ParseDate Test::EOL HTML::Scrubber Test/Memory/Cycle.pm Test/CPAN/Meta.pm Base class package "HTML::Mason::Request" is empty.\n install_driver(mysql) failed: Can't locate DBD/mysql.pm
Installa moduli Perl tramite CPAN
Ad esempio, se httpd error_log rapporti : Impossibile individuare Log/Dispatch.pm @ INC ….quindi devi installare quel modulo tramite CPAN come di seguito
cpan> install Log::Dispatch
Sostituisci il comando precedente per installare altri moduli.
Durante l'installazione del modulo perl, ho riscontrato un problema di compatibilità della versione per DBD::MySQL modulo. Il httpd registro_errori aveva il seguente messaggio:
install_driver(mysql) failed: DBD::mysql object version 4.013 does not match bootstrap parameter 4.031
Dobbiamo spostare "mysql ' cartella in '/usr/lib64/perl5/site_perl/5.8.8/x86_64-linux-thread-multi/auto/DBD ' e '/usr/lib64/perl5/site_perl/5.8.8/x86_64-linux-thread-multi/auto/DBI '.
Ora installa "DBD::MySQL ' di nuovo tramite CPAN
cpan> install DBD::MySQL
Infine, il httpd server avviato e error_log era pulito senza alcun messaggio. Ho provato ad accedere alla pagina web di RT tramite browser, per vedere solo una finestra di dialogo che mi chiedeva di salvare un file "dscarica '. Uff... cos'era quello? Ho controllato il httpd error_log e non aveva alcun messaggio di aiuto. Tutto quello che ho fatto è stato salvare il file "download" dal browser e aprirlo con un editor di testo. Fortunatamente, aveva qualche messaggio di aiuto:
Can't located Apache/Session/MySQL.pm @ INC....
Ho installato "Apache/Session/
cpan > install Apache::Session::MySQL
Pagina web RT caricata senza Style/CSS
Dopo aver installato tutti i moduli Perl necessari, ho riavviato httpd server e ho provato ad accedere alla pagina Web di RT. La pagina è stata caricata, ma senza alcuno Stile come di seguito:
Per risolvere il problema, devi installare un modulo Perl chiamato "CSS:Squish '
cpan > install CSS:Squish
Questo è tutto. Sono stato in grado di caricare correttamente la pagina Web RT. Spero che queste informazioni possano aiutare qualcuno là fuori.
Potresti anche leggere:Errore RT :errore del server non definito di Mailgate.