Installing Moveable Type was one of the more difficult script-installs I’ve done. Perhaps a description of the problems I had with it might help someone else trying to install this otherwise terrific blogging software.

First, I didn’t understand the relationship of all the parts, and their locations. I found the instructions to be a little ambiguous for a newbie.

There needs to be a blog directory (where the indexes for your blogs are stored), archive directory (where the actual entries are stored), a static directory for images, templates, and stylesheets, a directory in the cgi-bin for all the program files (cgi files, libraries, unix modules, etc.) and a Berkley database directory, if you are using that, as I did at first.

The setup that worked was to have a folder for all the “program” files and the templates that define the editing interface in a folder in the cgi-bin directory. The blog directory, archives directory and static elements directory all go in the main “html” (web-accessible) directory. The berkley db folder was outside the html folder, so it was not accessible to anyone from the web even if they knew the path.

Here is a diagram of my working setup:

- -Root
- - -Berkley DB
- - -cgi-bin (mine is outside the web-accessible directory, some aren't.
- - - -MT (the programfiles)
- - - - -extlib
- - - - - -Apache
- - - - - -Bundle
- - - - - -CGI
- - - - - -File
- - - - - -HTML...
- - - - - -etc. etc. (added missing lbraries here, such as SOAP, XML.)
- - - - - -XMLRPC
- - - - -lib
- - - - -schemas
- - - - -search_templates
- - - - -tmpl
- - -html (this is the main web-accessible directory)
- - - -archives (stores all the individual entries)
- - - -blog (stores whatever index pages you have set up
- - - -static (static elements, images, templates, stylesheets.)

However, another problem was, the Berkley database became corrupted within a week. When I looked at the Berkley database files, I realized they would be very hard to fix. I decided to switch to a mySQL implementation, since even if something goes wrong, it’s not too hard to clean up an entry in a mySQL database, using a tool like phpMyAdmin, or by editing a text dump of the data.

For some reason, the style sheets were being rendered incorrectly also, with the left-hand column floating down below the main articles column.

I was never able to figure out the source of the style sheet error, but when I redid the whole thing as a mySQL install, suddenly everything worked perfectly. And hopefully no more database corruption.

Another source of great frustration was that Dreamweaver MX has a nasty habit of corrupting certain files, so it cannot be used even just to edit the config file then upload. I’ve confirmed this repeatedly, and there’s no getting around it except to use another program to edit and upload perl scripts with, like BBedit. Even with the Dreamweaver preferences set to never rewrite any code whatsoever, this still happens, and the corruption comes in the form of added semicolons and commas. This was a particularly nasty problem troubleshoot.

Figuring out what paths they were actually asking for was difficult also, or at least what paths would work. Even though the “tmpl” directory is in the place MT expects, setting the path the way the config file suggests did not work. I had to use the whole local path to that directory, e.g. home/foo1/foo2/rootdir/cgi-bin/tmpl/ Until I figured this out, MT was not able to find the templates it needs to create the administration pages.

It is also very important that the permissions be right on all the various directories, but here the installation instructions do a pretty good job of describing what permissions to set where.