How to Install
a CGI Script and Increase Web Site Interactivity
© Herman Drost
You may have
delayed cgi script installation due to the apparently complex process. Well, I
avoided it also for several years, however if you want to increase your web
site's interactivity it's a necessity to know how to do it. It's not hard to
learn and you don't have to be a programmer.
What is CGI ?
Common Gateway Interface or CGI is a program that can interact with an
html form on your web site, and processes the results on your server using a cgi
script. The result generated is a dynamic web page. The cgi script is written in
a language called PERL ("practical extraction and reporting language").
Uses of CGI Scripts
CGI scripts are most commonly used for creating user interaction with an html
form on your web site. Other uses include: autoresponders, shopping
carts,counters, mailing list managers, ad management, surveys, polls, discussion
boards, content management, calendars and click tracking.
There are 100s of free cgi scripts that can be found on the Net. Just do a
search on Google for "free cgi scripts" or visit the resources at the end of
this article.
We will create an html email form to collect the name, email address and
comments of subscribers using a secure cgi formmail script. An automatic
confirmation will be sent and the results of the email form will be passed
on to your email address.
Steps to installing your own cgi script
1. Check that your web host supports CGI - your web host will have a cgi-bin
folder installed on the server. The cgi-bin is a special directory in the server
where all the files which require security are kept. This is where you will
upload your cgi script once it has been modified.
2. Download the cgi script - this is a secure cgi formmail script.
Spammers can't access and harvest your email address from this script.
http://nms-cgi.sourceforge.net/formmail.zip
3. Read the documentation that comes with the script - this will give you
a thorough understanding what changes you need to make to have it work correctly
with your web site and server. It will also provide you with some
examples.
Editing your script
4. Open and edit your cgi script using notepad (don't use an html editor
as this can create errors).
5. Remove the html tags from the script (at the top and bottom).
6. Change the path to perl to: #!/usr/bin/perl -wT (this is the first
line of the script to be edited).
7. Edit the script - the bolded section of the cgi script shown
below, are the other minimum fields to fill out in the script. Replace the
fields in the script you downloaded with the bolded fields in the script
below.
# USER CONFIGURATION SECTION
# --------------------------
# Modify these to your own settings. You might have to
# contact your system administrator if you do not run
# your own web server. If the purpose of these
# parameters seems unclear, please see the README file.
#
BEGIN
{
$DEBUGGING = 1;
$emulate_matts_code= 0;
$secure = 1;
$allow_empty_ref = 1;
$max_recipients = 1;
$mailprog = '/usr/lib/sendmail -oi -t';
$postmaster = 'youraddress@yourdomain.com';
@referers = qw(yourdomain.com);
@allow_mail_to = qw();
@recipients = ();
%recipient_alias = ('siteowner' => 'youraddress@yourdomain.com',);
@valid_ENV = qw(REMOTE_HOST REMOTE_ADDR REMOTE_USER HTTP_USER_AGENT);
$locale = '';
$charset = 'iso-8859-1';
$date_fmt = '%A, %B %d, %Y at %H:%M:%S';
$style = '';
$no_content = 0;
$double_spacing = 1;
$wrap_text = 0;
$wrap_style = 1;
$send_confirmation_mail = 0;
$confirmation_text = <<'END_OF_CONFIRMATION';
From: youraddress@yourdomain.com
Subject: Subject of Your Contact Form
(short note here->> )Thank you for your interest. We will respond shortly.
END_OF_CONFIRMATION
#
# USER CONFIGURATION << END >>
# ----------------------------
# (no user serviceable parts beyond here)
--------------------------------------------------------------------------------
$postmaster = Who's sending the email
@referrers = Domains that are allowed to host the script
%recipient_alias = Whom the script will send email to
In my form:
<form action="http://www.mydomain.com/cgi-bin/formmail.pl"
method="POST">
<input type="hidden" name="recipient" value="siteowner">
You can see how the siteowner variables match up in the .pl script and in my
form. This way, nobody can tell what address the form is being emailed to!
8. Rename your cgi script - name your script something else besides formmail
(ie contactus.pl), as this is the most common name people use.This will prevent
spammers from harvesting your email address.
9. Create your html form (contactus.htm)
<html>
<head>
<title>Contact Us</title>
</head>
<body bgcolor="#FFFFFF" text="#000000">
<form method="post" action="http://www.yourdomain.com/
cgi-bin/contactus.pl">
<input type=hidden name="recipient" value="siteowner">
<input type=hidden name="subject" value="Subscribe Me Please">
<input type=hidden name="required" value="fullname,email">
<input type=hidden name="redirect" value="http://www.yourdomainname.com/thankyou.htm">
Full Name<br>
<input type=text name="fullname">
<br>
Email Address<br>
<input type=text name="email"><br>
<br>
Comments<br>
<textarea name="comments"></textarea>
<br>
<br>
<input type="submit" name="Submit" value="Submit">
</form>
</body>
</html>
10. Create a confirmation page (ie thankyou.htm) - this will
automatically thank people for filling in your form. It can be a simple html
page with the comments "Thank you for your interest. We will respond shortly".
Uploading the cgi script and html email form.
Use your favorite FTP program for uploading to your server (I use SmartFTP.com
which you can download for free).
11. Set permissions to 755 - in SmartFTP right click on the script file
you wish to upload, click on Properties/CHMOD and set the permissions to 755.
12. Upload the cgi script - there are two modes of uploading, ASCII and
Binary. Upload the cgi script (contactus.pl) and any txt files in ASCII mode.
Upload the script to the cgi-bin folder. If you don't follow this you will not
be able to
execute the script.
13. Upload the html form and any image files like .jpg or .gif in Binary
mode.
14. Test your cgi script by filling out the html email form and
submitting it. You should receive an immediate confirmation.
By adding interactivity to your web site using a cgi script, you can expand the
functions of your web site and create a more interesting experience for your
visitors. This will keep them coming back and help you stay ahead of your
competitors.
Resources
Formmail script
Free CGI scripts
Scriptarchive.com
Hotscripts.com
cgi-resources.com
Herman
Drost is the Certified Internet Webmaster (CIW)
owner and author of iSiteBuild.com
Affordable Web Hosting Plans from $30/year
http://www.isitebuild.com/sitehosting
Subscribe
to his “Marketing Tips” newsletter for more original
articles at:
subscribe@isitebuild.com. Read more of his
in-depth articles at:
www.isitebuild.com/articles
|