FastCGI and Microsoft IIS
Although Microsoft Internet Information Services web servers can, in their initial state, support the use of FastCGI, there are several steps that are required to prepare such servers to best use Movable Type with FastCGI.
Install FCGI Perl module
In order to operate Movable Type with FastCGI, the FCGI module must be installed. See Perl Module Installation for information on the installation procedure.
Install Movable Type
See Windows Server Installation Instructions for detailed information on the installation procedure. It is important that you do not specify any CGI scripting settings.
Set up handler mappings
In order for the Movable Type CGI scripts to work with FastCGI, there are several IIS manager settings that need to be configured.
Running FastCGI
- Select MT Site > mt.
- Right click on Handler mapping from Function view, and then click Open functions.
- From the operating menu, click Add a module map.
- Enter all these CGI scripts.
Common Setup Sample
- Module: FastCgiModule
- Name: Optional
- Option: Request restriction boxes should be left unchecked
Important: Replace %SP%
with the Strawberry Perl application directory and %MT%
with the Movable Type application directory
Request path | Executed file |
mt.cgi | %SP%\bin\perl.exe | %MT%\mt.cgi |
mt-atom.cgi | %SP%\bin\perl.exe | %MT%\mt-atom.cgi |
mt-comments.cgi | %SP%\bin\perl.exe | %MT%\mt-comments.cgi |
mt-cp.cgi | %SP%\bin\perl.exe | %MT%\mt-cp.cgi |
mt-data-api.cgi | %SP%\bin\perl.exe | %MT%\mt-data-api.cgi |
mt-feed.cgi | %SP%\bin\perl.exe | %MT%\mt-feed.cgi |
mt-search.cgi | %SP%\bin\perl.exe | %MT%\mt-search.cgi |
mt-sp.cgi | %SP%\bin\perl.exe | %MT%\mt-sp.cgi |
mt-tb.cgi | %SP%\bin\perl.exe | %MT%\mt-tb.cgi |
mt-xmlrpc.cgi | %SP%\bin\perl.exe | %MT%\mt-xmlrpc.cgi |
Running scripts through CGI
- Click MT Site > mt.
- Right click Handler mapping from Function view and then click Open functions.
- From the operating menu, click Add a script map.
- Specify the necessary CGI scripts based on the information in the table below.
Request path | Executed file |
mt-check.cgi | %SP%\bin\perl.exe "%s" %s |
mt-wizard.cgi | %SP%\bin\perl.exe "%s" %s |
mt-upgrade.cgi | %SP%\bin\perl.exe "%s" %s |
Movable Type settings
- Open
mt-config.cgi
in a text editor. Add the
IISFastCGIMonitoringFilePath
environment variable and set the filename as the full path.Example:
IISFastCGIMonitoringFilePath /path/to/pid_file
Create the file specified by
IISFastCGIMonitoringFilePath
.Example:
c:\>type nul > /path/to/pid_file
Open the properties of the created file and give write permission to the IUSR user.
FastCGI settings
- Click MT Site > mt.
- Double click FastCGI under Function view to open the FastCGI application listing screen.
- Double click the CGI script that should have been set up using the directions from the previous section (Required settings for running FastCGI). The Edit FastCGI application dialogue box will appear. From FastCGI properties, select Monitor changes to files, and then enter the file specified in
IISFastCGIMonitoringFilePath
. - Select Environment Variable and then click the button on the right side to open the EnvironmentVariables Collection Editor.
- Click Add from the bottom of the left hand list to add a new member.
Select the new member by clicking their name, and then confirm the Name and Value that appear on the right side.
- Name:
MT_HOME
- Value: Movable Type Advanced directory path (Such as
C:/Inetpub/app/mt60x
)
- Name:
Click OK, close the EnvironmentVariables Collection Editor, and then click OK in the Edit FastCGI application dialogue box to close it.
- Repeat steps for all remaining CGI scripts
Notes
- The values for Max Instances, Instance MaxRequests, Activity Timeout, Idle Timeout and Request Timeout can be adjusted if necessary.
- If increasing Max Instances, keep in mind when using
mt.cgi
that one instance requires about 100 to 250 megabytes of memory. - For Activity Timeout, Idle Timeout and Request Timeout, 600 to 900 is the recommended setting for processes that take a lot of time to execute, such as importing.
- Operation verification is not possible with ActivePerl.