From: Johnny Rose Carlsen johnny.c@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