It was a lot harder than I anticipated to get Movable Type to run from a single global install on all of my virtually hosted domains. So in the spirit of sharing, here’s how I did it.

First, install movable type into a directory at the root of your web servers directory structure. I put mine in /var/www/shared/. The resulting directory structure contained:

/var/www/shared/cgi-bin/mt
This directory contains pretty much everything in the Movable Type tarball.
/var/www/shared/mt-static
This directory is the mt-static directory from the Movable Type tarball. I moved it out to the top level of the shared directory because I have Apache configured to not serve documents from the cgi-bin directory.
/var/www/shared/conf
This directory will contain the configuration files for all of the sites you will be virtually hosting.

Next configure apache for each of your virtually hosted domains. I assume you already have virtual hosting up and running. The configuration file for socialhacker.com looks like this:

<VirtualHost *:80>
ServerName   www.socialhacker.com
ServerAlias  socialhacker.com *.socialhacker.com

DocumentRoot /var/www/socialhacker

SetEnv       MT_HOME     /var/www/shared/cgi-bin/mt
SetEnv       MT_CONFIG   /var/www/shared/conf/socialhacker.cgi
ScriptAlias  /cgi-bin/   /var/www/shared/cgi-bin/
Alias        /mt-static/ /var/www/shared/mt-static/
</VirtualHost>


The important bits here are how you set up the alias’ and the environment variables. And all of this is covered in this article.

Finally, you need to create a configuration file in the shared/conf directry for your site. I did this by hand, which you’ll need to do as well since Movable Type won’t set most of these options in the configuration file it generates.

CGIPath             /cgi-bin/mt/
StaticWebPath       /mt-static/
StaticFilePath      /var/www/shared/mt-static/
PluginPath          /var/www/shared/cgi-bin/mt/plugins/
TemplatePath        /var/www/shared/cgi-bin/mt/tmpl/
WeblogTemplatesPath /var/www/shared/cgi-bin/mt/default_templates/

ObjectDriver        DBI::mysql