MT Hosting Quirks

From MovableType

This page details some shared experiences and issues related to use of Movable Type/MT Enterprise in common commercial web hosting environments.

Please note that this page is not for comparing different web hosts and/or promoting one over the other. In many cases, developers have no choice but to use a particular web host for their client so please keep feedback related to each host constructive and useful.

Contents

1&1

  • 1&1 does not support Image::Magick (which MT uses for creating thumbnails of uploaded images); instead, you can tell MT to use NetPBM by adding "ImageDriver NetPBM" to your mt-config.cgi file.
  • 1&1 places time limits on scripts on shared hosting. I think those limits are 10 seconds of processor time. If the limit is exceeded, the script is terminated. Once you blog reaches a moderate size (a few hundred posts), you'll start getting 500 errors on rebuilds, particularly big page rebuilds like category archives. Trimming the page content helps, but only buys you time. Eventually even single comments will trigger a 500 error. There is no solution other than switching hosts or getting a dedicated server as the limits are not changeable. --Salguod 17:48, 5 February 2008 (PST)

A Small Orange

  • No SQLite
  • No Perl FastCGI

domainFACTORY

  • The european hosting company domainFACTORY supports CGI::Fast but not Crypt::DSA.

DreamHost

  • Process termination - DreamHost has a process reaper that kills processes based on a certain set of aggressive and, unfortunately, mysterious criteria which together may impact their shared hosting environment.
    • It does not seem to solely operate on either load or process time, but, I am guessing a combination of both.
    • It seems as though you can it avoid for long running processes (e.g. the rebuild queue daemon) by using 'nice' on any long running processes
  • RebuildQueue Usage - Due to the aggressive process termination issue, execution of the RebuildQueue process daemon from the crontab is an exercise in futility. It was for this reason that the restart_rebuild_queue script was created. This script should be altered to suit your needs and executed from crontab instead of the RebuildQueue script.
  • FastCGI - Movable Type/MT Enterprise can be run over FastCGI on DreamHost. For more on that see here. In some odd cases when an internal server error is experienced, subsequent 'touch'ing of the MT scripts to prompt a FastCGI server restart doesn't work. When this happens, the server will often right itself in a short time.

GoDaddy

  • GoDaddy's filepaths can seem strange and hard to determine if you're not used to them. This page shows one method of figuring out where your files are for Linux hosting plans.

LivingDot

  • LivingDot Blog Hosting one of the first Movable Type Hosting partners launched a number of new services including design/consulting through FirmDot, the only downside to LivingDot is they don't offer Phone support to Personal plan customers. Email replies are very fast though.

MediaTemple

  • At this time (22 Jan. 2007), Media Temple **has not** implemented FastCGI on the ss or gs plans. There is access to FastCGI via Ruby on Rails on the gs plan in what is called a container, but this, of course, does us Movable Type users no good.

(ss) Shared Server plans

  • The ss plans are being phased out in favor of the new gs plans.
  • MediaTemple's ss (shared server, a.k.a. virtual hosting) plan only allows crontab items to run a maximum of once per hour. Scripts running under cron on the ss plan must be web-based and accessed via a URL rather than a path on the server. You can get around this with a wrapper CGI script. You also cannot modify your crontab directly (ex. crontab -e), but must file a support request. More info.

(gs) Grid Server plans

  • The gs (grid server, or next generation virtual hosting) plan does not have the ss plan cron restrictions. However, the gs plan is limited to five cron jobs for each hosted domain (as opposed to mirrored domains), and users are still do not have access to crontab via shell. There is a web-based interface to create cron jobs.
  • No SQLite

(dv3) Dedicated Virtual Server plans

  • Dedicated Virtual plans have access to FastCGI via mod_fcgid, which must be activated on a per-domain basis.
    • The dv server's config is fairly locked down, so the simplest way to enable this is to add "AddHandler fcgid-script .fcgi" directly to httpd.conf, which will take care of it for all domains anyway.
    • The module's configuration is at "/etc/httpd/conf.d/fcgid.conf"
      • 09.27.2007 Applying fcgi to the main mt.cgi file seems to interfere with adding tags on the entry edit screen. Fine for mt-comments (This is re 3.35. Haven't checked v4 yet.)
  • You'll have to install Image::Magick yourself if you want it. The installed NetPBM seems to have problems with (some?) PNG files.
  • If you're running multiple domains, you'll need multiple codebases(the database can be shared). The server setup does not allow MT running at domainA.com to write files to domainB.com.
  • Related to the previous, you should manually specify the TempDir config directive as a location each individual domain can write to. Otherwise, the file containing throttle data in /tmp/ will belong to whichever domain does it first and the others will be unable to make us of the ThrottleSeconds directive, creating a greater opening to comment/search/trackback hammering.

Network Solutions

  • Absolute file paths are very long (/data/##/#/###/###/#######/user/#######/) and the help desk does not know what they are. Use mt-check.cgi current working directory to find the absolute path.

Nexcess.net

NEXCESS.NET is now a certified Movable Type hosting partner. This allows us to offer the Movable Type software starting at $2.95 per month. We are currently offering both the Unlimited Personal and Commercial editions.

I've used them for years, and their customer service is spectacular and often pro-active.

Pair Networks

  • Pair only allows crontab items to run a maximum of once per hour
  • Pair has implemented exceptions for MT's resource usage in its reaper system, but they are tied to the default filenames, so you can't take advantage of mt-config overrides.


TextDrive

From their AUP:

  • Processes using a "significant percentage"" of a server's processor will be terminated at TxD's discretion. Several "tools" look for such processes and will re-nice them. TxD says it alerts customers to these problems. Judging from forum chatter, they do.
  • Cron jobs, etc., that "do not excessively use processor or network resources" may be run no more than once per hour. A scheduled process that is "processor- or network-intensive" may be run no more than once a day.
  • Long-running (more than 5 minutes) processes are not allowed, "unless specifically authorized in advance."
  • Process limits: CPU time: 20 minutes; Resident memory: 48 megs; virtual memory: 80 megs; open files: 240; running processes: 20
  • FastCGI: Not on Apache; allowed on self-installs of lighttpd

Any host running Zeus

  • Under Zeus, there is an issue with the way MT::Bootstrap determines the MT directory, such that plugin CGI scripts cannot find the config file. To work around this, you can hard-code the MT directory path into the plugin CGI script by putting this before the "use MT::Bootstrap" line:

BEGIN { $ENV{'MT_HOME'} = '/path/to/mt'; }

Windows servers

If you try and access mt.cgi and get "CGI Error. The specified CGI application misbehaved by not returning a complete set of HTTP headers" you need to fix it by doing the following:

Open up all .cgi files in the root of your MT install and change 'lib' to the full pathname of your lib (which can be found by running mt-check.cgi which should run anyway). For example change:

use lib $ENV{MT_HOME} ? "$ENV{MT_HOME}/lib" : 'lib';

to

use lib $ENV{MT_HOME} ? "$ENV{MT_HOME}/lib" : 'D:\www\sitename\cgi-bin\mt4\lib';