Not a developer? Go to


Install via SSH with Manual Configuration

This guide is specific to installing Movable Type using SSH to transfer and edit files on the server.

Note: Though this guide uses the version MT-5.0-en, it can be used to guide the installation of versions MT4.x or MT3.x as the install process is nearly identical.

Install via Shell Access with Manual Configuration

For the purpose of this guide we’ll assume the following variables, substitute as necessary.

  • web root directory: /var/www/html/
  • cgi-bin directory: /var/www/cgi-bin/
  • database: MySQL (and that you have the database details)

Compared to the Install via FTP instructions, these instructions have a slightly more abstracted setup (using symlinks, keeping the mt-static dir in the application directory, etc) to provide simpler future maintenance and upgrades. Refer to the Detailed Step-by-Step Installation Guide for more info and the installation troubleshooting guide for common roadblocks.

  1. In a terminal, SSH to the server and change to the cgi-bin directory:

    $ ssh melody@examplecom
    $ cd /www/var/cgi-bin
  2. Get the latest version of Movable Type:

    Login to the cgi-bin directory and download get the wget the latest open source version of Movable Type:

    $ wget

    Note: For Movable Type Pro, after downloading to your local computer from, copy it to the server. From your local computer:

    $ scp
  3. Unzip the application archive:

    $ unzip
  4. Create a symlink from “mt” to version of the application directory in the cgi-bin so that Movable Type can be accessed without the version number in the URL:

    $ ln -s MT-5.0-en mt
  5. Change directory to the application directory:

    $ cd MT-5.0-en
  6. Update file permissions.

    Update mt-static/support (static support directory) to be writable:

    $ chmod 777 mt-static/support

    Update the themes directory to be writable:

    $ chmod 777 themes

    Tip: the mt-static/support and themes directories can be 775 if the web server user is in the directories’ group or 755 if the web server user owns the directories. Read more about File Permissions.

  7. Create a symlink to the mt-static (static directory) in the web root:

    $ ln -s mt-static ../../html/mt-static
  8. Copy the default configuration file to create the configuration file:

    $ cp mt-config.cgi-original mt-config.cgi
  9. Open the configuration file in your preferred command line editor (such as “vi” or “emacs”) and update the content to the following basic config. Insert the database details for your mysql database for the placeholders. Refer to the MySQL database configuration documentation if advanced database settings necssary):

    ObjectDriver        DBI::mysql
    Database            DATABASE_NAME
    DBUser              DATABASE_USERNAME
    DBPassword          DATABASE_PASSWORD
    DBHost              localhost

    The StaticFilePath is not necessary because it was not moved out of the application directory.

  10. Access the Movable Type application in a web browser. The URL will be similar to this:

    Tip: If there are any errors, view the mt-check.cgi script which should be located at a URL similar to:

  11. Create the administrator account. Click “Continue”.

  12. Create the first website. Click “Finish”. Movable Type will then initialize the database with all the configuration options and settings specified.
  13. Click “Sign into Movable Type” and start bloggin!

Warning: because the mt-check.cgi script displays server details which could be useful to a hacker, it is recommended that this script be removed or renamed. If renamed, use the CheckScript directive so that Movable Type knows where the script was moved.

Next Steps

  • Create pages in the website
  • Create a blog in the website
  • Complete out your profile, etc.

2 Comments on February 13, 2010, 4:41 p.m. Reply

Step 7 is wrong. Do it that way, and you end up with a symbolic link that points to itself.

The right way is to perform the link from the other end:

cd ../../html
ln -s ../cgi-bin/mt/mt-static

aitor on October 24, 2012, 4:03 a.m. Reply

Step 1 is wrong too.

$ cd /www/var/cgi-bin

must be

$ cd var/www/cgi-bin