MT Install

I’m new on DH, and was wondering if anyone with experience with installing MovableType could post a brief walkthrough of setting it up on DH.

Robert at wombatnation has done a wonderful job here:

These instructions are truly wonderful. I feel I’m close to actually being able to do this. However, I’m having newbie installation problems and feel that I’m staring at the problem but can’t see it. I know a tiny bit of Unix (the same tiny bit I’ve known since 1991, which technically makes me a slowbie, not a newbie). I’ve stepped through everything twice (include completely deleting everything and starting over again) and am scratching my head.

Perhaps I am reading the steps wrong or making some hilarious newbie error. I’ll step you through my actions and the results:

Connect to using ssh and cd into directory
gunzip MT-2.5-full-lib.tar.gz
tar -xvf MT-2.5-full-lib.tar

O.k., I did this, but of course ssh into my own account and cd into my own directory, and

gunzip MT-2.64-full-lib.tar.gz , then

tar -xvf MT-2.64-full-lib.tar

I see files fly by when I do the latter. So far so good–I assume.

Next, I followed these steps (again, working from the directory, and with MT-2.64-full-lib ).

mkdir mt
mv MT-2.5-full-lib mt
mkdir blog
cd mt

At this point, MT* is in the “mt” directory, and I am in the mt directory, as well, having just cd’ed there.

Just to be sure, I even list files, and see the MT* directory listed:

[salt]$ mv MT-2.64-full-lib mt
[salt]$ cd mt
[salt]$ ls MT-2.64-full-lib

Here’s the first manifestation of whatever problem I’ve created with my previous actions:

“Edit Main Config and Password File”

(Note: I use pico, not emacs, but I’m assuming the editor is irrelevant, just as I am pretty sure we’re not discussing a permissions or file-upload-corruption problem.)

Hmm. I am still in the directory, and I don’t see an mt.cfg file. I know there is one in the underlying MT* directory, but perhaps I don’t understand how “libraries” work and when I start editing it will magically appear.

pico mt.cfg

oops… I’m not editing an existing mt.cfg file, like the instructions show; it’s a brand-new file that pico helpfully started for me. That’s not right. Hmm… let me verify that the mt.cfg file is where I thought it was anyway.

[salt]$ ls -al
total 12
drwxr-xr-x 3 kgs pg98513 4096 Jul 22 15:00 .
drwxr-xr-x 4 kgs pg98513 4096 Jul 22 15:00 …
drwxr-xr-x 10 kgs pg98513 4096 Jul 22 15:00 MT-2.64-full-lib

O.k., that’s a directory; I’ll peek in it. Sure enough, the files are in here:

[salt]$ cd MT*
[salt]$ ls -al
total 148
drwxr-xr-x 10 kgs pg98513 4096 Jul 22 15:00 .
drwxr-xr-x 3 kgs pg98513 4096 Jul 22 15:00 …
-rw-r–r-- 1 kgs pg98513 9261 Jun 5 00:16 LICENSE


Well, maybe the instructions REALLY mean I should edit the files inside this directory. So I do all that. For CGIPath, I specify in mimicry of these instructions:

Change value of CGIPath to

Even though at this point I’m feeling uneasy. Still, I enter all the particulars and I make all the recommended changes (ObjectDriver, etc.), and modify the password file. Naturally, for mt.cfg, I use the db, db user, etc. that I have created (and later on I connect just fine to MySQL using the format “mysql -h host -u user - p db” which tells me that I am correctly naming the db, the user, the password, etc.).

I do the recommended permissions changes and then attempt the “sanity check of Perl install.” The first time I tried this, in IE, it just hung (and then I tried mt-load.cgi, and that really threw a wrench in the works–everything froze and I couldn’t even log into my shell for a while), so why not try good old lynx?

[salt]$ lynx

Oh oh. 404. Well, everything else seems to be in that “other” directory, anyway.

So I try this:


Hey, it works! q.v.:

Current working directory: /home/.icarian/kgs/
Operating system: linux
Perl version: 5.6.1
… etc.

At this point, I stop; I could go on and try mt-load.cgi, but then, I’m guessing, mt.cfg would need to be edited to change the CGIPath, and something tells me this isn’t right.

So just for kicks and grins, let’s see if the index.html file that MT provides displays o.k. from the Web, and from what directory:



And the Movable Type index page in this directory displays just fine.

So who wants to point out the Obvious Error(s)? I’ve got a clean reinstall to work from, so I can take it from the top.


I fixed the problem. I deleted the “mt” directory, untarred the file again, and then renamed the resulting directory from MT-2.64-full-lib to mt. That was such a simple solution, it’s almost too painful to contemplate.

Cool! I’m glad you figured out the problem.

I just upgraded to Gallery 1.3.4 a few nights ago and updated my install instructions for it. There were enough differences between a 1.3.3. and a 1.3.4 install to merit the documentation update.

It sounds like I need to do the same for my Movable Type install instructions. I’ve been planning to upgrade to 2.6.4 for many weeks now. This is good motivation for me to quit being lazy and just do it.

I’d be happy to be a reviewer/copy-editor; writing and editing happen to be my “bidness.” Again, I can’t overemphasize how useful your installation document is in the first place. I wouldn’t have had a chance with the actual MT installation instructions. I’m sure I speak for many other DH users in expressing my appreciation for your generous efforts to share what you know.

Thanks for the offer. I will definitely take you up on it. Normally, my writing is better than what you see in that document, but my focus was on just cranking out a coherent set of notes. Nonetheless, I have learned from my many good experiences working with professional technical writers that just because I write well for a software engineer does not mean that I write well. They were kind enough not to point that out directly, but the many obvious improvements they made to draft documentation I supplied to them told a different story.

That’s all right, I can install programs o.k.–for a writer. :wink:

Had I understood the Unix mv command better, I would have known that mv is used for both moving and renaming files and directories, and I would have detected that if I was uncompressing the files online, “mkdir mt” was unnecessary:

gunzip MT-2.64-full-lib.tar.gz ## first step for extracting files
tar -xvf MT-2.64-full-lib.tar ## second step for extracting files
mv MT-2.64-full-lib mt ## rename directory to mt

There are really three options for MT installation–and the MT documentation itself confounds the steps, which are really not the same (MT can get away with this because most users with the kind of access needed to install MT won’t even notice the confusion):

  1. Extract and edit files online
  2. Extract files offline, upload, and edit online
  3. Extract files offline, edit offline, and upload edited files

[quote]gunzip MT-2.64-full-lib.tar.gz ## first step for extracting files
tar -xvf MT-2.64-full-lib.tar ## second step for extracting files


With GNU tar, you can just do:
% tar xvzf [file].tar.gz

on machines with older tar, you can still do it in one step:
% gunzip -c [file].tar.gz | tar xvf -

I see salt has GNU tar ( tar --version told me so). Is this true for all DH machines?

Yes… all of our customer machines have the GNU version of tar installed.

Terrific! Then for “Do everything from the shell account” the instructions are down to about three lines, starting with

% tar xvzf [file].tar.gz

I got my first MT blog up and working–thanks all! Note: I had one tiny typo: Objectdriver (it’s ObjectDriver). This was just a typo, as I assumed the system was case-sensitive, but that’s a good point to make.


Thanks a lot for the link. His instructions were exellent, and just what I needed to sort out whether the problems I were having was due to not following the MT installation directions correctly, or whether I was not adjusting them properly for the DH setup.


O.k., one last comment before I forget it. I see why people get the path wrong–I would have, as well. MT takes a good guess at the path, which in my case appears as:


And this works. But what Will is saying, if I read him correctly, is to ignore the “special” directory and follow this pattern:


Which for me is:


And yes, that works fine, as well. But there is no reason to suspect that /home/.icarian/kgs/ isn’t correct, so users aren’t going to find out unless a) they stumble over this information looking up something else or b) it breaks, they ask a question, and get an answer.

Sir Wombat, I recommend a brief coda called “Post-Installation Gotchas.”

I just finished installing a new MT 2.64 blog for my brother. While doing the install, I updated my installation notes. Many thanks to kgschneider, will, and everyone else who provided comments. I used your feedback to improve the notes.

As I was finishing the install, I started to configure my brother’s new blog. When I looked at the Core Setup page, I realized that the changes you really need to make are not at all obvious, exactly as you noted, Karen. I’ll go back and add a new section as you suggested.

Random thought: I wonder if there’s a way to ‘filter’ pwd output to not show the .disk you’re on?

  • wil

Well the bash and zsh builtin pwds do:

andor% pwd
andor% /bin/pwd
andor% disable pwd
andor% pwd

bash-2.05a$ pwd
bash-2.05a$ enable -n pwd
bash-2.05a$ pwd
bash-2.05a$ /bin/pwd

However, PHP and Perl scripts are presumably making a system call to getcwd, or something like that; believe me - if there were an easier way to make this more transparent, we’d do it.

i did everything in the instructions and i get a 500 error when trying to run the mt-check or load file. i got the database info right in the mt.cfg file. got the .cgi files chmod’d to 755 unblocked the maks parts in the cfg file. and no matter what i do i keep getting a 500 internal server error. i’m about to give up on this thing. i’ve installed about every other thing out there php nuke, postnuke, envolution, about every forum out there. and all has gone flawlessly until this.

anyone got any ideas?

this is what i got in the cfg files (edited for security)

DataSource /home/.servername/username/mtdirectory

ObjectDriver DBI::mysql
Database mtdatabase
DBUser mtusername

and i have these uncommented

DBUmask 0022
HTMLUmask 0022
UploadUmask 0022
DirUmask 0022

Try changing DataSource back to the default. You don’t need to edit that line unless you are using Berkeley DB.

DataSource ./db

Also, make sure you set the CGIPath property correctly in mt.cfg. If your domain were and you installed Movable Type into the mt sub-directory on your website, it should be set as:


On a related note, I just updated my MT install instructions with some excellent suggestions from kgschneider. The notes are now current for a MT 2.64 install and they also now take you all the way through to filling out the Core Setup section in the Movable Type admin app.