Home Accessibility Courses Twitter The Mouth Facebook Resources Site Map About Us Contact
For 2021 - online Python 3 training - see ((here)).

Our plans were to retire in summer 2020 and see the world, but Coronavirus has lead us into a lot of lockdown programming in Python 3 and PHP 7.
We can now offer tailored online training - small groups, real tutors - works really well for groups of 4 to 14 delegates. Anywhere in the world; course language English.

Please ask about private 'maintenance' training for Python 2, Tcl, Perl, PHP, Lua, etc.
Configuring httpd, or Tomcat, to run CGI scripts in Perl

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

J950 - Java - Tomcat Sourcing, Installation and Initial Testing
  [2218] Multiple web applications under Tomcat - what are the options? - (2009-06-05)

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., 2022: 48 Spa Road • Melksham, Wiltshire • United Kingdom • SN12 7NY
PH: 01144 1225 708225 • EMAIL: info@wellho.net • WEB: http://www.wellho.net • SKYPE: wellho

PAGE: http://www.wellho.net/mouth/2219_Con ... -Perl.html • PAGE BUILT: Sun Oct 11 16:07:41 2020 • BUILD SYSTEM: JelliaJamb