How to Install a CGI Script and Increase Web Site Interactivity
You may have delayed cgi script installation due 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 a 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. The 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 changed 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:
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 http://nms-cgi.sourceforge.net/formmail.zip
Free CGI scripts Scriptarchive.com Hotscripts.com
cgi-resources.com