How to install Perl 5.8 and Perlfect on IIS 7.5

iis-7.5perl

I've got an old website that I need to keep running on a new server – Windows Server 2008 R2 with IIS 7.5. The website uses Perlfect search (http://www.perlfect.com/freescripts/search/), which requires both Perl and the DB_File Perl module. The latest versions of ActiveState Perl (5.10 and above) come with a script to correctly work with IIS 7.5, but for some reason are unable to run DB_File (details are available on the ActiveState site). The latest version of ActiveState Perl that will run DB_File on windows is 5.8, but that version does NOT come with the script that configures IIS 7.5.

Best Answer

I couldn't make any headway on the "No DB_File for Perl 5.10 + on windows", so I decided to tackle integrating Perl 5.8 with IIS 7.5.

I installed ActiveState Perl 5.8.7 (32 Bit). I installed DB_File using ppm (install DB_File). I verified that Perlfect worked at the command line by running the indexer.pl script first, then running searches using the search.pl script.

To get Perl scripts working in IIS I adapted the instructions for PHP in IIS 7.5 at http://www.go2inbox.com/infob/readinfo.php?readinfo=1688

  1. Open IIS
  2. Click on the webserver name in the left hand panel
  3. Double click on the Handler Mapping icon in the IIS section of the middle pane
  4. Click on "Add Script Map" located at the right hand side under Actions.
  5. In the pop up window set "Request path:" to "*.pl", "Executable:" to "c:\perl\bin\perlis.dll" and the "Name" to "Perl" and click OK.
  6. Say "yes" to the dialog box that asks if you want to enable this ISAPI script
  7. Click on "Application Pools" on the left hand pane in IIS. In the middle pane, right click on the application pool you are using (in my case "DefaultAppPool").
  8. Choose Advanced Settings
  9. Set "Enable 32 Bit Applications" to True (I did not test the 64 bit version of Perl).
  10. Click on the webserver in the left hand pane, then click on the "Restart" link that appears in the right hand pane.

That worked for me. I should be able to limp along until we upgrade the search function to the 21st century.