Upgrading RT while moving to diff. directory at same time

I currently have RT 3.4.5 on a Fedora Core 4 box. I am using the
Apache, perl, mod_perl and rt RPMs that were available at the time the
box was set up.

I was hoping to do a quick upgrade to 3.6.3, this time built from
source. I tried:

  • Backup database
  • Configure rt 3.6.3 with an install prefix of /usr/local/rt-3.6.3 and
    the same db connection info (so no conflict with the existing rt
    install location).
  • Run all of the necessary database upgrades from 3.4.5 to 3.6.3 (there
    was only one content one since I use mysql)
  • Update the web server’s config by having it load
    /usr/local/rt3/bin/webmux.pl instead of the old location.
  • Restart web server

When I do this, I was getting Mason errors in my /var/log/messages that
looked like this:

Jul 2 15:53:52 it RT: [Mason] Cannot resolve file to component:
/usr/local/rt-3.6.3/share/html/index.html (is file outside component
root?) at /usr/lib
/perl5/site_perl/5.8.5/HTML/Mason/ApacheHandler.pm line 844.
(/usr/lib/perl5/site_perl/5.8.5/HTML/Mason/ApacheHandler.pm:844)
Jul 2 15:53:56 it RT: [Mason] Cannot resolve file to component:
/usr/local/rt-3.6.3/share/html/index.html (is file outside component
root?) at /usr/lib
/perl5/site_perl/5.8.5/HTML/Mason/ApacheHandler.pm line 844.
(/usr/lib/perl5/site_perl/5.8.5/HTML/Mason/ApacheHandler.pm:844)
Jul 2 15:54:42 it RT: [Mason] Cannot resolve file to component:
/usr/local/rt-3.6.3/share/html/index.html (is file outside component
root?) at /usr/lib
/perl5/site_perl/5.8.5/HTML/Mason/ApacheHandler.pm line 844.
(/usr/lib/perl5/site_perl/5.8.5/HTML/Mason/ApacheHandler.pm:844)

This immediately struck me as odd because the Perl on this machine is
5.8.6 not 5.8.5. I thought maybe HTML::Mason needed to be upgraded, so
I upgraded to the latest version of it from CPAN. Restarted web
server. Now I am getting:

Jul 2 15:59:50 it RT: [Mason] Cannot resolve file to component:
/usr/local/rt-3.6.3/share/html/index.html (is file outside component
root?) at /usr/lib
/perl5/site_perl/5.8.6/HTML/Mason/ApacheHandler.pm line 853.
(/usr/lib/perl5/site_perl/5.8.6/HTML/Mason/ApacheHandler.pm:853)
Jul 2 16:00:11 it RT: [Mason] Cannot resolve file to component:
/usr/local/rt-3.6.3/share/html/index.html (is file outside component
root?) at /usr/lib
/perl5/site_perl/5.8.6/HTML/Mason/ApacheHandler.pm line 853.
(/usr/lib/perl5/site_perl/5.8.6/HTML/Mason/ApacheHandler.pm:853)
Jul 2 16:00:12 it RT: [Mason] Cannot resolve file to component:
/usr/local/rt-3.6.3/share/html/index.html (is file outside component
root?) at /usr/lib
/perl5/site_perl/5.8.6/HTML/Mason/ApacheHandler.pm line 853.
(/usr/lib/perl5/site_perl/5.8.6/HTML/Mason/ApacheHandler.pm:853)

So it seems to be using the newer Mason version, but we still have the
same problem. Why would Mason be getting confused about its component
root? Here’s my rt.conf in the Apache conf.d directory:

<VirtualHost *:80>
ServerName rt
DocumentRoot /usr/local/rt-3.6.3/share/html
AddDefaultCharset UTF-8
PerlModule Apache::DBI
PerlRequire /usr/local/rt-3.6.3/bin/webmux.pl

SetHandler perl-script PerlHandler RT::Mason

Anyone see any obvious errors here that would confuse Mason as to where
its component root is?

Fran Fabrizio
Senior Systems Analyst
Department of Computer and Information Sciences
University of Alabama at Birmingham

205.934.0653