Movable Type uses the CGIPath and AdminCGIPath settings to construct
links back to Movable Type CGI scripts. For example, the MT tag
<$MTCGIPath$> is replaced with the value of the CGIPath
setting. AdminCGIPath is used to construct links to mt.cgi, and
CGIPath is used to construct links to all other CGI scripts.
AdminCGIPath is optional. If you do not provide a value for it, it
will default to the value of CGIPath. You may wish to use it if you want
to place your mt.cgi in a separate directory than the other CGI scripts,
or if you wish to use an SSL-enabled URL for your mt.cgi usage.
Default value: none
The filesystem path to the db directory, where your MT database files are
stored, if you're using the Berkeley DB data storage option.
Default value: ./db
If you place all of your MT files in a cgi-bin directory, you will need to
situate the static files (docs, images, styles.css) elsewhere, so
that the webserver will not try to execute them. The
Troubleshooting section of the manual has
Default value: none
The filesystem path to the tmpl directory, which contains the front-end
templates used by the Movable Type application.
Default value: ./tmpl
If you would rather use SMTP than sendmail, you should set the MailTransfer
config setting to 'smtp' (as below). Possible values for MailTransfer are:
debug (which just writes out mail messages to
STDERR, for debugging purposes).
By default, Movable Type looks for sendmail in three locations:
/usr/lib/sendmail, /usr/sbin/sendmail, and /usr/ucblib/sendmail. If
your sendmail is in a different location, you can adjust the SendMailPath
Default value: any of the above
The address of your SMTP server, to be used along with
By default, when writing to an output file (for example, one of your index or
archive pages), Movable Type will first write the data to a temp file, then
rename that temp file. In the case that the process writing the data dies
unexpectedly, this prevents the pages on your site from being erased. If you
do not like this behavior (because it requires you to set directory
permissions too liberally, for example), you can use
NoTempFiles to turn
The URL used to send the XML-RPC weblogs.com ping.
The URL used to send the XML-RPC blo.gs ping.
The URL used to send the XML-RPC ping to movabletype.org (if you have a
Recently Updated Key).
When uploading files through Movable Type's upload mechanism, a ceiling is put
on the size of the files that can be uploaded to prevent denial-of-service
When creating files and directories, Movable Type uses umask settings to
control the permissions set on the files. If you are running under cgiwrap
or suexec, you should use a value of
0022 for all of these settings.
0111 (DBUmask, HTMLUmask, UploadUmask), 0000 (DirUmask)
In addition to controlling permissions via umask settings, you can also
use the HTMLPerms and UploadPerms settings to control the default
permissions for files created by the system (either as output files or
uploaded files). The only real use of this is to turn on the executable bit
of files created by the system--for example, if MT is generating PHP files
that need to have the executable bit turned on, you could set HTMLPerms
When processing uploaded files, if Movable Type notices that the file you
uploaded already exists, it will allow you to overwrite the original file, by
first asking for your confirmation. To do this, MT needs to write the uploaded
data to a temporary file. That temporary file is stored in the directory
specified by the TempDir setting.
When rebuilding individual archives, Movable Type splits up the rebuilding
process into segments, where each segment consists of rebuilding N entries.
The default value for N is 40, so by default, MT will rebuild 40 entries at
a time, then move on to the next 40, etc. You can change that value globally
here; for example, if you have a very stable server, you might wish to just
get it all done with in one batch.
The filesystem path to the import directory, which is used when importing
entries and comments into the system--import is the directory where the
files to be imported are placed.
Default value: ./import
By default Movable Type uses Perl's flock() function to lock your databases
while reading and writing. On systems using NFS-mounted directories, however,
Perl's flock() may fail, unless the perl executable has been built to
use fnctl(2) instead of flock(2); and even then, it is not certain that
the locking will truly work.
Thus, if you have problems running Movable Type on systems using NFS, you can
use the UseNFSSafeLocking directive to use simpler file locking that will
work over NFS.
0 (don't use NFS-safe locking)
On some Windows systems, neither flock() nor link() are available, so
you can't use the default flock() locking, nor can you use the NFS-safe
locking. In such cases, you can turn on the NoLocking option. Note that
you should ONLY do this if your system supports nothing else--it is a
last resort, because it increases the likelihood of database corruption.
However, if you are the only person using the system (for example, if this is
your personal server), this should not be as much of an issue.
0 (use locking)
By default Movable Type uses the Perl module HTML::Entities to encode
characters into HTML entities, provided that you have this Perl module.
However, in some circumstances, even if you have this module, you may
not wish to use it for encoding; for example, if you are using a language
that uses a different character encoding (Polish, Russian, etc). In that
case, you should set the value of NoHTMLEntities to
0 (use HTML::Entities, if it's available)
By default, when encoding data for XML Movable Type checks whether your
data looks like it contains any HTML tags or other unsafe-for-XML data,
and if so, it encloses your data in CDATA tags. Some news aggregators
have trouble with combinations of CDATA with other data, though, so if
this is causing a problem for you, you can use NoCDATA to encode any
special characters into entities.
0 (use CDATA)
When sending pings--either TrackBack pings or update pings--Movable Type
sets a timeout on the ping, so that it doesn't take too long and appear to
freeze up the system. You can override the default setting of
by setting a different value with the PingTimeout directive. The value
is assumed to be in seconds.
By default, outgoing Trackback and update pings are sent to the internet
using the default network interface card (NIC) on the server running
Movable Type. In some rare cases, it may be necessary or desirable to have
the outbound ping traffic sent over a different network interface card or
network connection. In these situations, enter the IP address of the
network interface card that should be used to send the outgoing ping
You may specifiy only the IP address (xxx.xxx.xxx.xxx), or and IP address
and port number (xxx.xxx.xxx.xxx:#). If no port number is specified, the
outgoing ping will be sent from the specified IP address using the next
available port number. If a port is specified, the outgoing ping will be
sent from the specified IP address AND port number. This is useful when you
need a consistent source IP:port address for firewall filtering of
Note: Don't specify a port unless it's absolutely necessary. If the
port specified is already in use, the outgoing ping will fail without
Default value: none
In some cases, a proxy server must be used to gain access to the internet
if the computer Movable Type is running on is behind a firewall or on an
internal private network. By setting PingProxy to the full URL
address of your proxy server, Movable Type will route all Trackback and
update pings through the proxy server specified.
Default value: none
If PingProxy above is set, Movable Type will route Trackback and update
pings through the specified proxy EXCEPT for pings destined for the domains
listed in PingNoProxy.
Default value: localhost, 127.0.0.1
PingNoProxy internal.lan, example.tld
Specifies the image toolkit used to create thumbnails from uploaded images.
By default, the ImageMagick library and Image::Magick Perl module are used;
if your system does not have these, you can use the NetPBM tools instead
(assuming that your system has these tools installed). Possible values for
this setting are ImageMagick or NetPBM.
By default, Movable Type looks for the NetPBM tools in three locations:
/usr/local/netpbm/bin, /usr/local/bin, and /usr/bin. If your
NetPBM tools are installed in a different location, you can adjust the
NetPBMPath configuration setting. Note that this path should be the path
to the directory containing the NetPBM binaries; for example, if your
pnmscale binary is at /home/foo/netpbm/bin/pnmscale, you should
set the value of NetPBMPath to /home/foo/netpbm/bin.
Default value: any of the above three locations
By default, the script that Movable Type uses for comments is called
mt-comments.cgi, the TrackBack script is called mt-tb.cgi, the
search engine script is called mt-search.cgi, the XML-RPC server
script is called mt-xmlrpc.cgi, and the dynamic weblog view script is
called mt-view.cgi. In
some situations--for example, if you are running MT under mod_perl, or if
your server requires that your Perl scripts have the extension .pl--you
may need different names for these scripts. You can set the names that will
be used throughout the default templates and Movable Type code by changing
Default value: for CommentScript, mt-comments.cgi; for TrackbackScript,
mt-tb.cgi; for SearchScript, mt-search.cgi; for XMLRPCScript,
mt-xmlrpc.cgi; for ViewScript, mt-view.cgi
By default, the character encoding sent in the HTTP headers when you are
using the system corresponds to the language you have chosen as your
``Preferred Language'' in your user profile. If you would like to override
that you can set PublishCharset to the character encoding to be used. Be
aware, though, that this will override the setting for every user and
every weblog in this MT installation. An example encoding might be
Default value: encoding corresponding to Preferred Language
``Safe mode'' enables certain warnings about security and other issues,
and turns off some small features and capabilities (for example, linking
templates to files with .cgi and other extensions). Safe mode is on by
default; you can turn it off by setting SafeMode to 0.
By default, Movable Type cleans up (``sanitizes'') any data submitted by
visitors to your site. This is done to remove any code (HTML or otherwise)
that could compromise the security of your site. The sanitization code works
by only allowing certain HTML tags--any other tags, and all processing
instructions (PHP, for example) are stripped. The GlobalSanitizeSpec
setting, then, specifies the tags and attributes that are allowed.
By default, for each TrackBack item in your Movable Type system--either
entry or category TrackBack items--an individual RSS feed will be
automatically created and managed, listing the TrackBack pings for that
item. These pings are stored in your Local Archive Path. If you want to
turn off this feature, you can set GenerateTrackBackRSS to
The default setting is
1, to generate RSS files for each TrackBack item.
The filesystem path to the search_templates directory, which is where
your search templates should be located. This setting defaults to
./search_templates, which means that the search_templates directory
is in the same directory as the mt.cgi file; you probably don't need
to change this setting, unless you have moved your search_templates
Default value: ./search_templates/
The filename of the default search template, located inside of your
search_templates directory (see the SearchTemplatePath directive). If you
define and use alternate templates (see below), you don't need to use
the default template.
Default value: default.tmpl.
If you have multiple weblogs, or if you provide several different versions
of your site, you may wish to use alternate templates to provide different
versions of your search results, as well. See
Alternate Templates in
the manual for more details. You can define as many alternate templates
as you want.
By default, the following alternate template is set up:
AltTemplate comments comments.tmpl
This sets up the alternate template for the ``new comment search''.
AltTemplate work work.tmpl
To restrict the weblogs included in a search on your site, you can use the
IncludeBlogs and ExcludeBlogs settings. IncludeBlogs lists the weblogs that
will be included in the search, and ExcludeBlogs lists weblogs that will be
excluded from the search. Do not try to use both--IncludeBlogs will
override ExcludeBlogs. The default is to search all weblogs. Separate weblog
IDs with commas.
Default value: none
The following settings specify the defaults for searches on your site;
they can be overridden either through hidden form inputs, or in form inputs
set by your users. You should probably leave these settings at the defaults
and allow your users to override them. RegexSearch is a regular-expression
search, and CaseSearch is a case-sensitive search.
0 for each setting
The default number of days to search on a regular search (SearchCutoff)
or on a new comment search (CommentSearchCutoff).
The default for SearchCutoff is to search from the beginning of your weblog
(all of your entries), and the default for CommentSearchCutoff is the last
month of comments.
The maximum number of results to return in a search. If this is a straight
search, the number of results is per-weblog--if you set MaxResults to
for example, that would mean a maximum of
5 results for each weblog in your
system. In a new comment search, this is the maximum number of entries
with new comments.
Default value: no maximum (that is, return as many results as possible)
The sort order for the search results. Using
ascend will list the entries
in chronological order (oldest entry at the top); using
list the entries in reverse chronological order (newest entry at the top).
The sort column for the search results. Using
created_on will sort the
entries by the authored on date; using
title will sort the entries by
title. This can be used with ResultDisplay to sort in either ascending
or descending order.
The number of words in the excerpt displayed when you use the
<$MTEntryExcerpt$> tag inside of your search results. This setting
is distinct from the ``Number of words in excerpt'' setting in your weblog
configuration, because this setting is just used for excerpts in your
By default, a search will search only through the entries in your weblog,
not through the comments. A comment search is slower than an entry search,
because there is more text to search through. You should probably leave
this set to
entries, and let your visitors override that setting if
they wish to. Possible values are
By default, the search engine allows most of the above configuration
directives to be overridden by search templates. This has the side effect
that users could also override those settings by changing values in the
query string. In particular, this could be dangerous if you have some
private weblogs--even if you use IncludeBlogs or ExcludeBlogs to
allow/deny certain weblogs to be searched, users could override that
setting to search your private weblog. You can use NoOverride to provide
a comma-separated list of configuration directives that cannot be
overriden by either search templates or users. This means that only the
settings made in mt.cfg will be used.
Default value: none