Setting up IIS for ActivePerl

In the good old days, you could turn on IIS 5, install ActivePerl, and get a working integrated setup for your Windows systems right out of the box. However, policy changes released with IIS 7, IIS 7.5, and recent service packs for IIS 5 and 6 have prevented the existing ActivePerl installers from automatically setting up all the configuration needed to use ActivePerl inside your IIS server. A number of additional manual steps have been required before Perl-driven web pages would work. What needed to be changed, and how you changed it, was different for each version of IIS. If you didn't know much about IIS, the whole thing could be quite frustrating to get right.

Of course things were never perfect. Even in the good old days, if you decided to turn on IIS after you installed ActivePerl, you had to set things up manually or put yourself through a re-install.

ActiveState has created something to help you out. With ActivePerl 5.10.1.1007 and higher we have been including a new tool called "ap-iis-config". 1007 and higher installers will call this tool automatically, restoring their ability to configure the current generation of IIS products. Since this is a stand-alone tool, you can also use it if you switch on IIS after ActivePerl has been installed, or if you just want to tweak your server configuration. "ap-iis-config add all" will add all applicable script mappings to both the root configuration and to the default website. Here's an example for doing something more specific:

  ap-iis-config add all --site 1 --cgi --isapi

The --site option specifies that the changes will only apply to site 1 (you can find the site ID's with ap-iis-config list sites). The --cgi and --isapi options adds a *.pl mapping for perl.exe and the --isapi option adds a *.plx mapping for perlis.dll, the Perl for ISAPI plugin. There's also a --perlex option which will add both *.plex and *.aspl mappings for the PerlEx plugin. If no --site is specified, then the script mappings will be added to both the root configuration and to the default web site (sites 0 and 1). In that case, ap-iis-config will also add a virtual PerlEx directory to the default web site that will point to the PerlEx samples directory (if installed).

To make things even easier if you are on Windows Vista or later, 'ap-iis-config add all' will install IIS 7 or 7.5, including the optional CGI and ISAPI modules as required. On older versions of Windows, IIS must still be installed manually.

ap-iis-config can do other IIS management actions related to ActivePerl setup. For the full story, you can read the man page here:

http://docs.activestate.com/activeperl/5.10/bin/ap-iis-config.html