Installing MovableType Pro 4 on XAMPP on Windows XP Machine

Anybody there using MovableType? I got my hands dirty with it today and honestly, I am admitting that unlike our very own sweet, easy and popular WordPress, the world is different there, MovableType is the most difficult content publishing tool I have ever installed.

I installed everything Perl required (including the DBI and the DBD::mysql) to run a Perl based app on XAMPP, however MovableType is so weird that it still says DBD::mysql is missing, attempt to reload DBD/ failed and such crap… but I swear I had all that stuff, updated and genuinely running… weird!

Then, I remembered SQLite. mt-check.cgi says its installed.


Your server has DBD::SQLite installed (version 1.25).

How to install MovableType Pro on XAMPP running on Windows XP

Download and install XAMPP. The version I am currently using is XAMPP 1.7.2 (the latest). The good news is that the guys at Apache Friends decided to include the Perl Add-On in the basic package of XAMPP so you don’t need to install Perl Add-On separately.

I am not going to tell you how to install XAMPP, you will find a lot of documentation about it if you google it.

I installed mine at C:\web-server\.

Now, download MovableType Pro 4 from the MT website. I downloaded the free blogger version, which costs you nothing!

Your downloaded MT package should be something similar to MT-4.32-en.tar.gz, the version and language may be different.

Extract your downloaded MT package into a temporary folder. There is something called the Perl shebang at the top of every Perl script, and it tells the web server where to find the Perl executable. This way it knows how to run the code following that shebang. The Perl shebang is written as #!/usr/bin/perl.

By default all the .CGI files in your extracted package use the Linux based shebang. We need to correct this. Using Notepad (or other plain text editor), open every .CGI file and at the top of the file change #!/usr/bin/perl -w to #!C:/web-server/perl/bin/perl -w, use the forward-slash (/), not the backward-slash (\). Remember to use your exact path to Perl.exe.

Next, create a folder inside C:\web-server\cgi-bin, I called mine mt. Then copy all the files inside the extracted MT package except mt-static folder and paste them in C:\web-server\cgi-bin\mt\, then copy mt-static folder and its contents to C:\web-server\htdocs\.

Create another folder called sqlite-db under C:\web-server, then create an empty file called mt-database.db under C:\web-server\sqlite-db\, this will be the SQLite database file of your MovableType installation.

Open the MovableType configuration file (mt-config.cgi-original) found at C:\web-server\cgi-bin\mt\mt-config.cgi-original. Save the file as mt-config.cgi, and make the changes below:

CGIPath    http://localhost/cgi-bin/mt/
StaticWebPath    http://localhost/mt-static

Since we are going to use SQLite we don’t need the MySQL and PostgreSQL properties in our configuration file. Either delete or comment the following lines:

##### MYSQL #####
ObjectDriver DBI::mysql
DBHost localhost

##### POSTGRESQL #####
ObjectDriver DBI::postgres
DBHost localhost

Now, make the following changes to the SQLite settings:

ObjectDriver DBI::sqlite
Database C:/web-server/sqlite-db/mt-database.db

Note the forward-slash used for the database path.

Go to http://localhost/cgi-bin/mt/mt-check.cgi, we don’t care if DBD::mysql and DBD::SQLite2 were reported missing, only make sure that the other requirements are OK.

If everything went well, visit http://localhost/cgi-bin/mt/mt.cgi and install MT on your machine.