Upgrading to RT 4

We've heard a few questions from folks who are confused about upgradingto RT 4. You can upgrade to RT 4 and keep all of your data that you created with your current RT. There are no restrictions on bringing that data forward. If you've made local customizations to RT, you'll need to review those and see if we've added your favorite feature. If you're using extensions, you should check to see if those extensions are available for RT 4.

To learn more about what's new in RT 4, consider joining us at one of our training sessions.

Preparing for your upgrade

While preparing for your upgrade, you should start by reviewing the README file we ship to see if anything has changed since the last time you installed or upgraded RT. You should also review our upgrading docs; there is one such file per major version of RT. You will want to be sure that you read the file for your current version, as well as each following version. If you're upgrading from RT 3.6 to RT 4.0, this means reviewing UPGRADING-3.6 UPGRADING-3.8 and UPGRADING-4.0. These documents are all included in the tarball you downloaded, as well as on github from the links above.

If you're using MySQL and upgrading from RT 3.6 or older, you'll notice that the documentation points you to UPGRADING.mysql. This is a standalone step for MySQL, and you must complete all of the other upgrading steps in addition to the MySQL specific steps. There are no extra steps for PostgreSQL or Oracle which is why we have not included UPGRADING.pg or UPGRADING.oracle files.

Testing your upgrade

We highly recommend that you do a test upgrade. If you're using VMs, you can just snapshot your current RT server and test on that. This will give you a sense of how long your downtime window will be, as well as giving you an opportunity to build a checklist of exact steps for upgrading your specific install of RT. If you're not in a VM, you'll need to find some spare hardware. If you must upgrade on the same hardware, please test your backups.

Now that you have a test system and have extracted the relevant steps from our documentation, you're ready to start migrating. First review the output of ./configure --help and see if you need to change any of the defaults (such as your database name or local users or web handlers). You'll note that we strongly recommend installing into /opt/rt4, not installing over the top of /opt/rt3, since we've removed a number of files and renamed others; things will break if you install over the top of an existing RT with all of its files intact.

Running your upgrade

We recommend that you turn off access to RT during your upgrade. This means taking down your webserver. You may also want to configure your mail transport agent to queue mail rather than trying to deliver while RT is down. Make sure you have a final known-good backup and you're ready to begin the final cutover.

Once you've installed into /opt/rt4 and checked /opt/rt4/etc/RT_SiteConfig.pm to port over your local changes and add any new features you want to take advantage of, you can start on your database migration.

You'll use the rt-setup-database command from step 6 of the README. You may be stopping halfway through to follow the UPGRADING.mysql steps, and then you'll run rt-setup-database again to finish all the steps. The rt-setup-database command takes care of upgrading core

data inside RT, as well as adding new columns and indexes that RT 4 relies on.

After rt-setup-database, you'll run any of the standalone upgrade steps (such as the articles importer if you previously used RTFM, the transactions shrinker or the password upgrader if you haven't installed the previous security updates).

Final upgrade steps

After that, you're ready to review the web deployment documentation and update your current Apache configuration or switch to one of the other systems we support.

After you've completed your upgrade, you may need to reroute your mail (if you've changed server names or actual servers) and ensure that any cron jobs are running successfully.

If you're having any trouble, please post to the mailing list with details of the errors you're encountering. If you need professional support, don't hesitate to drop us a line at sales@bestpractical.com.

Share this post: