Installing Perl/CGI on Microsoft Windows

My Configurations

My system is configured as follows:

Web root = c:/www Apache version = 2.2.6 Apache installation directory = c:/Apache2.2/

Download ActivePerl

Download windows MSI version from http://www.activestate.com/store/activeperl/download

Install ActivePerl

Double click on the downloaded file to install it. By default it installs at c:/Perl.

Test Installation

To test whether the installation was successfull, we need to create and run a hello world file.

!c/Perl/bin/perl

print "Hello, World...\n";

Save the file as c:/www/hello.pl
Start > Run > cmd > Ok type perl hello.pl

If you see Hello, World..., Perl installed correctly, otherwise reinstall ActiveState Perl.

Activate CGI

Open httpd.conf change
Options Indexes FollowSymLinks
to
Options Indexes FollowSymLinks ExecCGI
ExecCGI tells Apache to execute CGI. Next, change
#AddHandler cgi-script .cgi
to
AddHandler cgi-script .cgi .pl
Now .cgi and .pl files could be executed as CGI.

Test CGI

!/Perl/bin/perl

print "Content-type:text/html\n\n"; print "hello world";

Save it as c:/Apache2.2/cgi-bin/hello.cgi. View http://localhost/cgi-bin/hello.cgi in your browser. If you see hello world, CGI is working correctly.

Running CGI from another address

Very often you would not want to run CGI from an Apache directory. To change the cgi-bin, create the folder

c:/www/cgi-bin/
Then edit your httpd.conf file. The ScriptAlias line should look as follows:
ScriptAlias /cgi-bin/ C:/www/cgi-bin/
and change
<Directory "C:/Apache2.2/cgi-bin">
to
<Directory "C:/www/cgi-bin">

Errors

Perl errors are logged in the Apache error log. To view it, go to Start > Apache HTTP Server 2.2.6 > Review Server Log Files > Review Error Log or C:/Apache2_2/logs/error.log

Technologies: 
Actions: