Upgrade RT 3.6.7 to 3.8.8 - Debian 5.0(lenny) to 6.0(squeeze)
Procedure that worked for me(upgrade from RT 3.6.7 with MySQL on debian Lenny 5.0, to RT 3.8.8 on Debian Squeeze 6.0 with MySQL):
First backup.
Upgrade lenny to squeeze as usual.
Then
apt-get install request-tracker3.8 rt3.8-db-mysql
Use the same name(as previously used) for instance, and choose no for dbconfig.
Copy needed configuration snippets from /etc/request-tracker3.6/RT_SiteConfig.d/ to /etc/request-tracker3.8/RT_SiteConfig.d/ directory.
Remove old RT with:
apt-get --purge remove request-tracker3.6 rt3.6-clients rt3.6-db-sqlite rt3.6-apache2
Run
update-rt-siteconfig to refresh RT_SiteConfig.pm.
Then we should upgrade database with:
/usr/sbin/rt-setup-database-3.8 --action upgrade --dba rtuser --dba-password
Important: choose versions from 3.6.7 to 3.7.87.
Afterwards do
perl /usr/share/request-tracker3.8/etc/upgrade/upgrade-mysql-schema.pl rtdb rtuser 'yourRTuserpassword' > queries.sql
mysql -u rtuser -p rtdb < queries.sql
This can take some time to run if your database is large, so be patient.
Then again run:
/usr/sbin/rt-setup-database-3.8 --action upgrade --dba rtuser --dba-password
this time choose version from 3.8.0 till the end.
Then configure apache, something like
Include /etc/request-tracker3.8/apache2-modperl2.conf
RedirectMatch ^/$ /rt
in /etc/apache2/sites-available/default.
And add a permission to listen on ip address rt is on, in apache2-modperl2.conf, after 127.0.0.1, like:
<Location /rt/REST/1.0/NoAuth>
Order Allow,Deny
Allow from 127.0.0.1
Allow from x.x.x.x
</Location>
Restart apache.
Voila! That should do it!