Install Movable Type 4 in Yahoo! Small Business

While it seems that the Yahoo! Small Business web hosting packages continue to offer Movable Type as an option, and there has been some talk about Yahoo! not supporting MT4, while Six Apart doesn’t really seem to support MT4 at Yahoo!

Nice, huh? So what are you to do? Or more specifically, what am I to do when I have clients clamoring for MT4 and they are on the Small Business package? I have to figure out a way to make it work. Unfortunately, neither Six Apart nor Yahoo! makes it easy. The good news is that it’s quite possible, once you know what you need. The first suggestion that I have – don’t read that long letter that you’ll get from Yahoo!, as it won’t help tell you what you need to know.

You will need to get a copy of MT4. Go on, I’ll wait. Got it? Good. Now go get an FTP program too. If you don’t have one, try WinSCP because it works really well. Got it? Good. Now just one more thing – you need to be able to unpack your distribution. I like WinRAR here, but WinZIP or something should work too. Got it too? Good. Now you’re ready to proceed.

First, unpack MT4 to someplace you can find it. You can put it wherever you like, so long as you’ll be able to find it again. When you do, you’ll get a directory named something like MT-4.01-en. You need to rename this directory to whatever the name is where you currently have MT installed on your small business account. That is, where you log into MT – chances are this is probably going to be blog-mt. If you don’t have MT installed already, you’ll need to do it first, because I have not been able to get this to work without first having Yahoo! work some magic behind the scenes (I don’t know what it is, either).

Now you need to log into your account at Yahoo! to perform a few tasks. Go to the Web Hosting Control Panel and select Create & Update, then select MySQL Database. We need to do two things here – first set up an administrator password, then install phpMyAdmin.

The first step is to assign a password. Select Database Administrator, then a user from the drop-down list (if you have no users, create one). This drop-down is probably just one name, but if there is more than one, make sure you remember the one you select as you’ll need it later. Then assign a password to the user. Make sure you assign a good password. If you need help, try the random string generator. I generally create 16-character passwords with numbers, uppercase and lowercase letters. But that’s me. You can make it whatever you like.

Once you save your password, select Install Admin Tool. You need to agree to the license agreement. Then create a new directory, and click Install phpMyAdmin next to that directory. Very soon thereafter you are presented with a screen that gives you a link to your newly installed copy of phpMyAdmin – make sure you save this link so you can get to it, because you’ll need it.

In fact, you need it right now. Open phpMyAdmin in Internet Explorer. Though the standard phpMyAdmin works fine in Firefox and other browsers, the Small Business version does not, so you must open it in Internet Explorer. Don’t forget or you’ll be left wondering why it’s not working. Trust me on this one.

Once you do, you need to select your existing Movable Type database from the drop-down in the left column. By default, this is blog-mt. I don’t think that there is any way to change this name, but if there is, you’ll know it, so you need to select the name you changed it to instead.

After the database loads, select the Operations tab and locate the Copy Database To section towards the bottom of the page. Enter the name of the new database (we’re copying here, so that we don’t make a mess of our existing database). It doesn’t really matter what you call the new database, but you’ll probably want to make it meaningful. For our example, let’s go with mt4. The default should be to have Structure and data and CREATE DATABASE before copying selected. If not, select them now. Then click Go.

Now you have a brand-spanking new copy of your database to play with.

Load up WinSCP – or whatever FTP program you have chosen – and connect to your FTP account. The first thing you want to do is rename the existing blog directory (by default, blog-mt) to something else. Again, it doesn’t matter what you name it, but make it meaningful. Let’s go with blog-mt3 for now. Then upload the contents of your new MT4 installation that you saved earlier to that location. When it’s done, you should have two MT directories – blog-mt (the new one) and blog-mt3 (the old one).

The reason we named the new one blog-mt is twofold. First, Yahoo! seems to have some sort of hardcoded action going on in the background whereby if you name your new installation blog-mt4, it doesn’t work right. Second, by putting things into the same directory where they were to begin with, you don’t have to rebuild anything right away – they just work. That’s why we had to rename the old directory, too – to get it out of the way.

Now we’re almost done. You need to copy the mt-config.cgi file from blog-mt3 to blog-mt. But you’ll want to make a few changes to it first. In the default Small Business installation, the CGIPath directive is commented out. You need to add it back in, otherwise it won’t work right. So do so now:

CGIPath http://www.example.com/blog-mt/

The section in bold (blog-mt) is the part that you’ll set to the value of your own installation path, if it varies from blog-mt.

Next up, you need to change a few variables. Scroll down until you see the database connection section. You’ll want to update the Database, DBUser and DBPassword directives:

Database mt4
DBUser foo
DBPassword sRJSn4H1Fo7U0ZF7

Again, you will need to replace the values in bold with your own – the Database name with the value you used when you copied the database using phpMyAdmin and the DBUser and DBPassword with the username and password that were set up during the add administrator section of this tutorial.

Once you’ve made those changes and put the mt-config.cgi file into the new mt-blog directory, you are just about ready to go. Make sure that at least the mt.cgi and mt-upgrade.cgi files are set to executable (755), and connect to mt.cgi to start the upgrade process. You will also want to make sure that any other scripts you want to use are executable (mt-comments.cgi, mt-tb.cgi, etc). But you don’t need to do that until after the upgrade completes.

Tutorial cross posted on Learning Movable Type.