Take the 2-minute tour ×
Server Fault is a question and answer site for professional system and network administrators. It's 100% free, no registration required.

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.

share|improve this question
add comment

2 Answers

up vote 1 down vote accepted

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.

share|improve this answer
    
If it worked for you, why don't you mark your question answered? –  gWaldo Sep 8 '10 at 20:35
    
Sorry about that - I couldn't mark it as answered right away and I haven't been back to Serverfault since. –  RobbieCanuck Sep 20 '10 at 16:56
    
Thanks for much! I also had to set the pipeline mode to classic in the app pool settings... –  Christopher Edwards Oct 24 '10 at 16:22
    
Thank you so much for writing this, Mr. Robbie Canuck! This was the ultimate HowTo that I needed, to get Perlfect search running on IIS 7.5. Of course I tried to contact you in person, for sending you a bunch of Euros and German chocolate, but unfortunately I did not succeed. Vergelt’s Gott! –  user179545 Jun 28 '13 at 7:21
add comment

It was because of oddities with packages, I moved from ActivePerl to Strawberry Perl. It is much closer to a *nix Perl, and since it installs a C compiler, you can use CPAN natively.

share|improve this answer
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.