Chapter 1: Installation and Upgrade
Introduction
Movable Type is the premier weblog publishing platform for businesses, organizations, developers, and web designers. Powerful customization gives you control over everything you publish and the elegant interface keeps things simple and clear.
Features
- Unlimited Blogging
Movable Type offers the ability to publish an unlimited number of blogs quickly and easily through a single installation of the application. And the platform supports posting by as many authors as you need, with no limit on the numbers of entries, comments, or TrackBacks the system supports.
- Powerful management features
Movable Type offers a unique set of administration features designed to increase manageability of the system and to require the minimum amount of maintenance possible. Administrators can set detailed permissions for any user who interacts with the system, and those in charge of content can easily perform bulk actions on items across all the blogs on the system.
- Template-based custom output
Combine Movable Type's template tags with standard HTML, or your markup language of choice, to build and customize your site. You can integrate with your existing website design and create custom output formats.
- Flexible static and dynamic PHP publishing
Choose between static page generation or dynamic pages to optimize your weblog performance on a per-template basis. Turn on static page generation for frequently-requested pages, such as site index and feeds, and use dynamic pages for your archives. Dynamic pages completely eliminate the need to manually rebuild your files. Now you can maintain the best balance of fast rebuilds and low server load.
- Flexible Archiving
Archive by individual post, post category, or date. Monthly and weekly archives are standard, and you can choose any number of additional archive types as well.
- Community interaction through comments and TrackBack
Movable Type helps people connect to your weblog and to each other. You can let readers respond to individual weblog posts and manage content submitted through comments and TrackBack. And the powerful feedback system in Movable Type allows you to control permissions on comments, including support for registered comments. TrackBack was invented by the Movable Type team, so support for TrackBack has always been first-class on the platform.
- Clean, powerful interface
The Movable Type user interface is easy for new users to learn and affords advanced users power and control. You can also customize the interface to suit your needs.
- Localization and Internationalization
Movable Type ships with full support for Unicode and international character sets. Official, fully-supported versions with translated documentation are now available in Japanese, French, German, Spanish, and Dutch.
Movable Type also has an open and documented internationalization and localization framework that allows you to create your own translations or take advantage of community-contributed translations for unofficial support of many additional languages.
- Programming Interfaces
Movable Type supports the Atom API (application programming interface) and Metaweblog API, allowing dozens of third-party clients and devices to post data to the system.
- Syndication
All common data syndication formats are supported by Movable Type's default templates, including XML formats like RSS and Atom. Other custom formats can be created through the use of Movable Type's template tags.
- Platform Support
Movable Type's broad platform support for various operating systems and web servers simplifies integration with any web services platform.
- Powerful plug-in architecture
Movable Type features an extensible plug-in system. It allows even non-technical users to extend Movable Type's native functionality and eases integration with other technologies. Hundreds of plugins exist and are either available for free or at low cost through the Movable Type Plugin Directory.
- Editable object-oriented Perl source code
Movable Type's clean, well-documented source code is written in Perl, one of the most popular scripting languages, and is completely customizable by thousands of developers around the world.
- World-class support
Six Apart's support team offers online help ticket support for our platforms and has earned raves from customers for its responsiveness and prompt, knowledgeable answers.
- The backing of a Professional Network
In addition to expert support, the Six Apart Professional Network is a community of thousands of consultants, developers, designers, systems integrators, and IT professionals around the world who work with blogs for a living. This makes it easy to find someone to assist in a Movable Type deployment or customization, or to talk to peers and share best practices on using Movable Type within your organization.
What You Need
Here is what you will need to set up and use Movable Type:
- A Web (HTTP) server that can run Perl CGI (Common Gateway Interface)
scripts and optionally PHP scripts.
Movable Type resides in one centralized location (the server) and is accessed by users through HTML pages viewed in a standard browser. It is written in the Perl programming language and can optionally produce dynamic content using PHP. The application itself is approximately eight megabytes in size and it is recommended that you have at least an additional 25 megabytes of storage for posts.
Perl, PHP and web servers such as Apache HTTP Server are available for Unix-style operating systems such as Linux, BSDs and Mac OS X in addition to Windows. They are also freely available and offered by most Internet Service Providers (ISPs) today.
- An FTP client or a shell (telnet or SSH) account.
An FTP (file transfer protocol) program to send the files from your computer to your server. If you need an FTP program, there are many available for free. (SmartFTP is a good FTP program for Windows, and offers a free trial version. Transmit is a good FTP program for Mac users on OS X, and it has a free trial, too.)
Advanced users with SSH or Telnet access can use the command-line tools they are familiar with for transferring files and configuring the system.
- A modern web browser with JavaScript enabled.
Movable Type uses a browser-based interface to access all of its functionality. This eliminates the need for additional software to be installed or maintained by each user of the system. We recommend using the latest version of the Firefox browser for best results. It is freely available at http://www.mozilla.org/products/firefox/
System Requirements
- Perl version 5.004_05 or greater is required. Version 5.6.1 or above is
recommended.
Perl runs on a wide variety of platforms and has been a mainstay in Internet development for over a decade. While Movable Type will run on any platform that supports Perl version 5.004_05, we recommend using version 5.6.1 or greater for optimal results.
- Either Berkeley DB, MySQL, SQLite or PostgreSQL for data storage.
Movable Type supports a number of common open source database options, providing users with the flexibility to select a data storage option that best fits their environment. MySQL is the commonly recommended choice.
- External (CPAN) Perl Modules
Movable Type builds on the extensive open source foundation of the Perl community by utilizing external Perl modules. These modules are freely available open source software that can be obtained from the Comprehensive Perl Archive Network (CPAN) at http://search.cpan.org/.
Movable Type requires the follow Perl modules to operate.
- CGI version 2.8 or greater
- HTML::Template version 2.0 or greater
- File::Spec version 0.8 or greater
- Image::Size
You are also required to have at least one of the following database modules.
- DB_File
- DBD::mysql
- DBD::SQLite
- DBD::Pg
Movable Type's capabilities can be further enhanced with the presence of several other Perl modules that support optional features.
- HTML::Entities
- File::Temp
- Storable
- LWP
- SOAP::Lite version 0.5 or greater
- XML::Atom
- Crypt::DSA
- MIME::Base64
- Image::Magick
Movable Type ships with all required and optional modules that do not require compilation for your specific platform.
- PHP 4.0.6 or greater along with the Smarty Template Engine and ezSQL
libraries.
Movable Type provides optional support for the dynamic publishing of weblog content using PHP in addition to the Smarty Template Engine and ezSQL libraries.
Dynamic publishing is not supported with Berkeley DB.
Selecting a Web Host
Choosing an appropriate server to host the Movable Type system is essential for optimal performance. While meeting the baseline requirements will get the application up and running, having access to the optional libraries and server resources allows you to get the most from the system with the least amount of effort.
Movable Type can be run with virtually any version of Perl 5; however Perl 5.6.1 or greater is recommended. The later versions of the programming language provide gains in performance and provide better international character handling than prior versions.
The host should also support one or more of the SQL database options -- MySQL, SQLite or PostgreSQL. (MySQL and PostgreSQL can actually be hosted on a separate server.) SQL databases are significantly faster. Berkeley DB support is provided because of its near-universal availability; however, this option is not always as reliable as the other databases listed and we strongly recommend the use of one of the other database options.
Your host should also provide full FTP access at a minimum and shell (Telnet or SSH) access can be valuable. Shell access can provide more flexibility and options for experienced users who are familiar with basic Unix-style environments.
The host should have all of the required modules and preferably many of the optional modules pre-installed. One of the most difficult issues users will grapple with is the installation of external Perl modules. To lessen the burden on users, Movable Type includes all required and optional modules which do not require compilation. That being said, there are some modules that require some of their code to be compiled for specific operating systems and processors. This task requires shell access and some advanced technical knowledge, and some ISPs even restrict compilation on their servers for security purposes. For this reason, we recommend using a host in which these modules are already present and periodically maintained by the host.
Access to cron or similar services for periodically running scheduled tasks
on the server is very useful. Movable Type's scheduled posting functionality
requires this support in order to publish future entries automatically
as needed. Facilities such as cron can also be required
by popular utilities and plugins that perform administrative tasks such as
closing comments after a certain period of time.
Six Apart works with several hosting partners who provide these system resources and more to their subscribers. For a list of hosting partners and more information about the program go to http://www.sixapart.com/partners/current.



