Movable Type Documentation

Back to docs index

Chapter D: Configuration Directives

In this section:


This configuration directive specifies the maximum number of recent items in any activity feed.

Default: 50

This configuration directive specifies the name of the script used to pull activity feeds.

Default: mt-feeds.cgi

This configuration directive specifies whether activity feed requests should trigger the scheduled tasks framework. The default is enabled (1). To disable this trigger, add this to your configuration file:

ActivityFeedsRunTasks 0

This will revert back to the legacy behavior where the scheduled task framework is only triggered through use of run-periodic-tasks.

Note: Regardless of the use of the above methods of scheduled task framework execution, the junk feedback expiration task is always executed when junk feedback is received.

The AdminCGIPath configuration directive is the administrative analog to the CGIPath directive and allows for a distinct URL path to be used for access to the administrative interface and scripts (e.g. mt.cgi).

Its use is optional since the CGIPath setting is used in its absence. However, for added security, Six Apart recommends use of this directive in combination with SSL (via https) in order to provide encryption/authentication of all administrative requests.

The value of this setting can be included in a template via the MTAdminCGIPath template tag.

Examples

In your mt-config.cgi, the following (without AdminCGIPath) would be used for all links to Movable Type scripts, public or private:

CGIPath http://www.example.com/path/to/mt/

The following, in addition to the CGIPath setting above, would preferentially use the admin subdomain of example.com for accessing the administrative scripts. All public scripts would still use the CGIPath setting.

AdminCGIPath http://admin.example.com/path/to/mt/

The following, in addition to the CGIPath setting above, would use HTTP protocol for the public interface scripts and HTTPS for the administrative scripts. You would, of course, need to enable SSL on your server before this will work.

AdminCGIPath https://www.example.com/path/to/mt/

In this case, you will also need to set your StaticWebPath to a relative value in order to avoid insecure content browser warnings. For example, instead of:

StaticWebPath http://www.example.com/path/to/mt-static/

You can use:

StaticWebPath /path/to/mt-static/

Or even:

StaticWebPath //www.example.com/path/to/mt-static/

Related

By default, the script that Movable Type uses for the administrative interface is called mt.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 these values.

Default value: mt.cgi

Example:

AdminScript mt.pl

See also:

Default is 1. System-wide comment control switch. MT controls this through the mt_config table.

Default is 1. System-wide TrackBack ping control switch. MT controls this through the mt_config table.

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."

Example:

    AltTemplate work work.tmpl

This configuration directive specifies to use the alternate search template which is responsible for feed format and content.

The path to a directory where application override templates are found. For more information about override templates, and how template searching is done in general, see How does build_page find a template? in the MT::App documentation. Example:

    AltTemplatePath  /home/ezra/mt-overrides/tmpl

By default, the script that Movable Type uses for Atom is called mt-atom.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 these values.

Default value: mt-atom.cgi

Example:

AtomScript mt-atom.pl

See also:

The AuthLDAPBindDN configuration setting is an optional DN used to bind to the LDAP directory when searching for a user.

Default value: not defined

Note: If unspecified, MT will attempt to do an anonymous bind for LDAP lookups.

This directive is used for setting the password of the LDAP DN used in AuthLDAPBindDN.

Default value: not defined

The name of SASL Mechanism to use for both binding and authentication.

Values:

  • PLAIN (Default value)
  • DIGEST-MD5

Note: Using anything other than "PLAIN" for AuthLDAPSASLMechanism requires the Perl Authen::SASL package to be installed.

For more information, see http://www.melnikov.ca/mel/devel/SASL_info.html.

This configuration directive specifies the URL to access for LDAP authentication.

Default value: none

For possible values please see:

This configuration directive is only available in Movable Type Enterprise.

This configuration directive specifies the authentication type that will be used for user logins. The default, MT, indicates that Movable Type Enterprise's author database is authoritative. The alternate option, LDAP, specifies that an LDAP directory will be used as the authoritative authentication source.

If LDAP is specified, the following configuration directives are also relevant and in some cases required:

The URL used to send the XML-RPC blo.gs ping.

Default value: http://ping.blo.gs/

Example:

    BlogsPingURL http://some.alternate.blo.gs.server/path/

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 attacks.

Default value: 1000000 (1MB)

Example:

    CGIMaxUpload 500000

The CGIPath configuration directive is a required setting which defines the URL path to your Movable Type directory and is used in the construction of links to any of the various scripts which handle the system's public interfaces (e.g. comments, TrackBacks, search, etc).

This value can be output through your templates using the MTCGIPath template tag. You will see it used in the default templates in the comment and search forms, the RSD index template and others. The system also uses it internally in a number of ways.

Example

If you normally access Movable Type with the following URL:

http://www.example.com/cgi-bin/mt/mt.cgi

Then you would put this in your mt-config.cgi:

CGIPath http://www.example.com/cgi-bin/mt/

IMPORTANT:

For added security, Six Apart recommends the use of the AdminCGIPath configuration directive for defining the URL prefix to Movable Type's administrative scripts such as mt.cgi.

This value supplies the path to your CSS file, if it's in a different place from your other static files.

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.

Default value: 0 for each setting

Examples:

    RegexSearch 1
    CaseSearch 1

By default, the script that Movable Type uses for comments is called mt-comments.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 these values.

Default value: mt-comments.cgi

Example:

CommentScript mt-comments.pl

See also:

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.

Examples:

    SearchCutoff 7
    CommentSearchCutoff 7

The number of seconds until a registered commenter's session will expire. Defaults to 1 hour.

Specifies the exact domain for which MT cookies are set.

Specifies the exact path for which MT cookies are set.

The ObjectDriver, Database, DBUser, DBPassword, DBHost, DBSocket and DBPort directives tell Movable Type where to find its database. For instructions on how to configure Movable Type for your database environment, see Installing Movable Type.

The ObjectDriver, Database, DBUser, DBPassword, DBHost, DBSocket and DBPort directives tell Movable Type where to find its database. For instructions on how to configure Movable Type for your database environment, see Installing Movable Type.

The ObjectDriver, Database, DBUser, DBPassword, DBHost, DBSocket and DBPort directives tell Movable Type where to find its database. For instructions on how to configure Movable Type for your database environment, see Installing Movable Type.

The ObjectDriver, Database, DBUser, DBPassword, DBHost, DBSocket and DBPort directives tell Movable Type where to find its database. For instructions on how to configure Movable Type for your database environment, see Installing Movable Type.

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.

Default values: 0111 (DBUmask, HTMLUmask, UploadUmask), 0000 (DirUmask)

Example:

    DBUmask 0022

The ObjectDriver, Database, DBUser, DBPassword, DBHost, DBSocket and DBPort directives tell Movable Type where to find its database. For instructions on how to configure Movable Type for your database environment, see Installing Movable Type.

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

Example:

    DataSource ./db

The ObjectDriver, Database, DBUser, DBPassword, DBHost, DBSocket and DBPort directives tell Movable Type where to find its database. For instructions on how to configure Movable Type for your database environment, see Installing Movable Type.

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 (MT::Mail) then you might find this option a useful alternative to the MailTransfer debug option while debugging.

The DebugMode option controls whether MT displays or suppresses messages that are useful for debugging purposes. By default, this option is set to 0, or disabled. Set to 1 to prevent the suppression of these messages.

This configuration directive specifies the initial values for the blog's entry screen display options setting at the time of creation. The options for this directive are as follows:

Button: The position of the action bar relative to the listing table.

Values:

  • Below - Below the listing table (Default value).
  • Above - Above the listing table.
  • Both - Both above and below the listing table.

Type: The type of entry screen to display

Values:

  • Basic - Title, status, date and body (Default value).
  • All - All possible fields.
  • Custom - A custom combination of fields.

In addition, if the Type is set to Custom[1], the following keys are also configurable and take values of 1 or 0 (the default):

  • Category
  • ExtendedEntry
  • Excerpt
  • Keywords
  • Tags
  • TextFormatting
  • AllowComments
  • AllowTrackBacks
  • Date
  • Basename
  • TrackBackURLs

In each case except for Date[2] the setting controls whether the corresponding field on the entry editing screen is displayed or suppressed.

[1] - If Type is not Custom, the settings are simply ignored.

[2] - The Date field is always displayed on the entry editing screen, so the setting instead controls whether the date is editable or not.

DefaultEntryPrefs Example

The following specifies a blog default setting for displaying all fields:

DefaultEntryPrefs Type=All

The following sets the Basic setting as the blog's default. The second option is ignored.

DefaultEntryPrefs Type=Basic

DefaultEntryPrefs AllowComments=1

The following sets the default for new blogs to display the Excerpt and Keywords fields in addition to the ones already provided by the Basic setting (Title, status, date and body):

DefaultEntryPrefs Type=Custom

DefaultEntryPrefs Excerpt=1

DefaultEntryPrefs Keywords=1

Specifying only the following (with no additional fields) would set the default for new weblog to "Custom" but without any additional fields checked:

DefaultEntryPrefs Type=Custom

Note: Custom with no extra fields checked is equivalent to Basic on the entry editing screen.

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 http://www.sixapart.com/movabletype/ and http://www.movabletype.org/l10n/

When a user is logged in to Movable Type, the interface will be presented in the language specified by the user's profile settings.

Default value: en_us

This configuration directive specifies the initial values for the blog's listing screen display options setting at the time of creation. The options for this directive are listed below with descriptions, their default and possible values. The options only apply to those listing screens which contain the option in their display settings.

Rows: The maximum number of table rows that are displayed per page.

Values:

  • An integer larger than 0 - Number of rows to display (Default 20)
  • none - No limit. Show all rows.

Format: The format or view which is used to display the listing.

Values:

  • Compact - A single row is used for the display of item metadata (Default Value)
  • Expanded - Multiple rows are used, the first containing the item metadata and the second containing the item's primary content

SortOrder: Order of items displayed in the listing table. This is always used solely in conjunction with the sort by option.

Values:

  • Ascend (Default Value)
  • Descend

Button: The position of the action bar relative to the listing table.

Values:

  • Below - Below the listing table.
  • Above - Above the listing table. Default Value.
  • Both - Both above and below the listing table.

DateFormat: The date format used in the listing table.

Values:

  • Relative The date and time relative to now like "6 days, 8 hours ago". After one week, this reverts to a full date. Default Value.
  • Full - A full date like "2006.04.05"".

DefaultListPrefs Example

DefaultListPrefs Rows=none

DefaultListPrefs Format=Expanded

This configuration directive specifies to restrict the blog publishing paths to the DefaultSiteRoot.

The specified settings are used on the "Create new weblog" screen as the initial suggested values for the Site Root options.

A trailing slash and the string WEBLOG-NAME is appended to indicate which part should be edited to specify the desired publishing location for the blog being created.

If DefaultSiteRoot is not specified in the mt-config.cgi, the system attempts to guess the correct values as in previous versions.

This configuration directive specifies to restrict the blog publishing paths to the DefaultSiteURL.

The specified settings are used on the "Create new weblog" screen as the initial suggested values for the Site URL options.

A trailing slash and the string WEBLOG-NAME is appended to indicate which part should be edited to specify the desired publishing location for the blog being created.

If DefaultSiteURL is not specified in the mt-config.cgi, the system attempts to guess the correct values as in previous versions.

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.

Example:

    DefaultTemplate my-template.tmpl

This configuration directive specifies the default timezone for all weblogs. When creating a new weblog from the admin screen, the default timezone will be set (as a default) from the DefaultTimezone value.

Below is a table of each timezone and the value that you would use for DefaultTimezone.

ValueCommon timezone name
13New Zealand Daylight Savings Time
12International Date Line East
11 No label
10East Australian Time
9.5Central Australian Time
9Japan Time
8China Coast Time
7West Australian Time
6.5North Sumatra
6Russian Federation Zone 5
5.5Indian
5Russian Federation Zone 4
4Russian Federation Zone 3
3.5Iran
3Baghdad Time/Moscow Time
2Eastern Europe Time
1Central European Time
0Universal Time Coordinated
-1West Africa Time
-2Azores Time
-3Atlantic Time
-3.5Newfoundland
-4Atlantic Time
-5Eastern Time
-6Central Time
-7Mountain Time
-8Pacific Time
-9Alaskan Time
-10Aleutians-Hawaii Time
-11Nome Time

This configuration directive specifies to ...

Values:

  • 0 (disabled)
  • 1 (enabled)

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.

Default values: 0111 (DBUmask, HTMLUmask, UploadUmask), 0000 (DirUmask)

Example:

    DirUmask 0022

The email address of an administrator of the Movable Type installation. This is used as the "From" address on some outgoing emails, when no other email address is at hand.

This directive must be set in order to use the the subscription form for readers who wish to be notified of new entries to your weblog. Failure to set the EmailAddressMain directive will cause an error when a subscriber tries to use the form to be added to your notification list.

This configuration directive specifies to send email notifications in BCC. When EmailNotificationBcc=0, the entry notification email will be sent to recipients whose addresses are in TO email header. For example, if a notification list has 100 recipients listed, one hundred notification emails will be sent.

For compatibility sake, the default value of this directive is 1 (emails are sent in BCC).

Values

  • 0
  • 1 (default)

A value of true (1) enables use of the Reply-To email header for notification emails. This will prevent MT from using the commenter's email address as the from address and will put it in the reply-to header instead.

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 is a switch for whether the extra archive fields are enabled in MT. These fields are deprecated; but this setting is turned on in the mt_config table if the upgrade process can't reliably deprecate the fields. An example of this would be an existing weblog that uses two separate domains for site url and archive url, or where the archive url is not a subpath of the site url.

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 in one batch.

Default value: 40

Example:

    EntriesPerRebuild 100

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 search results.

Default value: 40

Example:

    ExcerptWords 100

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

Examples:

    ExcludeBlogs 1,3,4
    IncludeBlogs 2

This configuration directive specifies the name of the character encoding when exporting an activity log.

Default Value: ISO-8859-1

Example:

Content-Type: text/plain; charset=XXXX

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 0. The default setting is 1, to generate RSS files for each TrackBack item.

Default value: 1

Example:

    GenerateTrackBackRSS 0

Movable Type has a sanitize function that is automatically run against all comments and TrackBacks submitted to your blog and also any content produced by a template tag with the sanitize attribute defined (see Global Filters for more details).

This is done to remove any code (HTML or otherwise) that could compromise the security of your site. The function works by only allowing certain HTML tags defined by this setting. Any other tags, and all processing instructions (PHP or Javascript, for example) are stripped.

By default, Sanitize is turned on automatically for the following tags:

  • MTCommentAuthor
  • MTCommentEmail
  • MTCommentURL
  • MTCommentBody
  • MTPingTitle
  • MTPingURL
  • MTPingBlogName
  • MTPingExcerpt

If you want to turn off sanitize for one of these tags, you can use the sanitize attribute:

<MTPingTitle sanitize="0">

In addition, the sanitization process adds closing tags for any tags left open in the sanitized text. For example, if a visitor to your site opens a <b> tag and forgets the close it, the sanitize process will add a </b> tag in the most appropriate place it can find.

This configuration setting defines the default choice for all weblogs. It can be overridden on a per-weblog basis through use of the "Limit HTML tags" option. on the weblog's General setting page. For more details on the "Limit HTML tags" option and the sanitize function, see the relevant section of Chapter 1.8 in the User and Administration Manual entitled "Default Weblog Display Settings" (you can download the User and Administration Manual here).

Default value:

a href,b,i,br/,p,strong,em,ul,ol,li,blockquote,pre

Example:

GlobalSanitizeSpec blockquote,div

Syntax:

The sanitize spec consists of HTML tag names separated by commas. For each tag, you must also list any attributes that you wish to allow, separated by spaces. Some examples:

This will allow a tags with the href attribute and b tags:

a href,b

This will allow p tags and br tags:

p,br/

Note the / in the br/ tag in this example. That is necessary because of the tag-closing feature mentioned above: if the parser sees only an opening <br> tag, it will think that it needs to close this tag at the end of the sanitized text. Adding the / after the tag name tells the parser that this tag does not need a closing tag.

Note that you must specify any allowed attributes for the tag, unless you want all of the attributes to be stripped. For example, if you allow the a tag, you would also want to allow the href attribute for that tag, or the following HTML:

<a href="http://www.example.com/">

would be turned into this:

<a>

which probably isn't what you want.

If you wish to allow a certain attribute for any HTML tag in which it might appear, use a * as the tag name, followed by the list of attributes. For example:

br/,p,blockquote,* style

This will allow any of the following:

<br style="..." />
<p style="..." />
<blockquote style="...">

Note that you must still explicitly list any tags that you want included; * just allows the attribute listed in any of those tags.

For more details see the relevant section of Chapter 1.8 in the User and Administration Manual entitled "Default Weblog Display Settings".

You can download the User and Administration Manual here.

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 to 0777.

  • Default value: 0666

Example:

HTMLPerms 0777

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.

Default values: 0111 (DBUmask, HTMLUmask, UploadUmask), 0000 (DirUmask)

Example:

    HTMLUmask 0022

By default, outgoing HTTP requests 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 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 requests.

You may specify only the IP address (xxx.xxx.xxx.xxx) or an IP address and port number (xxx.xxx.xxx.xxx:#). If no port number is specified, the outgoing request will be sent from the specified IP address using the next available port number. If a port is specified, the outgoing request 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 outbound connections.

Don't specify a port unless it's absolutely necessary. If the port specified is already in use, the outgoing ping will fail without error.

Default value: none

Examples:

HTTPInterface 192.168.10.5

HTTPInterface 192.168.10.5:8080

If HTTPProxy is set, Movable Type will route HTTP requests through the specified proxy EXCEPT for requests destined for the domains listed in HTTPNoProxy.

Default value: localhost, 127.0.0.1

Example:

HTTPNoProxy internal.lan, example.tld