Install a CGI Script and Increase
Web Site Interactivity
© Herman Drost
You may have delayed cgi script installation due
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
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
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,
counters, mailing list managers, ad management, surveys,
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
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
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
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
# 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.
$DEBUGGING = 1;
$secure = 1;
$allow_empty_ref = 1;
$max_recipients = 1;
$mailprog = '/usr/lib/sendmail -oi -t';
$postmaster = 'email@example.com';
@referers = qw(yourdomain.com);
@allow_mail_to = qw();
@recipients = ();
%recipient_alias = ('siteowner' => 'firstname.lastname@example.org',);
@valid_ENV = qw(REMOTE_HOST REMOTE_ADDR REMOTE_USER
$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';
Subject: Subject of Your Contact Form
(short note here->> )Thank you for your interest. We will
# 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:
<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
9. Create your html form
<body bgcolor="#FFFFFF" text="#000000">
<form method="post" action="http://www.yourdomain.com/
<input type=hidden name="recipient" value="siteowner">
<input type=hidden name="subject" value="Subscribe Me
<input type=hidden name="required" value="fullname,email">
<input type=hidden name="redirect" value="http://www.yourdomainname.com/thankyou.htm">
<input type=text name="fullname">
<input type=text name="email"><br>
<input type="submit" name="Submit" value="Submit">
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
Uploading the cgi script and html email form.
Use your favorite FTP program for uploading to your server
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
Free CGI scripts
101 Highly Effective
Strategies to Promote Your Web Site