Home Accessibility Courses Twitter The Mouth Facebook Resources Site Map About Us Contact
Python and Tcl - public course schedule [here]
Private courses on your site - see [here]
Please ask about maintenance training for Perl, PHP, Lua, etc
Configuring httpd, or Tomcat, to run CGI scripts in Perl

Evening trip to AveburyHere's a Perl / CGI script - a "Common Gateway Interface" program that I want to run on my web server, and access via my browser. What server to I need to run it on, and how do I set that server up?

print ("Content-type: text/html\n\n");
$now = localtime();
print "<h1>It really is<h1>$now";

You can run CGI (and through it Perl Scripts like the one above) on either the Tomcat OR the httpd servers. It will run on httpd, and it will walk on Tomcat as it's in a Java servlet container ;-) ... but if you've only a bit to do, you choose.

How do we set 'em up?


1. In the conf/web.xml file, enable the cgi servlet and also allow for all URLs that start /cgi-bin to be routed to it.

2. In the server/lib directory, rename servlets-cgi.renametojar to servlets-cgi.jar

3. In the WEB-INF folder in your web application, add a cgi folder and place your CGI script in there.

4. Stop / Restart your Tomcat.

5. Try it out! http://whereverserver:myport/appname/cgi-bin/script.pl (and you can route it via httpd and mod_proxy and balancer too if they're in use!)


1. In the conf/httpd.conf file, change the ScriptAlias for cgi-bin to point to the directory you'll be using for CGI - usually a sibling to your htdocs directory.

2. In the same file, set the Options for that directory to include ExecCGI

3. Create the directory for the CGI scripts if it doesn't already exist

4. Add a CGI script to the cgi-bin folder, making sure that it's executable!

5. Stop / Restart your httpd

6. Try it out! http://whereverserver/cgi-bin/script.pl

Some Interesting Extras!

1. You can point both configurations to the same cgi directory, so that scripts can be run by either httpd or Tomcat (If you do the same with your web applications, it means that a single web application ans all its support files can be kept in the same place, irrespective of which server serves which parts.)

2. You can have one instance of httpd forwarding to other instances of httpd through mod_proxy_httpd and mod_proxy_balancer, allowing a single domain name and port to be served by multiple machines through a single front end. A great solution when the traffic load is too high for one machine, but too low for an sophisticated solution such as a hardware load balancer.

We cover the setup of Apache http on our Linux Web Server course and the setup of Apache Tomcat on our Apache httpd and Tomcat course.

Illustration. We often get delegates on our more specialised courses from other countries in Europe, or even from other continents. And when we have a visitor who's not seen England before, we'll take extra time after the course has finished for the day to show them around our beautiful area. In this case, a delegate from Cyprus sees some of the stones at Avebury.
(written 2009-06-05, updated 2010-06-23)

Associated topics are indexed as below, or enter http://melksh.am/nnnn for individual articles
J950 - Java - Tomcat Sourcing, Installation and Initial Testing
  [2218] Multiple web applications under Tomcat - what are the options? - (2009-06-05)

P303 - Perl - Miscellany
  [3159] Returning multiple values from a function call in various languages - a comparison - (2011-02-06)
  [3012] Exception handling in Perl - using eval - (2010-10-23)
  [2877] Further more advanced Perl examples - (2010-07-19)
  [2876] Different perl examples - some corners I rarely explore - (2010-07-18)
  [2427] Operator overloading - redefining addition and other Perl tricks - (2009-09-27)

Back to
Multiple web applications under Tomcat - what are the options?
Previous and next
Horse's mouth home
Forward to
Melksham Traders - where do we go?
Some other Articles
CSS Style Diagrams - working out where attributes come from
A (biased?) comparison of PHP courses in the UK
Adding a newsfeed for your users to a multipage PHP application
Melksham Traders - where do we go?
Configuring httpd, or Tomcat, to run CGI scripts in Perl
Enjoying the summer weather
Past Delegate Offer - Summer Holiday / Weekend Break
If nothing, make it nothing.
Global Index to help you find resources
4759 posts, page by page
Link to page ... 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96 at 50 posts per page

This is a page archived from The Horse's Mouth at http://www.wellho.net/horse/ - the diary and writings of Graham Ellis. Every attempt was made to provide current information at the time the page was written, but things do move forward in our business - new software releases, price changes, new techniques. Please check back via our main site for current courses, prices, versions, etc - any mention of a price in "The Horse's Mouth" cannot be taken as an offer to supply at that price.

Link to Ezine home page (for reading).
Link to Blogging home page (to add comments).

You can Add a comment or ranking to this page

© WELL HOUSE CONSULTANTS LTD., 2019: 404 The Spa • Melksham, Wiltshire • United Kingdom • SN12 6QL
PH: 01225 708225 • EMAIL: info@wellho.net • WEB: http://www.wellho.net • SKYPE: wellho

PAGE: http://www.wellho.net/mouth/2219_Con ... -Perl.html • PAGE BUILT: Sat May 27 16:49:10 2017 • BUILD SYSTEM: WomanWithCat