Manage Web Content with Movable Type

Traducciones al Español
Estamos traduciendo nuestros guías y tutoriales al Español. Es posible que usted esté viendo una traducción generada automáticamente. Estamos trabajando con traductores profesionales para verificar las traducciones de nuestro sitio web. Este proyecto es un trabajo en curso.

This guide has been deprecated and is no longer being maintained.

Movable Type is a free, open source content management system designed to facilitate easy creation of blogs and websites. We assume you have a working LAMP environment set up on your Linode already; if not, please refer to our LAMP guides for setup instructions before continuing with this tutorial.

For this example, we’ll be using a LAMP server built on Debian Lenny. Your server environment may be based on a different distribution, but the installation steps should be very similar. For additional help beyond the scope of this document, you may want to consult the Movable Type Install Guide.

Making Sure Perl/CGI Works

If your LAMP environment isn’t already set up to allow Perl scripts to be run on your website, you’ll need to take the following steps. Otherwise, you may proceed to “Download Movable Type” to continue with installation.

Next, we’ll make sure Apache knows where CGI scripts are allowed to be run.

File: /etc/apache2/sites-available/
<VirtualHost *:80>
     DocumentRoot /srv/www/
     ErrorLog /srv/www/
     CustomLog /srv/www/ combined
     AddHandler cgi-script .cgi .pl

<Directory /srv/www/>
     Options +ExecCGI

We’ve added a line to the <VirtualHost> section of our site’s Apache configuration file which uses “AddHandler” to tell Apache how to treat files that end in .pl or .cgi. We’ve added a <Directory> section as well to allow CGI scripts to be run from the public_html directory. Reload Apache as follows:

/etc/init.d/apache2 reload

Installing Support Modules

You may skip this step if desired; we’re going to install some optional Perl modules that enable enhanced functionality in Movable Type. The installation commands shown here make use of the CPAN interactive shell. First, we need to update our system and install some prerequisite packages:

apt-get update
apt-get upgrade
apt-get install build-essential libssl-dev libgd2-xpm-dev libxml2-dev perlmagick libgraphics-magick-perl

Next, start the CPAN shell:

perl -MCPAN -e 'shell'

If this is your first time running the shell, you’ll be asked if you’d like most options configured automatically. This is a safe option for beginners, although those familiar with the shell may wish to proceed with manual configuration. After configuration is done, issue the following commands:

install Crypt::DSA
install IPC::Run
install Archive::Zip
install HTML::Entities
install Crypt::SSLeay
install GD
install Digest::SHA1
install LWP::UserAgent
install XML::Atom
install Mail::Sendmail
install HTML::Parser

Create a Database for Movable Type

From the command line issue the following (inserting MySQL’s root password):

mysql -p

In the MySQL console that appears, run the following commands:

use mysql
CREATE USER bamboo IDENTIFIED BY 'changeme';
GRANT ALL PRIVILEGES ON bamboo_db.* TO 'bamboo';

Remember to change “changeme” to a strong password; write this down for later reference.

Download Movable Type

Visit the Movable Type download page. Copy the download link to the most recent version into your clipboard (typically by right-clicking on the download link and selecting “copy link location”).

Log into your Linode as root through SSH, navigate to your website’s website directory, and use wget followed by the download link you copied to get the current version of Movable Type. We’re using the site “” for example purposes.

cd /srv/www/

Unpack the installation archive as follows (you may need to install the unzip program, as with apt-get install unzip):

unzip MTOS*zip
rm MTOS*zip

Move the files from the newly create directory to your public HTML and cgi-bin directories and change a directory to be owned by the Apache user:

mv MTOS-5.03-en/ public_html/
chown www-data:www-data public_html/
chown www-data:www-data public_html/mt-static/support

Install Movable Type

Bring up your website in your favorite browser, and you’ll be greeted by the Movable Type installation wizard. Your system will be checked to make sure you meet the requirements for Movable Type. When you reach the “Database Configuration” section, you will be asked to provide some information. We’ve used these values:

  • Database Type: MySQL Database
  • Database Server: localhost
  • Database Name: bamboo_db
  • Username: bamboo
  • Password: [from mysql setup]

After basic configuration is complete, you’ll be asked to enter a username, display name, and email address for your Movable Type administrator account. Choose a strong password to protect your account. When asked to choose a “Blog URL” you may want to make it the base URL of your site (“” in our case), and for “Publishing Path” you may want to enter the path to your public_html directory (/srv/www/ in our case). Alternately, you can accept the defaults provided to host the system under a subdirectory of your site’s root. You’re done!

Monitor for Software Updates and Security Notices

When running software compiled or installed directly from sources provided by upstream developers, you are responsible for monitoring updates, bug fixes, and security issues. After becoming aware of releases and potential issues, update your software to resolve flaws and prevent possible system compromise. Monitoring releases and maintaining up to date versions of all software is crucial for the security and integrity of a system.

Please monitor the following Movable Type mailing lists to ensure that you are aware of all updates to the software and can upgrade appropriately or apply patches and recompile as needed:

When upstream sources offer new releases, repeat the instructions for installing the Movable software as needed. These practices are crucial for the ongoing security and functioning of your system.

This page was originally published on

Your Feedback Is Important

Let us know if this guide was helpful to you.

Join the conversation.
Read other comments or post your own below. Comments must be respectful, constructive, and relevant to the topic of the guide. Do not post external links or advertisements. Before posting, consider if your comment would be better addressed by contacting our Support team or asking on our Community Site.
The Disqus commenting system for Linode Docs requires the acceptance of Functional Cookies, which allow us to analyze site usage so we can measure and improve performance. To view and create comments for this article, please update your Cookie Preferences on this website and refresh this web page. Please note: You must have JavaScript enabled in your browser.