Rt 5 perl modules problem on apache

Hi i been installed rt on centos 7.9 this run ok on standalone but when configure en apache with fcgi i get thart error on log

if find identify.pm “find / -xdev -name identify.pm” i get
/root/perl5/lib/perl5/x86_64-linux-thread-multi/Sub/Identify.pm
/tmp/1/perl5/lib/perl5/x86_64-linux-thread-multi/Sub/Identify.pm
/usr/lib64/perl5/x86_64-linux-thread-multi/Sub/Identify.pm
/usr/local/lib64/perl5/x86_64-linux-thread-multi/Sub/Identify.pm
/usr/local/share/perl5/x86_64-linux-thread-multi/Sub/Identify.pm
/opt/rt5/local/lib/perl5/x86_64-linux-thread-multi/Sub/Identify.pm

ERROR in LOGs

Can’t locate Sub/Identify.pm in @INC (@INC contains: /opt/rt5/sbin/…/local/lib /opt/rt5/sbin/…/lib /usr/local/lib64/perl5 /usr/local/share/perl5 /usr/lib64/perl5/vendor_perl /usr/share/perl5/vendor_perl /usr/lib64/perl5 /usr/share/perl5 .) at /usr/local/lib64/perl5/namespace/autoclean.pm line 200.

at /usr/local/lib64/perl5/B/Hooks/EndOfScope/PP.pm line 36.
B::Hooks::EndOfScope::PP::__invoke_callback(‘CODE(0x1e34398)’) called at /usr/local/lib64/perl5/B/Hooks/EndOfScope/PP/FieldHash.pm line 31
B::Hooks::EndOfScope::PP::_TieHintHashFieldHash::DELETE(‘B::Hooks::EndOfScope::PP::_TieHintHashFieldHash=HASH(0x1f510b8)’, 28899728) called at /usr/local/lib64/perl5/Log/Dispatch.pm line 11
Log::Dispatch::BEGIN() called at /usr/local/lib64/perl5/Log/Dispatch/Types.pm line 13
eval {…} called at /usr/local/lib64/perl5/Log/Dispatch/Types.pm line 13
require Log/Dispatch.pm called at /opt/rt5/sbin/…/lib/RT.pm line 238
RT::BEGIN() called at /usr/local/lib64/perl5/Log/Dispatch/Types.pm line 13
eval {…} called at /usr/local/lib64/perl5/Log/Dispatch/Types.pm line 13
require RT.pm called at /opt/rt5/sbin/rt-server.fcgi line 86
“all” is not exported by the List::Util module
Can’t continue after import errors at /usr/local/lib64/perl5/Specio/OO.pm line 7.
BEGIN failed–compilation aborted at /usr/local/lib64/perl5/Specio/OO.pm line 7.
Compilation failed in require at /usr/local/lib64/perl5/Specio/Coercion.pm line 8.
BEGIN failed–compilation aborted at /usr/local/lib64/perl5/Specio/Coercion.pm line 8.
Compilation failed in require at /usr/local/lib64/perl5/Specio/Declare.pm line 11.
BEGIN failed–compilation aborted at /usr/local/lib64/perl5/Specio/Declare.pm line 11.
Compilation failed in require at /usr/local/lib64/perl5/Log/Dispatch/Types.pm line 13.
BEGIN failed–compilation aborted at /usr/local/lib64/perl5/Log/Dispatch/Types.pm line 13.
Compilation failed in require at /usr/local/lib64/perl5/Log/Dispatch.pm line 11.
BEGIN failed–compilation aborted at /usr/local/lib64/perl5/Log/Dispatch.pm line 11.
Compilation failed in require at /opt/rt5/sbin/…/lib/RT.pm line 238.
BEGIN failed–compilation aborted at /opt/rt5/sbin/…/lib/RT.pm line 238.
Compilation failed in require at /opt/rt5/sbin/rt-server.fcgi line 86.
[Thu May 19 14:10:35.924325 2022] [fcgid:warn] [pid 13871] (104)Connection reset by peer: [client 190.1.53.11:57658] mod_fcgid: error reading data from FastCGI server
[Thu May 19 14:10:35.924380 2022] [core:error] [pid 13871] [client 190.1.53.11:57658] End of script output before headers: rt-server.fcgi

APACHE Conf

<VirtualHost *:443>
ServerAdmin webmaster@test.io
ServerName rt.test.io
ScriptAlias / /opt/rt5/sbin/rt-server.fcgi/
DocumentRoot “/opt/rt5/share/html”

<Location />
Require all granted
Options +ExecCGI
AddHandler fcgid-script fcgi
</Location>

Does the Perl that RT uses have Sub::Identify installed? Maybe the Apache user can’t access where it is installed if it is installed

yes is installed and rt web run ok on standalone “ej /opt/rt5/sbin/rt-server --port 8081” but no on apache

Can the Apache user access the location of the Perl module(s)?

yes i test that
su - apache -s /bin/bash
then run /opt/rt5/sbin/rt-server --port 8081
no error
only get that error when apache service run rt-server-flgi

i found the problem i dont no why indentify.pm was in
/usr/local/lib64/perl5/x86_64-linux-thread-multi/Sub/Identify.pm
but was wanted in
/usr/local/lib64/perl5/Sub/Identify.pm when run from apache
copy everything that was en /usr/local/lib64/perl5/x86_64-linux-thread-multi/ to
/usr/local/lib64/perl5/ and works…

@mmonsalvo Thanks… I have also tried this solution. It works.

1 Like