Discover more... ©milankantony

How to add CGI and Perl in apache

✔✔✔rating
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
</Directory>

 

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:
"http://www.w3.org/TR/html4/strict.dtd">
<html><head>

<meta content="text/html; charset=ISO-8859-1"
http-equiv="content-type">
<title>testcgi</title>

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

</body></html>


Create a plain text file called mycgi.cgi

#!/usr/bin/perl
print "Content-type: text/plain\n\n";
print "That worked\n";
exit(0);


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

cgi-bin

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
http://www.WhereEver-It-Is/~YourUserName/testcgi.html

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

The URL line will change to
http://www.WhereEver-It-Is/~YourUserName/cgi-bin/ 
mycgi.cgi?Firstname=xxxx

The page will display
That worked

Recommend for you



Most Read

Blog Archive

Scroll To Top