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
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
Post a Comment
Post a Comment