[rt-users] Problems with Perl modules on CentOS

Ram ram0502 at gmail.com
Thu Jun 20 12:09:01 EDT 2013


Date: Thu, 20 Jun 2013 10:26:21 +0700

> From: Johnny Rose Carlsen <johnny.c at aware.co.th>
> Dear List,
>
> I have been running a few RT 3/4 systems on CentOS 5/6 for the last 3
> years and have had many issues maintaining them.
>
> A lot of the required Perl modules used by RT are not provided by the
> standard CentOS repositories (including EPEL and RPMForge), which means
> they will get installed using CPAN.
>
> Some of the modules from CPAN then requires newer versions of modules
> that was installed by RPM. So in some situations I end up with a module
> being managed by both CPAN and RPM (CPAN for the newest version, RPM
> because of other RPM dependencies).
>
> Everything usually ends up working somehow, but only until it is time to
> update the server (yum update) or RT - which causes everything to break.
>
> I have read the wiki about how other people handle RT on CentOS, but I
> can't see any guides who actually solves this problem.
>
> Am I missing something? or should I just be using a different distribution?
>
> Which distribution seems to work best with RT? - I'd like to completely
> avoid installing stuff using CPAN.


I run rt4 on centos. IMO the best way to handle it is to use CPAN in a
pre-production environment and have it install into a local user folder and
that tar up that folder and stuff it into production. The install only the
base perl modules for our distro using packages - all the RT specific stuff
is pulled in via CPAN. The reasons for this decision included:
-some modules need to be complied and as a matter of policy we don't put
compilers on production boxes
-we run multiple vhosts and they might have different perl dependencies
-we could not find all the CPAN modules we needed packaged already

To go down this path you will have to set envs accordingly for httpd, any
cron-jobs, as well as any user accounts where you want to use the RT
command-line tools.

In the httpd conf for my rt4 vhost I have:

        SetEnv          PERL5LIB /srv/httpd/
example.com/perl/lib:/srv/httpd/example.com/perl/lib/perl5

        FastCgiServer
/srv/httpd/example.com/rt-4.0.2/sbin/rt-server.fcgi-processes 5
-idle-timeout 300 -initial-env PERL5LIB=/srv/httpd/
example.com/perl/lib:/srv/httpd/example.com/perl/lib/perl5


In the crontab for the user that runs rt cron jobs (e.g.rt-email-digest)
one of the first lines is:
PERL5LIB=/srv/httpd/
example.com/perl/lib:/srv/httpd/example.com/perl/lib/perl5

In the env for any user that wants to run rt tools (like rt and
rt-shredder):
PERL5LIB=/srv/httpd/
example.com/perl/lib:/srv/httpd/example.com/perl/lib/perl5

You will have to configure CPAN to install into the private dir - see
http://www.perlmonks.org/?node_id=630026

cheers
ram
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.bestpractical.com/pipermail/rt-users/attachments/20130620/17028b36/attachment.htm>


More information about the rt-users mailing list