Solved

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

Posted on 2000-03-13
7
197 Views
Last Modified: 2013-12-25
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
Comment
Question by:cmuir
  • 3
  • 3
7 Comments
 

Accepted Solution

by:
venky75 earned 30 total points
ID: 2611656
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
 

Author Comment

by:cmuir
ID: 2611824
When installing perl should I install it at root of C: or c:/inetpub/wwwroot?
0
 

Expert Comment

by:venky75
ID: 2614704
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
DevOps Toolchain Recommendations

Read this Gartner Research Note and discover how your IT organization can automate and optimize DevOps processes using a toolchain architecture.

 

Author Comment

by:cmuir
ID: 2624747
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
 

Expert Comment

by:venky75
ID: 2626479
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
 
LVL 16

Expert Comment

by:maneshr
ID: 2645368
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
 

Author Comment

by:cmuir
ID: 2699590
Thanks :o)
0

Featured Post

Master Your Team's Linux and Cloud Stack

Come see why top tech companies like Mailchimp and Media Temple use Linux Academy to build their employee training programs.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

Preface In the first article: A Better Website Login System (http://www.experts-exchange.com/A_2902.html) I introduced the EE Collaborative Login System and its intended purpose. In this article I will discuss some of the design consideratio…
I found this questions asking how to do this in many different forums, so I will describe here how to implement a solution using PHP and AJAX. The logical flow for the problem should be: Write an event handler for the first drop down box to get …
In this fifth video of the Xpdf series, we discuss and demonstrate the PDFdetach utility, which is able to list and, more importantly, extract attachments that are embedded in PDF files. It does this via a command line interface, making it suitable …
In this seventh video of the Xpdf series, we discuss and demonstrate the PDFfonts utility, which lists all the fonts used in a PDF file. It does this via a command line interface, making it suitable for use in programs, scripts, batch files — any pl…

770 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question