Trouble/Error with Web deployment CentOS/httpd/mod_fcgid

classic Classic list List threaded Threaded
36 messages Options
12
Reply | Threaded
Open this post in threaded view
|

Trouble/Error with Web deployment CentOS/httpd/mod_fcgid

dwdixon
This post was updated on .
I've installed RT/RT-IR and been using it to test by executing rt-server in stand alone "mode", however I need to get RT/RT-IR working with httpd/apache and after looking through all the documentation and being overwhelmed by far too many options it seems that the best fit for me is to use mod-fcgid.  I'm running CentOS 7 and httpd/apache 2.4.6 with RT 4.2.12 currently......I've followed the the documentation here:

https://www.bestpractical.com/docs/rt/4.2/web_deployment.html#mod_fcgid

I've added the FcgidMaxRequestLen & FcgidBusyTimeout settings *see configs below*....but when I start httpd and attempt to browse to RT in my web browser I get Internal Server Error 500 and this in the apache/httpd logs...I'm stuck at this point...I'm not an Apache/httpd configuration expert especially when modules are involved so I would GREATLY appreciate any and all help:

***************************************************************************
Can't locate UNIVERSAL/require.pm in @INC (@INC contains: /opt/rt4/sbin/../local/lib /opt/rt4/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 /opt/rt4/sbin/../lib/RT.pm line 60.
BEGIN failed--compilation aborted at /opt/rt4/sbin/../lib/RT.pm line 60.
Compilation failed in require at /opt/rt4/sbin/rt-server.fcgi line 86.
***************************************************************************


**********************************************************************************
# Contents of:  /etc/httpd/conf.d/rt.conf

<VirtualHost rt-ir-dev.xx.xx.xx.edu>
        ### Optional apache logs for RT
        # Ensure that your log rotation scripts know about these files
        # ErrorLog /opt/rt4/var/log/apache_access
        # TransferLog /opt/rt4/var/log/apache_access
        # LogLevel info

        AddDefaultCharset UTF-8

        ScriptAlias / /opt/rt4/sbin/rt-server.fcgi/

        DocumentRoot "/opt/rt4/share/html"
        <Location />

            Require all granted

            Options +ExecCGI
            AddHandler fcgid-script fcgi
        </Location>
</VirtualHost>
*******************************************************************************
# Contents of /etc/httpd/conf.d/fcgid.conf

 # This is the Apache server configuration file for providing FastCGI support
# through mod_fcgid
#
# Documentation is available at
# http://httpd.apache.org/mod_fcgid/mod/mod_fcgid.html

# Use FastCGI to process .fcg .fcgi & .fpl scripts
AddHandler fcgid-script fcg fcgi fpl

# Sane place to put sockets and shared memory file
FcgidIPCDir /run/mod_fcgid
FcgidProcessTableFile /run/mod_fcgid/fcgid_shm

# Increase maximum request size per RT/RT-IR docs:
# https://www.bestpractical.com/docs/rt/4.2/web_deployment.html#mod_fcgid
# - added by me

FcgidMaxRequestLen 1073741824

# Increase script execution timeout duration - added by me
FcgidBusyTimeout 600
***************************************************************************

Thank you!

-Drew

Reply | Threaded
Open this post in threaded view
|

Re: Trouble/Error with Web deployment httpd/apache/mod_fcgid

Gerald Jimenez
I have the exact same problem with centos 7



On Mon, Nov 23, 2015 at 11:02 AM, dwdixon <[hidden email]> wrote:
I've installed RT/RT-IR and been using it to test by executing rt-server in
stand alone "mode", however I need to get RT/RT-IR working with httpd/apache
and after looking through all the documentation and being overwhelmed by far
too many options it seems that the best fit for me is to use mod-fcgid.  I'm
running CentOS on httpd/apache 2.4.6 and RT 4.2.12 currently......I've
followed the the documentation here:

https://www.bestpractical.com/docs/rt/4.2/web_deployment.html#mod_fcgid

I've added the FcgidMaxRequestLen & FcgidBusyTimeout settings *see configs
below*....but when I start httpd and attempt to browse to RT in my web
browser I get Internal Server Error 500 and this in the apache/httpd
logs...I'm stuck at this point...I'm not an Apache/httpd configuration
expert especially when modules are involved so I would GREATLY appreciate
any and all help:

****************************************************************************
Can't locate UNIVERSAL/require.pm in @INC (@INC contains:
/opt/rt4/sbin/../local/lib /opt/rt4/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
/opt/rt4/sbin/../lib/RT.pm line 60.
BEGIN failed--compilation aborted at /opt/rt4/sbin/../lib/RT.pm line 60.
Compilation failed in require at /opt/rt4/sbin/rt-server.fcgi line 86.
****************************************************************************

**********************************************************************************
# Contents of:  /etc/httpd/conf.d/rt.conf

<VirtualHost rt-ir-dev.xx.xx.xx.edu>
        ### Optional apache logs for RT
        # Ensure that your log rotation scripts know about these files
        # ErrorLog /opt/rt4/var/log/apache_access
        # TransferLog /opt/rt4/var/log/apache_access
        # LogLevel info

        AddDefaultCharset UTF-8

        ScriptAlias / /opt/rt4/sbin/rt-server.fcgi/

        DocumentRoot "/opt/rt4/share/html"
        <Location />

            Require all granted

            Options +ExecCGI
            AddHandler fcgid-script fcgi
        </Location>
</VirtualHost>
*******************************************************************************
# Contents of /etc/httpd/conf.d/fcgid.conf

 # This is the Apache server configuration file for providing FastCGI
support
# through mod_fcgid
#
# Documentation is available at
# http://httpd.apache.org/mod_fcgid/mod/mod_fcgid.html

# Use FastCGI to process .fcg .fcgi & .fpl scripts
AddHandler fcgid-script fcg fcgi fpl

# Sane place to put sockets and shared memory file
FcgidIPCDir /run/mod_fcgid
FcgidProcessTableFile /run/mod_fcgid/fcgid_shm

# Increase maximum request size per RT/RT-IR docs:
# https://www.bestpractical.com/docs/rt/4.2/web_deployment.html#mod_fcgid
# *- added by me*

FcgidMaxRequestLen 1073741824

# Increase script execution timeout duration *- added by me*
FcgidBusyTimeout 600
***************************************************************************

Thank you!

-Drew





--
View this message in context: http://requesttracker.8502.n7.nabble.com/Trouble-Error-with-Web-deployment-httpd-apache-mod-fcgid-tp60979.html
Sent from the Request Tracker - User mailing list archive at Nabble.com.

Reply | Threaded
Open this post in threaded view
|

Re: Trouble/Error with Web deployment httpd/apache/mod_fcgid

dwdixon
Hi Gerald....I can confirm I am also running this on CentOS 7....maybe that was a mistake or maybe someone can help us out with getting this resolved...I certainly hope the latter is the case!  Thanks in advance to anyone who can help us out here...
Reply | Threaded
Open this post in threaded view
|

Re: Trouble/Error with Web deployment httpd/apache/mod_fcgid

Daniel Schwager
Hi,

maybe you will try to use a separate perl installation?

https://www.bestpractical.com/docs/rt/4.2.12/rt_perl.html


    #  http://www.cpan.org/src/README.html
    mkdir -p /opt/perl-5.18.4/src
    cd /opt/perl-5.18.4/src
    wget http://www.cpan.org/src/5.0/perl-5.18.4.tar.bz2
    tar -xjf perl-5.18.4.tar.bz2
    cd perl-5.18.4
    CFLAGS='-m64 -mtune=nocona' ./Configure -Dprefix=/opt/perl-5.18.4 -Dusethreads -des -Accflags=-fPIC

    make -j8 install

    ln -sf /opt/perl-5.18.4/ /opt/perl

    emacs -nw /etc/profile
            # perl
            PATH=/opt/perl/bin:$PATH
            export PATH

        # Vereinfachungen
            # Installieren von perl modulen OHNE dauerndes "yes" ...
            # http://stackoverflow.com/questions/898782/how-do-i-tell-cpan-to-install-all-dependencies
            # z.B. durch PERL_MM_USE_DEFAULT=1 perl -MCPAN -e 'install XML::LibXML'
            # oder cpanm:
            curl -L http://cpanmin.us | /opt/perl/bin/perl - --sudo App::cpanminus


export RT_FIX_DEPS_CMD=/opt/perl/bin/cpanm
... go on with the RT installation.

best regards
Danny

P.S.: mod_perl could be a problem - maybe you should use fastcgi instead.


> -----Original Message-----
> From: rt-users [mailto:[hidden email]] On Behalf Of dwdixon
> Sent: Monday, November 23, 2015 5:07 PM
> To: [hidden email]
> Subject: Re: [rt-users] Trouble/Error with Web deployment httpd/apache/mod_fcgid
>
> Hi Gerald....I can confirm I am also running this on CentOS 7....maybe that
> was a mistake or maybe someone can help us out with getting this
> resolved...I certainly hope the latter is the case!  Thanks in advance to
> anyone who can help us out here...
>
>
>
> --
> View this message in context: http://requesttracker.8502.n7.nabble.com/Trouble-Error-with-Web-
> deployment-httpd-apache-mod-fcgid-tp60979p60981.html
> Sent from the Request Tracker - User mailing list archive at Nabble.com.

smime.p7s (3K) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: Trouble/Error with Web deployment httpd/apache/mod_fcgid

Jeremy Mates (インターネット配管工)
* Daniel Schwager <[hidden email]>
>     mkdir -p /opt/perl-5.18.4/src
>     cd /opt/perl-5.18.4/src
>     wget http://www.cpan.org/src/5.0/perl-5.18.4.tar.bz2
>     tar -xjf perl-5.18.4.tar.bz2
>     cd perl-5.18.4
>     CFLAGS='-m64 -mtune=nocona' ./Configure -Dprefix=/opt/perl-5.18.4 -Dusethreads -des -Accflags=-fPIC
>     ...

Perl::Build might simplify some of these steps -

https://metacpan.org/pod/Perl::Build
Reply | Threaded
Open this post in threaded view
|

Re: Trouble/Error with Web deployment httpd/apache/mod_fcgid

Daniel Schwager
> Perl::Build might simplify some of these steps -
> https://metacpan.org/pod/Perl::Build

Cool! - didn't know this way..

Thx
Danny


smime.p7s (3K) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: Trouble/Error with Web deployment httpd/apache/mod_fcgid

dwdixon
In reply to this post by Daniel Schwager
I should also add I'm not a perl expert either, but from what I understand I am using fastcgi am I not?  This all seems a lot more complex than I was hoping, I greatly appreciate the suggestions and help but I don't know that I want use a totally separate perl installation unless absolutely necessary...

What made you suggest that mod_perl is the problem and how can I test that out?

I'm currently running this version of perl:
******************************************************************
Name        : perl
Arch        : x86_64
Epoch       : 4
Version     : 5.16.3
Release     : 285.el7
Size        : 22 M
Repo        : installed
From repo   : base
Summary     : Practical Extraction and Report Language
URL         : http://www.perl.org/
*****************************************************************
Reply | Threaded
Open this post in threaded view
|

Re: Trouble/Error with Web deployment httpd/apache/mod_fcgid

Daniel Schwager

> I should also add I'm not a perl expert either, but from what I understand I
> am using fastcgi am I not?  

I don't know how you connect your apache httpd to rt (-; If you use fastcgi, there's no need for mod_perl.

> This all seems a lot more complex than I was
> hoping, I greatly appreciate the suggestions and help but I don't know that
> I want use a totally separate perl installation unless absolutely
> necessary...

I think, a separate perl installation dedicated(!) for RT is the best way to install RT. Why? Because
the RT installer bypass the rpm package system installing some other perl modules. This could bother you later ...

>
> What made you suggest that mod_perl is the problem and how can I test that
> out?

Did you execute
        make testdeps
in your rt installation directory? Is it clean?

Danny

smime.p7s (3K) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: Trouble/Error with Web deployment httpd/apache/mod_fcgid

dwdixon
In reply to this post by dwdixon
According to the testdeps output it's saying I only need Perl >= 5.10.1, but I also wanted to add that all the dependencies are report as found:

***********************************************************************
perl:
        >=5.10.1(5.16.3) ...found

......SNIP........

        UNIVERSAL::require ...found

......SNIP............

......SNIP.........

FASTCGI dependencies:
        FCGI::ProcManager ...found
        FCGI >= 0.74 ...found

....SNIP..........

All dependencies have been found.
**************************************************************
Reply | Threaded
Open this post in threaded view
|

Re: Trouble/Error with Web deployment httpd/apache/mod_fcgid

Daniel Schwager
> According to the testdeps output it's saying I only need Perl >= 5.10.1, but

> I also wanted to add that all the dependencies are report as found:
>
> ***********************************************************************
> perl:
> *>=5.10.1(5.16.3) ...found*
>
> ......SNIP........
>
> *UNIVERSAL::require ...found*
>
 
> *All dependencies have been found.*
> **************************************************************

OK - could you check (find) where the "UNIVERSAL/require.pm" is inside your perl tree?
E.g. (from my system - seprate perl installation)
        ./lib/perl5/site_perl/5.20.3/UNIVERSAL
        ./lib/perl5/site_perl/5.20.3/UNIVERSAL/require.pm

Should be (or not ;-) somewhere in the pathes below:

Can't locate UNIVERSAL/require.pm in @INC (@INC contains:
/opt/rt4/sbin/../local/lib /opt/rt4/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
/opt/rt4/sbin/../lib/RT.pm line 60.
BEGIN failed--compilation aborted at /opt/rt4/sbin/../lib/RT.pm line 60.
Compilation failed in require at /opt/rt4/sbin/rt-server.fcgi line 86.

regards
Danny

smime.p7s (3K) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: Trouble/Error with Web deployment httpd/apache/mod_fcgid

dwdixon
Thanks much for your continued help with this Danny!  It appears mine is located here:

********************************************************
/root/perl5/lib/perl5/UNIVERSAL
/root/perl5/lib/perl5/UNIVERSAL/require.pm
********************************************************

However, the output results of the find command gave me all these references to "UNIVERSAL":

********************************************************
/root/.cpan/build/UNIVERSAL-require-0.18-iwKUjp/lib/UNIVERSAL
/root/.cpan/build/UNIVERSAL-require-0.18-iwKUjp/blib/lib/UNIVERSAL
/root/.cpan/build/UNIVERSAL-require-0.18-iwKUjp/blib/lib/auto/UNIVERSAL
/root/.cpan/build/UNIVERSAL-require-0.18-iwKUjp/blib/arch/auto/UNIVERSAL
/root/perl5/lib/perl5/x86_64-linux-thread-multi/auto/UNIVERSAL
/root/perl5/lib/perl5/UNIVERSAL
********************************************************

Thoughts, suggestions, recommendations ?

Thank you!

-Drew
Reply | Threaded
Open this post in threaded view
|

Re: Trouble/Error with Web deployment httpd/apache/mod_fcgid

Daniel Schwager
> It appears mine is located here:
>
> ********************************************************
> /root/perl5/lib/perl5/UNIVERSAL
> /root/perl5/lib/perl5/UNIVERSAL/require.pm
> ********************************************************
Hmm - root's home it's not a common location for perl modules (-:

This is the problem - try to reinstall the UNIVERSAL

        perl  -MCPAN   -e 'install "UNIVERSAL"'

regards
Danny

smime.p7s (3K) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: Trouble/Error with Web deployment httpd/apache/mod_fcgid

dwdixon
In reply to this post by dwdixon
Yea, being that this is just a sandbox/dev system for RT/RT-IR it's a bit abnormal in comparison to a production class system...I can't seem to catch any luck here, getting quite the dismal response after executing the command you suggested:

# perl -MCPAN -e 'install "UNIVERSAL"'
Reading '/root/.cpan/Metadata'
  Database was generated on Mon, 23 Nov 2015 08:53:40 GMT
Running install for module 'UNIVERSAL'
The most recent version "1.12" of the module "UNIVERSAL"
is part of the perl-5.22.0 distribution. To install that, you need to run
  force install UNIVERSAL   --or--
  install R/RJ/RJBS/perl-5.22.0.tar.bz2
Running make test
  Can't test without successful make
Running make install
  Make had returned bad status, install seems impossible               # lol....
**********************************************************************

   
Reply | Threaded
Open this post in threaded view
|

Re: Trouble/Error with Web deployment httpd/apache/mod_fcgid

Daniel Schwager
In reply to this post by Daniel Schwager
Please check this Link:
        Perl Modules installed in the wrong place
        https://www.centos.org/forums/viewtopic.php?f=48&t=49865


Maybe it's your issue ..

regards
Danny



> -----Original Message-----
> From: rt-users [mailto:[hidden email]] On Behalf Of Daniel Schwager
> Sent: Monday, November 23, 2015 7:32 PM
> To: 'dwdixon'; '[hidden email]'
> Subject: Re: [rt-users] Trouble/Error with Web deployment httpd/apache/mod_fcgid
>
> > It appears mine is located here:
> >
> > ********************************************************
> > /root/perl5/lib/perl5/UNIVERSAL
> > /root/perl5/lib/perl5/UNIVERSAL/require.pm
> > ********************************************************
> Hmm - root's home it's not a common location for perl modules (-:
>
> This is the problem - try to reinstall the UNIVERSAL
>
> perl  -MCPAN   -e 'install "UNIVERSAL"'
>
> regards
> Danny

smime.p7s (3K) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: Trouble/Error with Web deployment httpd/apache/mod_fcgid

Bill Cole-8
In reply to this post by dwdixon
On 23 Nov 2015, at 11:02, dwdixon wrote:

> I'm not an Apache/httpd configuration
> expert especially when modules are involved so I would GREATLY
> appreciate
> any and all help:
>
> ****************************************************************************
> Can't locate UNIVERSAL/require.pm in @INC (@INC contains:
> /opt/rt4/sbin/../local/lib /opt/rt4/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
> /opt/rt4/sbin/../lib/RT.pm line 60.
> BEGIN failed--compilation aborted at /opt/rt4/sbin/../lib/RT.pm line
> 60.
> Compilation failed in require at /opt/rt4/sbin/rt-server.fcgi line 86.
> ****************************************************************************

As others have noted, using CPAN on CentOS 7 can be sketchy. It's very
easy to be drawn into installing modules locally under /root/perl5/
where normal Perl programs won't ever see them or clobbering files owned
by yum-installed packages. Care is needed...

For the immediate issue, you can resolve the problem by enabling the
EPEL repository for yum (see https://fedoraproject.org/wiki/EPEL) and
installing the needed module:

        yum install perl-UNIVERSAL-require

HOWEVER, since you have had stuff installed (presumably by CPAN and a
local::lib configuration) in a private place only for use by root with
suitable variables in the environment, you probably want to fix that[1]
and install everything possible for RT via yum, filling in whatever is
missing with CPAN *NOT* using a private module tree. I recently did this
for a RT4.4rc1 install on CentOS 7 by massaging the output of "make
testdeps" into a whopping huge yum command[2]:

        make testdeps  |fgrep MISSING |egrep -v ' (owner|group) |>=5\.10\.'|awk
'{print $1}'|sort -u |sed 's/::/-/g'|sed 's/^/perl-/'| xargs -rt yum
list|grep '^perl-' |awk '{print $1}' |xargs -rt yum install -y

Following that (go get a cup of coffee, it will be a while...) you MAY
still have unmet dependencies, since RT demands various modules and
versions of modules that the EPEL and "base" repos don't have. Those can
be installed from CPAN (or 'make fixdeps') after "yum erase"-ing any
too-old versions that were installed with yum.


FOOTNOTES:

[1] Wipe the private tree for root:

                rm -rf /root/perl5/

     Remove any lines from /root/.bashrc or /root/.bash_profile like
these
     which set up the relevant environment variables for local::lib :

                export PERL_LOCAL_LIB_ROOT="$PERL_LOCAL_LIB_ROOT:/root/perl5";
                export PERL_MB_OPT="--install_base /root/perl5";
                export PERL_MM_OPT="INSTALL_BASE=/root/perl5";
                export PERL5LIB="/root/perl5/lib/perl5:$PERL5LIB";
                export PATH="/root/perl5/bin:$PATH";


[2] ARE YOU CRAZY? Don't just run that because I said so! Be sure you
understand what it DOES! Test it by breaking the pipeline before that
last xargs and see if what it's going to install seems sane FOR YOUR
SYSTEM.
Reply | Threaded
Open this post in threaded view
|

Re: Trouble/Error with Web deployment httpd/apache/mod_fcgid

dwdixon
This post was updated on .
In reply to this post by Daniel Schwager
This was sort of the problem....basically I installed many Perl modules via cpanm and apparently that's a problem in certain circumstances which I'm not totally sure about at this time.  To fix this error I installed the CentOS @epel repo version of a few packages:

perl-UNIVERSAL-require.noarch..........0.13-12.el7.........@epel          
perl-Log-Dispatch.noarch.................... 2.41-1.el7.1........@epel                

These are from @epel (as shown above) but now I'm stuck with an error based on a perl module that does not have a package published in the epel repo:

*************************************************************************
Can't locate Symbol/Global/Name.pm in @INC (@INC contains: /root/perl5/lib/perl5/ /opt/rt4/sbin/../local/lib /opt/rt4/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 /opt/rt4/sbin/../lib/RT/Config.pm line 57.
BEGIN failed--compilation aborted at /opt/rt4/sbin/../lib/RT/Config.pm line 57.
Compilation failed in require at /opt/rt4/sbin/../lib/RT.pm line 159.
*************************************************************************


After getting this I searched the repo's for this package, I found and installed this one:

perl-Symbol-Util.noarch             0.0203-4.el7               @epel

But this did nothing for me and doesn't seem to be what RT/Perl/httpd wants.....So...It looks like I will have to build a package for the module "Symbol::Global::Name" that I can install with yum......I tried the hacked up solution suggested in the blog post you referenced, the OP said in the quote below that this fixed it for him but I had no luck, it's a hacked in solution anyhow....

"I fixed the issue by adding the following line in ther perl script before any 'use' command."

use lib "/root/perl5/lib/perl5/" ;

Looks like your suggestion of installing a separate instance of perl that's dedicated to RT is making more and more sense the deeper down the rabbit hole that I travel....I'm afraid that if I install a new separate instance of perl it will break even more things since I suppose I probably have to recompile RT after doing so and I don't want to lose the configuration state of RT/RT-IR.....

I just saw Bill Cole's reply and it is EXCELLENT!!! I'm still re-reading to comprehend but Bill if you get this reply I was drafting prior to seeing your response so if you need to update your great info based on what I've said here I'd be very grateful!!

-Drew
Reply | Threaded
Open this post in threaded view
|

Re: Trouble/Error with Web deployment httpd/apache/mod_fcgid

dwdixon
In reply to this post by Bill Cole-8
Hi Bill/All,

I did as you suggested (wiping the private tree for root) then I tested out your command by removing the last xargs statement and running it, the output was null...got nothing back....this is what I ran:

make testdeps  |fgrep MISSING |egrep -v ' (owner|group) |>=5\.10\.'|awk '{print $1}'|sort -u |sed 's/::/-/g'|sed 's/^/perl-/'| xargs -rt yum list|grep '^perl-' |awk '{print $1}'

It spit out a sizable list of packages so I then completed the full command by adding the last xargs statement back....it installed around 41 packages but upon re-running make testdeps afterwards there are still a LOT of missing dependencies....make fixdeps is doing its lame looping thing again afterwards so I halted that...here is a list of everything I'm missing after running your full command, looks like I'll have to install all of these manually with CPAN/cpanm then?  Which is fine since I did it before but just thought there may be less than this?... Also I noticed the error at the bottom...is that normal?  "make: *** [testdeps] Error 1"  ?

***********************************************************
# make testdeps  |fgrep MISSING
        Text::Password::Pronounceable ...MISSING
        Tree::Simple >= 1.04 ...MISSING
        HTML::Mason >= 1.43 ...MISSING
        Symbol::Global::Name >= 0.04 ...MISSING
        DateTime::Format::Natural >= 0.67 ...MISSING
        Text::Wrapper ...MISSING
        Regexp::Common::net::CIDR ...MISSING
        Date::Extract >= 0.02 ...MISSING
        HTML::Mason::PSGIHandler >= 0.52 ...MISSING
        MIME::Entity >= 5.504 ...MISSING
        Locale::Maketext::Lexicon >= 0.32 ...MISSING
        Role::Basic >= 0.12 ...MISSING
        HTML::RewriteAttributes >= 0.05 ...MISSING
        Locale::Maketext::Fuzzy >= 0.11 ...MISSING
        Email::Address::List >= 0.02 ...MISSING
        Plack::Handler::Starlet ...MISSING
        PerlIO::eol ...MISSING
        GnuPG::Interface ...MISSING
        Data::ICal ...MISSING
        Crypt::X509 ...MISSING
        Convert::Color ...MISSING
SOME DEPENDENCIES WERE MISSING.
        Data::ICal ...MISSING
        Crypt::X509 ...MISSING
        Convert::Color ...MISSING
        PerlIO::eol ...MISSING
        GnuPG::Interface ...MISSING
        HTML::Mason >= 1.43 ...MISSING
        MIME::Entity >= 5.504 ...MISSING
        HTML::Mason::PSGIHandler >= 0.52 ...MISSING
        Date::Extract >= 0.02 ...MISSING
        Symbol::Global::Name >= 0.04 ...MISSING
        DateTime::Format::Natural >= 0.67 ...MISSING
        Locale::Maketext::Lexicon >= 0.32 ...MISSING
        Role::Basic >= 0.12 ...MISSING
        Locale::Maketext::Fuzzy >= 0.11 ...MISSING
        Email::Address::List >= 0.02 ...MISSING
        Text::Password::Pronounceable ...MISSING
        Text::Wrapper ...MISSING
        Regexp::Common::net::CIDR ...MISSING
        HTML::RewriteAttributes >= 0.05 ...MISSING
        Tree::Simple >= 1.04 ...MISSING
        Plack::Handler::Starlet ...MISSING
make: *** [testdeps] Error 1
***********************************************************

Thank you!

-Drew
Reply | Threaded
Open this post in threaded view
|

Re: Trouble/Error with Web deployment httpd/apache/mod_fcgid

dwdixon
Sorry correction to my last reply it came back null only before I wiped the private tree for root....my mistake I meant to remove that part of my last reply....the output shown in my last reply of make testdeps is the output after I had wiped the private tree of root and ran your full command.  Apologies for any confusion.
Reply | Threaded
Open this post in threaded view
|

Re: Trouble/Error with Web deployment httpd/apache/mod_fcgid

Bill Cole-8
On 23 Nov 2015, at 17:03, dwdixon wrote:

> Sorry correction to my last reply it came back null only *before* I
> wiped the
> private tree for root....my mistake I meant to remove that part of my
> last
> reply....the output shown in my last reply of make testdeps is the
> output
> after I had wiped the private tree of root and ran your full command.
> Apologies for any confusion.

I'm guessing those environment variables are still set in your current
shell, which will mess up fixdeps/testdeps as well as CPAN. SO:

        unset PERL_LOCAL_LIB_ROOT PERL_MB_OPT PERL_MM_OPT PERL5LIB

That should make anything you do stop looking in /root/perl5/

I'm unsure what the issue is with fixdeps...
Reply | Threaded
Open this post in threaded view
|

Re: Trouble/Error with Web deployment httpd/apache/mod_fcgid

Bill Cole-8
In reply to this post by dwdixon
On 23 Nov 2015, at 15:57, dwdixon wrote:

> This was sort of the problem....basically I installed many Perl
> modules via
> cpanm and apparently that's a problem in certain circumstances which
> I'm not
> totally sure about at this time.  To fix this error I installed the
> CentOS
> @epel repo version of a few packages:
>
> perl-UNIVERSAL-require.noarch..........0.13-12.el7.........@epel
> perl-Log-Dispatch.noarch.................... 2.41-1.el7.1........@epel
>
> These are from @epel (as shown above) but now I'm stuck with an error
> based
> on a perl module that does not have a package published in the epel
> repo:
>
> **************************************************************************
> Can't locate /Symbol/Global/Name.pm/ in @INC (@INC contains:
> /root/perl5/lib/perl5/ /opt/rt4/sbin/../local/lib /opt/rt4/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
> /opt/rt4/sbin/../lib/RT/Config.pm line 57.
> BEGIN failed--compilation aborted at /opt/rt4/sbin/../lib/RT/Config.pm
> line
> 57.
> Compilation failed in require at /opt/rt4/sbin/../lib/RT.pm line 159.
> **************************************************************************
>
> After getting this I searched the repo's for this package, I found and
> installed this one:
>
> perl-Symbol-Util.noarch             0.0203-4.el7               @epel
>
> But this did nothing for me and doesn't seem to be what RT/Perl/httpd
> wants.....

Right. If there was a package for the EL7 distro family that gave you
just the Symbol::Global::Name module, its base name would be
perl-Symbol-Global-Name, and if that module were part of a larger
package it would probably be perl-Symbol-Global or perl-Symbol.

BUT: the way to find a specific-file dependency with yum is the
'provides' command:

        [root@requesttracker ~]# yum provides */Symbol/Global/Name.pm
        Loaded plugins: fastestmirror, langpacks
        Loading mirror speeds from cached hostfile
         * base: mirrors.tripadvisor.com
         * epel: mirror.cogentco.com
         * extras: centos.firehosted.com
         * remi: remi.check-update.co.uk
         * remi-safe: remi.check-update.co.uk
         * updates: bay.uchicago.edu
        No matches found

Oh well... that is why I used CPAN on that machine (via 'make fixdeps')
to install Symbol::Global::Name.

> So...It looks like I will have to build a package for the module
> "Symbol::Global::Name" that I can install with yum......I tried the
> hacked
> up solution suggested in the blog post you referenced, the OP said in
> the
> quote below that this fixed it for him but I had no luck, it's a
> hacked in
> solution anyhow....
>
> "I fixed the issue by adding the following line in ther perl script
> before
> any 'use' command."
>
> use lib "/root/perl5/lib/perl5/" ;

Smart choice. That's not maintainable for RT. Also: won't work unless
you disable or reconfigure SELinux and open up /root/perl5/ to the
apache user, which would be generally unwise things to do.

> Looks like your suggestion of installing a separate instance of perl
> that's
> dedicated to RT is making more and more sense the deep down the rabbit
> hole
> that I travel....I'm afraid that if I install a new separate instance
> of
> perl it will break even more things since I suppose I probably have to
> recompile RT after doing so and I don't want to lose the configuration
> state
> of RT/RT-IR.....
>
> I just saw Bill Cole's reply and it is EXCELLENT!!! I'm still
> re-reading to
> comprehend but Bill if you get this reply I was drafting prior to
> seeing
> your response so if you need to update your great info based on what
> I've
> said here I'd be very grateful!!

Well, in looking at it again I think maybe I should have also noted that
those PERL* variables set in either .bashrc or .bash_profile will stay
with any shell launched with them set and its offspring, so you will
want to log out and back in after fixing the files or:

        unset PERL_LOCAL_LIB_ROOT PERL_MB_OPT PERL_MM_OPT PERL5LIB

*BEFORE* trying to install anything with CPAN or RT's make fixdeps.

And a bit of background: if you install a Perl module using yum from the
Base or EPEL repos, it may install pieces under any of the 6 roots shown
by 'perl -V' depending on the mood of some junior RedHat intern on a
random Tuesday in 1997. Mostly they SHOULD stay out of the /usr/local
ones and only get 64-bit-specific things in the lib64 ones. There's also
supposedly "logic" determining what does and doesn't go in vendor_perl
but it's not obvious. If you install using CPAN in a pristine (no PERL*
variables) environment, you should get a bit better determinism, since
the vendor_perl roots should be avoided entirely and /usr/local/* should
be the only place anything lands. However, if you let CPAN *upgrade*
modules already installed as part of the canonical Perl base (i.e. not
"local" or "vendor_perl") it *might* clobber files that the RPM/yum
subsystem believes belong to particular packages and expect have
particular checksums. Hilarity (or something akin to it...) shall ensue
when you try to upgrade those with yum. On the other hand, it SHOULD
just install under /usr/local and override the system version at
runtime. I don't suggest relying on that.

SO: you don't actually need to build a special Perl for RT. but the
alternative is to be careful about how you install Perl modules. Check
yum first for dependencies, and install from the Base or EPEL repos if
they have what you need in the correct version. If you need a module not
in those repos, use CPAN. If you need a different version that what yum
has already installed, remove it first before installing from CPAN. Note
that RT's 'make fixdeps' always installs from CPAN. Note that you could
also ONLY use CPAN to maintain a unified Perl world, but that is a
hassle: worse than either a blended yum+CPAN world or 2 distinct worlds.
12