• Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 206
  • Last Modified:

> How do I setup IIS to run CGI scripts?<

Hi,

First time I have done this - and don't want to cock-it-up.

What do I have to do to setup my IIS (on NT) to run Perl (and other) CGI scripts?

A few queries include -

Do I have to install Perl on the machine for it to run?

Do I have to change the permissions on the .pl file in cgi-bin to make it executable (at the moment it just looks like a txt file)

any help would be appreciated here

Cheers

Charlie

0
cmuir
Asked:
cmuir
  • 3
  • 3
1 Solution
 
venky75Commented:
Hello there,

First thing to do is install PERL on ur m/c.

Then edit the path system variable
under Environment (available under properties of My Computer). Add the perl.exe path to the existing path if not existing(Usually is done during the installation itself)

Next click the Properties of ur site(which direct to ur cgi or perl files) on IIS. In that click on the tab "Home Directory". Then click on the "Configuration" button.
Now click on "Add" button under Add Extension /Application map setting.
In the path field mention the path of ur perl.exe(Eg.:c:/perl/perl.exe)as
      c:/perl/perl.exe %s%s
In the extn. u have to give .pl or .cgi.
Then click o.k. and apply. restart the webservice.

No permission settings are required as the above settings will help in configuring the rest.
0
 
cmuirAuthor Commented:
When installing perl should I install it at root of C: or c:/inetpub/wwwroot?
0
 
venky75Commented:
It is irrelevant where PERL is installed. Only don't forget to mention the path to the perl exe file both in the system path and for the IIS site.
0
What does it mean to be "Always On"?

Is your cloud always on? With an Always On cloud you won't have to worry about downtime for maintenance or software application code updates, ensuring that your bottom line isn't affected.

 
cmuirAuthor Commented:
If I have it installed on D:\Perl what is the #!/ dir?

(when cgi-bin is at D:\inetpub\wwwroot\cgi-bin)

sorry about this - doh!
0
 
venky75Commented:
This doesn't matter really what path u mention in ur .cgi or .pl file. In the IIS, it matters for path to be given to D:/Perl/bin/perl.exe...
0
 
maneshrCommented:
since you are using PERL for CGI scripting, here how you configure and test a PERL Script with Internet Information Server (IIS)

============================================
Configuring and Testing a PERL Script with Internet Information Server (IIS)

SUMMARY

  The following PERL script can be used to test for the proper installation and execution of CGI
scripts with Internet Information server.

MORE INFORMATION

  Create a file with Notepad, and type the following lines of code. Save the file in the scripts
  directory as Helloworld.pl.

  print "HTTP/1.0 200 OK\n";
  print "Content-Type: text/html\n\n";

  print "<HTML>\n";
  print "<HEAD>\n";
  print "<TITLE>Hello World</TITLE>\n";
  print "</HEAD>\n";
  print "<BODY>\n";
  print "<H4>Hello World</H4>\n";
  print "<P>\n";
  print "Your IP Address is $ENV{REMOTE_ADDR}.\n";
  print "<P>";
  print "<H5>Have a nice day</H5>\n";
  print "</BODY>\n";
  print "</HTML>\n";


  Once you have created the file, you need to configure PERL to run securely with Internet
Information. Perl.exe should not be located in any of the directories accessible by a user with a
browser.

  With a script mapping in the registry, you can place the Perl.exe outside of the normal
directory structure a user has access to.

  To configure PERL script mapping

     1.Start Regedt32.exe and open the following registry key:

       HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W3SVC
\Parameters\ScriptMap

     2.Click Add Value from the Edit menu.

     3.The Value Name is .pl

     4.The Data type is REG_SZ.

     5.The String value is D:\Perl\perl.exe %s %s

       NOTE: The "%s %s" is case sensitive. (e.g. "%S %S" will not work).

     6.Restart the WWW service.

  Now that the registry has been configured, you can test the PERL script with your browser.
  Using the defaults directory structure with IIS, the URL would be the following:

       http://<Server Name>/scripts/helloworld.pl?
0
 
cmuirAuthor Commented:
Thanks :o)
0

Featured Post

Become an Android App Developer

Ready to kick start your career in 2018? Learn how to build an Android app in January’s Course of the Month and open the door to new opportunities.

  • 3
  • 3
Tackle projects and never again get stuck behind a technical roadblock.
Join Now