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,
mt.js) elsewhere, so that the webserver will not try to execute
them. The Troubleshooting section of the
manual has more information.
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 to which the update ping is sent when blog owners have chosen
``Technorati'' as a target for recently updated pings.
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.
Movable Type uses IP-based comment throttling to provide some protection
against comment flooding. ThrottleSeconds sets the number of seconds
after which a visitor has posted a comment that he/she will not be allowed
to post another comment. For example, if Alice posts a comment at 30
seconds after the minute, she will not be allowed to post another comment
from the same IP address for the number of seconds set in this setting.
You can increase this setting if you don't get too many people commenting
often on your weblog.
This setting will also affect the rate at which TrackBack pings are
accepted; see OneDayMaxPings.
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
When MT sends out an email, for example when a new comment is posted,
it needs an address which will appear as the ``From:'' address of the
email. By setting
EmailAddressMain, you can control this address.
If you leave it unset, MT will default to using the author of the
relevant post: but often times, this is also the addressee of the
email, which can cause problems with spam filters.
Certain tasks are by default run in the background. This frees up the
user or other software to continue using the application while MT does
important tasks, for example rebuilding. However, this feature does
not work in some hosting environments. If you find that some features
are not taking effect, try setting LaunchBackgroundTasks to 0.
This is a URL from which Movable Type will fetch the public key used
to verify authentication requests. The public key itself can be
overridden locally using SignOnPublicKey.
A DSA public key, used to verify authentication information for
The number of seconds until a registered commenter's session will
expire. Defaults to 1 hour.
If you are exposing the mt-add-notify.cgi interface to users, allowing
them to sign up for site update notifications, you should set this
value to something that outsiders would not be able to guess. This
allows Movable Type to secure the notification signup process so that
visitors have to verify their email addresses.
This value supplies the path to your CSS file, if it's in a different
place from your other static files.
Normally, database servers communicate with MT over a standard TCP/IP
port, but if you want to use a non-standard port, give the port number
as the value of this configuration variable. If you're not managing
your own server, and your hosting company didn't give you a database
port to use, then you don't neeed to worry about this.
When this value is set to an email address, MT will send all outgoing
mail to this address instead of the usual recipient.
If you're developing applications that use MT's mailer (the MT::Mail manpage)
then you might find this option a useful alternative to the
MailTransfer Debug option while debugging.
Determines the language which will apply to the Movable Type interface
when no user is logged in.
The value should be the name of a ``localization module'' installed on
your server. Localization modules should be placed in the directory
lib/MT/L10N/ within the Movable Type directory. For more information
on how to get a localization module for your language, see
When a user is logged in to Movable Type, the interface will be
presented in the language specified by the user's profile settings.
The newsbox in the upper-right-hand corner of Movable Type's main menu
is pulled over the web from the URL in this value.
You can set this box to display a custom ``local'' news feed (for
example, your organization's internal news), by changing the
NewsboxURL value. The content returned at that URL should be a small
amount of balanced HTML which will fit within a document object of a
=item * OneDayMaxPings
These settings allow you to limit the maximum number of TrackBack
pings that you will accept in the period of one our or one day,
respectively. In fact, the latter limit applies to the period which is
4000 times as long as the ThrottleSeconds value, which defaults to
20. Thus, by adjusting the ThrottleSeconds value, you can change the
amount of time during which the OneDayMaxPings setting applies.
A higher-than-usual rate of incoming TrackBack pings can be indicative
of malicious behavior. These settings give you a measure of protection
against such behavior.
The path, relative to the Movable Type directory, where plugins are
found. Defaults to 'plugins'.
=item * SignOffURL
=item * SignOnURL
Use these options to replace the TypeKey remote authentication system
with an alternate, compatible system. More information can be found in
the mtauth manpage.
Specifies the default timezone (in hours from UTC). This is used when
logging actions that do not pertain to a specific weblog, since each
weblog has its own timezone setting.
If your webserver is behind an HTTP proxy, it will look like all
comments and trackback pings are coming from the same IP address,
making it difficult (nay, impossible) to ban any particular sender's
IP address. If TransparentProxyIPs is 1, Movable Type will ignore the
first IP address it sees and try to determine the external IPs from
which a comment or trackback ping was received. Note that, because
there could be other HTTP proxies in the chain, this is still not
necessarily the IP address of the machine that sent the comment or
trackback ping. Only use this option if you know that your webserver
is always accessed through a proxy, since otherwise the IP address
information of the remote host will be lost.