Learning Movable Type: A Safe Way to Upgrade to MT 3.3

I posted similar instructions a year ago for upgrading to MT3.2.

Six Apart encourages us to write-over our existing MT files with the new software files in order to upgrade to the new version of software. (As of this writing, there were no specific upgrade instructions for MT3.3 posted at Six Apart. You might want to take a look at the older Installation and Upgrade instructions for MT3.2. 40-plus pages of installation instructions for MT3.3 are available at Movable Type Documentation.) Also review MT3.3 Platform Changes for a list of things that have changed that may cause compatibility issues.

Instead of over-writing existing files, a safer approach is to create a new MT directory. That way if the install doesn't work for some reason, you can revert to using the original mt.cgi path for getting into MT edit. If you have questions regarding your install I encourage you to post them at the MT Support forums.

  1. Do not attempt to do an upgrade late at night when you are about to go to sleep and no one on earth is awake who can help you if you screw up.
  2. There have been some changes to the MT platform, including incompatibility with the BigPAPI plugin. See http://www.sixapart.com/movabletype/docs/3.3/mt33_platform_changes.html for a description of the changes. According to Six Apart, "you should disable BigPAPI and any BigPAPI pluginsfrom the System Overview plugin listing unless you have updated them with a Movable Type 3.3 compatible version." Update any plugins you have installed with their newest MT3.3 compatible versions.
  3. Back up your database. (See Backing Up Your Blog).
  4. Create a new directory on your server for the MT3.3 program files. If your existing MT files are in a directory called "mt", label this new directory something like "mt33" or "mt331", so you can tell the difference.
  5. Download the full version (or upgrade version, they're the same now) of MT3.3 from Six Apart.
  6. Upload the files to the new directory. If your new directory is in the cgi-bin, make sure you upload the mt-static directory outside of the cgi-bin, to somewhere in your public_html directory. Upload the images in the mt-static directory as binary files. Upload all other files as text.
  7. Copy all your plugins to the new plugin directory in the new MT directory. Many plugins also have files outside of the plugin directory (Brad Choate's for example). These can usually be found in the extlib directory. Plugin files can also sometimes be found in the php directory. Copy these from your old MT directory to the new MT directory in the same place - if they are in the extlib directory, copy them to the new extlib directory. Note: do not copy over plugins that exist in the new MT distribution, for example, the no follow plugin.
  8. If you have made custom search templates, copy those over to the new search template directory. If you are planning on using the tags feature in MT3.3, take a look at the new default search template first. There's a new block of code that shows different stuff if visitors are searching for tags and not just content.
  9. Compare your old mt-config.cgi settings to the new settings in mt-config.cgi-original. Using a text editor, like BBEdit, copy the relevant settings over to the new config file. Put your DB password in the new mt-config.cgi-original where indicated. Note that you should have a new cgi path on the config file, as you have put your MT files in a new directory. Also note the default encoding on the new config file (UTF-8). Make sure that it is consistent with the encoding you are already using. If you have changed the names of your comment and trackback cgi files, reflect that in your config file and make sure the new comment and trackback files have the changed names. A complete listing of MT Configuration Directives can be found here. Copy over directives from your old mt-config.cgi file that are not default directives into your new mt-config.cgi-original file. Note that the default directives are no longer listed or commented upon in the new config file.
  10. Change the name of mt-config.cgi-original to mt-config.cgi. Set permissions of the cgi files to 755, with the exception of the mt-config.cgi file. Set the permissions of mt-config.cgi to 644. Note that there is also a .cgi file in the plugins > Style Catcher folder - the stylecatcher.cgi. You will need to set the permissions of this file to 755 as well, if you intend to use this plugin.
  11. Point your web browser to the location of the new mt.cgi file. The program should automatically recognize that you are doing an upgrade and it should prompt you to upgrade. If this doesn't happen, make sure you have done all the previous steps. You might also want to clear your browser cache before pointing to the new mt.cgi file.
  12. Rebuild all of your blogs. If you use dynamic publishing, make absolutely sure that you rebuild the mtview.php (Dynamic Site Bootstrapper) or it will be pointing to the wrong place.
  13. Note that if you are using TypeKey authentication, you will need to do a template refresh of your Site JavaScript template. You can do so from your template listing by selecting the template and then selecting "Refresh Template(s)" from the itemset actions dropdown menu on the right side of the action bar. After you refresh the template, you will need to save and rebuild it.
  14. Once everything is working, remove permissions from your old CGI scripts. After you have completed your upgrade change the permissions of the current mt-upgrade.cgi to 644.

If you would like professional assistance with your Movable Type upgrade or installation, please contact Chad Everett of Everitz Consulting at chad{at}everitz.com for a price quote.

Posted by Elise Bauer on July 14, 2006 4:44 PM to Learning Movable Type http://www.learningmovabletype.com/