CONFIGURATION SETTINGS

### Movable Type User Manual: CONFIGURATION SETTINGS

« Table of Contents

- CONFIGURATION SETTINGS

# CONFIGURATION SETTINGS

Movable Type's configuration file is called mt.cfg and is located in your main Movable Type directory (the directory where the .cgi scripts live). Following is a list of valid configuration options that can be used in mt.cfg, along with a description and the default setting for each option. These descriptions are also present in mt.cfg itself.

- CGIPath
- AdminCGIPath
  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

  Examples:

      CGIPath http://www.your-site.com/path/to/mt/
      AdminCGIPath https://www.your-site.com/path/to/mt/

- DataSource
  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

- StaticWebPath
  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 more information.

  Default value: none

  Example:

      StaticWebPath /path/to/static-files/

- TemplatePath
  The filesystem path to the tmpl directory, which contains the front-end templates used by the Movable Type application.

  Default value: ./tmpl

  Example:

      TemplatePath ./tmpl

- MailTransfer
  If you would rather use SMTP than sendmail, you should set the MailTransfer config setting to 'smtp' (as below). Possible values for MailTransfer are: `smtp`, `sendmail`, and `debug` (which just writes out mail messages to STDERR, for debugging purposes).

  Default value: `sendmail`

  Example:

      MailTransfer smtp

- SendMailPath
  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 configuration setting.

  Default value: any of the above

  Example:

      SendMailPath /usr/sbin/sendmail

- SMTPServer
  The address of your SMTP server, to be used along with `MailTransfer smtp`.

  Default value: `localhost`

  Example:

      SMTPServer smtp.your-site.com

- NoTempFiles
  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 it off.

  Default value: `0`

  Example:

      NoTempFiles 1

- WeblogsPingURL
  The URL used to send the XML-RPC weblogs.com ping.

  Default value: `http://rpc.weblogs.com/RPC2`

  Example:

      WeblogsPingURL http://some.alternate.weblogs.com.server/path/

- BlogsPingURL
  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/

- MTPingURL
  The URL used to send the XML-RPC ping to movabletype.org (if you have a Recently Updated Key).

  Default value: `http://www.movabletype.org/update/`

  Example:

      MTPingURL http://some.alternate.movabletype.org.server/path/

- CGIMaxUpload
  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

- DBUmask
- HTMLUmask
- UploadUmask
- DirUmask
  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

- HTMLPerms
- UploadPerms
  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

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

  Default value: `/tmp`

  Example:

      TempDir /tmp/

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

  Default value: `40`

  Example:

      EntriesPerRebuild 100

- ImportPath
  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

  Example:

      ImportPath ./import

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

  Default value: `0` (don't use NFS-safe locking)

  Example:

      UseNFSSafeLocking 1

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

  Default value: `0` (use locking)

  Example:

      NoLocking 1

- NoHTMLEntities
  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 `1`.

  Default value: `0` (use HTML::Entities, if it's available)

  Example:

      NoHTMLEntities 1

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

  Default value: `0` (use CDATA)

  Example:

      NoCDATA 1

- PingTimeout
  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 `15` seconds by setting a different value with the PingTimeout directive. The value is assumed to be in seconds.

  Default value: `15`

  Example:

      PingTimeout 5

- PingInterface
  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 notifications.

  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 outbound connections.

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

  Default value: none

  Example:

      PingInterface 192.168.10.5
      PingInterface 192.168.10.5:8080

- PingProxy
  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

  Example:

      PingProxy http://192.168.10.5:3128

- PingNoProxy
  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

  Example:

      PingNoProxy internal.lan, example.tld

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

  Default value: `ImageMagick`

  Example:

      ImageDriver NetPBM

- NetPBMPath
  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

  Example:

      NetPBMPath /home/foo/netpbm/bin

- CommentScript
- TrackbackScript
- SearchScript
- XMLRPCScript
- ViewScript
  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 these values.

  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

  Example:

      CommentScript comments
      TrackbackScript trackback
      SearchScript search
      XMLRPCScript xmlrpc
      ViewScript weblog

- PublishCharset
  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 `Shift_JIS`.

  Default value: encoding corresponding to Preferred Language

  Example:

      PublishCharset Shift_JIS

- SafeMode
  ``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.

  Default value: `1`

  Example:

      SafeMode 0

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

  Default value: `a href,b,br/,p,strong,em,ul,li,blockquote`

  Example:

      GlobalSanitizeSpec blockquote,div

- GenerateTrackBackRSS
  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

- SearchTemplatePath
  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 directory.

  Default value: ./search_templates/

  Example:

      SearchTemplatePath /home/foo/my/search_templates/

- DefaultTemplate
  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

- AltTemplate
  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

- ExcludeBlogs
- IncludeBlogs
  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

- RegexSearch
- CaseSearch
  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

- SearchCutoff
- CommentSearchCutoff
  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

- MaxResults
  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 `5`, 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)

  Example:

      MaxResults 5

- ResultDisplay
  The sort order for the search results. Using `ascend` will list the entries in chronological order (oldest entry at the top); using `descend` will list the entries in reverse chronological order (newest entry at the top).

  Default value: `descend`

  Example:

      ResultDisplay ascend

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

  Default value: `created_on`

  Example:

      SearchSortBy title

- ExcerptWords
  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

- SearchElement
  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 `entries`, `comments`, or `both`.

  Default value: `entries`

  Example:

      SearchElement both

- NoOverride
  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

  Example:

      NoOverride IncludeBlogs,ExcludeBlogs

Copyright © 2001-2003 Six Apart. All Rights Reserved.