>
Installing Perl and/or CGI
Welcome, Guest

by Hemant on Friday, 20 February 2009
Installing Perl and/or CGI


Introduction: Installing Perl and/or CGI is completely optional and none of the other parts of this tutorial require it to be installed. The only reason to install ActivePerl is if you will be running Perl based CGI scripts.

    ActivePerl 5.8

1.Download
Download the latest version of ActivePerl from http://www.activestate.com/store/activeperl/download  

2.Install
If you will be using Perl CGI programs and want to maintain some level of portability between both Linux machines and Windows machines, you will want to install Perl to the same location on your Windows machine that it is on most Linux machines.

For example, on a standard Linux machine, Perl is located at /usr/bin/perl and so every Perl program that I write begins with #!/usr/bin/perl. So, when I install Perl on a Windows machine, instead of installing it in the default location (which is E:perl for ActivePerl) I install it in E:usr so that the Perl executable is located at /usr/bin/perl. This allows me to write code on my Windows machine, then move it (without making any changes) to a Linux machine and have it run there. And vice versa.
[Check] Add Perl to the PATH environment variable
[Check] Create Perl file extension association
The rest should be grayed out and read-only, but if not, leave them unchecked

3.Activating CGI
Using Notepad (or other text editor) open httpd.conf (should be start-menu shortcut "Apache HTTP Server 2.2 > Configure Apache Server > Edit the Apache httpd.conf Configuration File") and search for Options Indexes FollowSymLinks (about line 190) when you find it add ExecCGI to the end so it looks like Options Indexes FollowSymLinks ExecCGI

4.[OPTIONAL] Enabling CGI in any directory
If you want to use CGI outside the C:/Apache2_2/cgi-bin/ ScriptAliased directory, you will need to uncomment the following line: #AddHandler cgi-script .cgi becomes AddHandler cgi-script .cgi (remove the #) I also added .pl behind .cgi so 'perl' extension is also treated as cgi files.

If you will be creating your own cgi-bin, you will want to comment out: ScriptAlias /cgi-bin/ "C:/Program Files/Apache Software Foundation/Apache2.2/cgi-bin/" so it becomes #ScriptAlias /cgi-bin/ "C:/Program Files/Apache Software Foundation/Apache2.2/cgi-bin/"

5.Finding your location to perl
If you do not know where your perl.exe installed to, go to Start -> Search and type in a search for perl.exe This location is the path to perl you put on the top of all your cgi scripts. If you listened to my advice in the "Install" step, the path should be close to: C:/usr/bin/perl.exe
Some notes
For the perl path C:/usr/bin/perl.exe all of these are/were valid. I prefer the last one because of the Linux <<>> Windows portability.
#!C:/usr/bin/perl.exe
#!C:/usr/bin/perl
#!/usr/bin/perl.exe
#!/usr/bin/perl

6.Testing CGI
If you if you uncommented (removed the # symbol) the line AddHandler cgi-script .cgi in step #4, then create a file in your document_root called hello.cgi and put these three lines in it (if you did not comment/disable it, put the CGI file in C:/Apache2_2/cgi-bin/):
#!/usr/bin/perl
print "Content-type:text/htmlnn";
print "hello world";

7.Restart Apache if it is already running. Now go to http://localhost/cgi-bin/hello.cgi (or wherever you put the file) and run the script.

8.If you get a hello world in your browser, CGI is running. If you get a 500 error, go to the last entry in Apache error log (Apache HTTP Server 2.2 > Review Server Log Files > Review Error Log shortcut in the Start Menu) to see exactly what caused this error.



Blogger Image
My Blog Title

Product Engineering, software engineering company, Product Development, Product Migration, Product Re-engineering, Product Maintenance, Product Testing Commercial Application Development, Business Software development, commercial software for startups, Application Support and Maintenance, software testing Product Maintenance, Outsource product maintenance, product support and maintenance Product Migration, Product Re-engineering, product re-engineering services Product Research, Product Engineering, UI Prototyping Services Software Testing Services, Quality Assurance services, professional software testers, Load Testing, Functional Testing, Cross Platform, Browser Testing, Test Automation, Testing Tools, software quality analysis Functional Testing Services, software quality analysis, Software Testing Services, Application Testing Services, Functional Testing Types Automated Testing, Automated Testing Services, automation testing, test script development, Automation Test Tools, outsource automation testing Load Testing, Performance Testing Services, Load Testing Tools Offshore Software Development, Outsource software services, offshore outsourcing services, offshore software development services, IT outsourcing services, software quality assurance services, Offshore IT services, Custom Application Development Services, Offshore Product Engineering Benefits of IT Outsourcing, Offshore Software Development companies, offshore software development firms Outsource planning, IT outsourcing, IT development services, offshore IT companies, offshore software development Offshore Software Development, Outsource software services, offshore outsourcing services, offshore software development services, IT outsourcing services, software quality assurance services, Offshore IT services, Custom Application Development Services, Offshore Product Engineering Offshore Software Development, Outsource software services, offshore outsourcing services, offshore software development services, IT outsourcing services, software quality assurance services, Offshore IT services, Custom Application Development Services, Offshore Product Engineering