Configuring Apache to run CGI programs isn't that hard. First, you need to assign an alias for your script directory.

So you create a special location, called an alias, to the actual CGI directory. Edit your httpd.conf file and add the line below:

ScriptAlias /cgi-bin/  /usr/local/apache/share/cgi-bin/

However, this does not configure Apache to run the programs it finds in the cgi-bin directory. To actually execute programs, you need to edit the access.conf file by adding a section like this:

<Directory /usr/local/apache/share/cgi-bin>
Options ExecCGI
AddHandler cgi-script   .cgi   .pl


Here is how CGI works

CGI test

You need a web page that uses forms to call the cgi script. Create a plain text file

called testcgi.html

Here it is:

<meta content="text/html; charset=ISO-8859-1"

<form action="cgi-bin/mycgi.cgi">
<input name="Firstname" type="text">
<input value="OK" type="submit">


Create a plain text file called mycgi.cgi

print "Content-type: text/plain\n\n";
print "That worked\n";

The script will fail if it has the wrong permissions, and it needs to be in a directory called


which also has the correct permissions.

Using an ftp client such as filezilla,

  • upload testcgi.html to the top-level of your account.

  • create a directory called cgi-bin

  • upload mycgi.cgi to cgi-bin

  • change the permissions of cgi-bin to 75

Browse to your home page

You will see a form. Type xxxx into it and click the OK button.

The URL line will change to

The page will display
That worked


Popular Posts