He estado usando Request Tracker versión 3 durante bastante tiempo y funcionó muy bien. Pero de repente, el servidor RT colapsó y el registro de errores de Apache mostró el siguiente mensaje de error:
Attempt to free unreferenced scalar: SV 0x811ef70, Perl interpreter: 0x7f5a010 at /usr/lib/perl5/5.8.8/ExtUtils/Liblist.pm line 6. Segmentation fault
Parecía que muchos de los scripts de perl tenían problemas y, de hecho, el perl y cpan los comandos dieron como resultado el mismo error que el anterior:
# 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
No estaba seguro de qué habría causado este error, pero después de pasar un tiempo en Google, entendí que algunos de los módulos de Perl o el sistema operativo podrían haberse actualizado. Pero lo aterrador es que no actualicé nada recientemente. Lo que sea, comencé a solucionar el problema.
La única opción que tenía era instalar Perl y sus módulos de nuevo.
Reinstalar Perl
Para estar más seguro, hice una copia de seguridad de los archivos de instalación antiguos de Perl como se muestra a continuación:
#mv /usr/lib/perl5 /usr/lib/perl5.bak #mv /usr/lib64/perl5 /usr/lib64/perl5.bak
Ahora, reinstalé Perl usando Yum
#yum reinstall perl
Bien, ahora pude ejecutar al menos el 'perl ‘comando (que no pude hacer antes)
# perl -v This is perl, v5.8.8 built for x86_64-linux-thread-multi
Instalar Perl CPAN
# perl -MCPAN -e shell Can't locate CPAN.pm in @INC (@INC contains:
Instalé perl-CPAN módulo usando yum
#yum install perl-CPAN
Ahora, el cpan también funcionó (sin el error de falla de segmentación)
# cpan cpan shell -- CPAN exploration and modules installation (v1.7602) ReadLine support available (try 'install Bundle::CPAN') cpan>
Verificar si las configuraciones RT son adecuadas en httpd.conf
A continuación se muestra la configuración de muestra:
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>
Iniciar el servidor httpd y mysqld:
Recuerde, no hemos instalado ningún módulo de Perl que se requiera para iniciar RT. Para saber cuáles son los módulos de Perl requeridos, comenzaremos con httpd server y solucione los errores arrojados en httpd error_log .
Como era de esperar, el 'httpd ‘ el servidor no pudo iniciarse y el error_log indicó que RT's webmux.pl requieren los siguientes módulos:
A continuación se muestran los pocos módulos que recordé capturar para escribir esta publicación. Pero es posible que deba instalar más...
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
Instalar módulos Perl a través de CPAN
Por ejemplo, si el httpd error_log informes: No se puede localizar Log/Dispatch.pm @ INC ….entonces tienes que instalar ese módulo a través de CPAN como abajo
cpan> install Log::Dispatch
Reemplace el comando anterior para instalar otros módulos.
Durante la instalación del módulo perl, me encontré con un problema de compatibilidad de versiones para DBD::MySQL módulo. El httpd error_log tenía el siguiente mensaje:
install_driver(mysql) failed: DBD::mysql object version 4.013 does not match bootstrap parameter 4.031
Tenemos que mover 'mysql ‘ carpeta bajo ‘/usr/lib64/perl5/site_perl/5.8.8/x86_64-linux-thread-multi/auto/DBD ' y '/usr/lib64/perl5/site_perl/5.8.8/x86_64-linux-thread-multi/auto/DBI ‘.
Ahora instale 'DBD::MySQL ‘ módulo de nuevo a través de CPAN
cpan> install DBD::MySQL
Finalmente, el httpd servidor iniciado y el error_log estaba limpio sin ningún mensaje. Intenté acceder a la página web de RT a través del navegador y solo vi un cuadro de diálogo que me pedía que guardara un archivo 'ddescargar '. Ufff… que fue eso? Revisé el httpd error_log y no tenía ningún mensaje de ayuda. Todo lo que hice fue guardar el archivo 'descargar' desde el navegador y simplemente lo abrí con un editor de texto. Afortunadamente, tenía algún mensaje para ayudar:
Can't located Apache/Session/MySQL.pm @ INC....
Instalé ‘Apache/Session/
cpan > install Apache::Session::MySQL
Página web RT cargada sin estilo/CSS
Después de instalar todos los módulos Perl necesarios, reinicié el httpd servidor e intenté acceder a la página web de RT. La página se cargó, pero sin ningún estilo, como se muestra a continuación:
Para solucionar el problema, debe instalar un módulo de Perl llamado 'CSS:Squish ‘
cpan > install CSS:Squish
Eso es todo. Pude cargar la página web RT con éxito. Espero que esta información pueda ayudar a alguien.
También puede leer:Error de RT:error de servidor indefinido de Mailgate.