How to Install a CGI Script and Increase Web Site Interactivity
|
|
|
| 3.0/5.0 (5 votes total) |
|
|
|
Herman Drost December 22, 2004
|
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 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. The form results will automatically be sent
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 = '[email protected]'; @referers =
qw(yourdomain.com); @allow_mail_to = qw(); @recipients =
(); %recipient_alias = ('siteowner' =>
'[email protected]',); @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: [email protected] 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) Note: Replace [ ] with < > for your form to
work.
[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 http://nms-cgi.sourceforge.net/formmail.zip
Free CGI
scripts Scriptarchive.com Hotscripts.com cgi-resources.com |