Form Processor with no SPAM from robots.
Anti-spam, anti-robot, anti-flame, Guestbook for your website.
Manage Remote websites from your website. Allow clients to update sections of their own web pages.
|
|
Installation FAQ
Here is where you will get help installing Perl CGI scripts.
If you do not find your questions answered here, please contact us.
- What is FTP?
- What is Telnet?
- What is a directory/parent directory?
- What is CHMOD?
- What do I have to CHMOD?
- How do I CHMOD?
- How do I create a directory on the server?
- How do I CHMOD files or directories that the program creates?
- What are ASCII and Binary modes?
- What is an absolute path?
- How do I find out an absolute path for a directory?
- What is Sendmail and where is it?
- What is a Server Side Include?
- What is a relative path?
- What is the difference between ".htm", ".html" & ".shtml" extensions?
Back To FAQ List
- What is FTP?
- FTP is an acronym for "File Transfer Protocol". This is another one of
the protocols that the Net uses to transfer information about. In programming
and in respect to installation, when a person says "FTP" they are referring
to the software interface you use to achieve file transfer (as in "What
FTP client are you using?") or they are refering to the act of accomplishing
a file transfer (as in "Did you FTP the files yet?").
There are two quite popular FTP clients available for nominal fees. These are
Ipswitch's WS_FTP (Download Site)
and CuteFTP (Download Site).
I highly recommend you use one of these quality applications for your
FTP needs. It is these two FTP clients that I will be using to give examples from.
Top
- What is Telnet?
- Telnet is a method of remotely accessing a server. It is accomplised via
the use of a Telnet client which actually emulates the servers program on
your own computer. You can use Telnet to make/remove directories; create,
rename, remove files; change modes; get information from the server; manipulate files;
etc.
Most windows products ship with a Telnet client built in. All you have to do
is search C:\Windows folder for the Telnet.exe file and double click it
to launch it. I use this application almost daily so I have a shortcut to
it on my desktop and in my accessories folder.
To launch Telnet, either double click the file in the C:\Windows folder or
simply type: telnet://www.your-domain.com in the address line of
your browser. The Telnet application will launch and your ready to go.
Once it launches you will have to enter a User Name and Password. Use the
same UserName and Passwords that you use to login with your FTP client.
Top
- What is a directory/parent directory?
- On your computer you have file folders. These file folders are known
as "directories". You place documents be they text, images or programs inside
of a folder or inside a "directory".
A parent directory is the directory that a sub-directory resides in. That
is the same as saying a parent folder is a folder that a sub-folder resides
in. Suppose I write a letter to Mom. I store a copy of that letter in a
directory called "Family". The directory/folder called "Family" is inside
of another directory/folder that I have called "Letters". The directory/folder
called "Letters" is a Parent directory to the directory/folder called "Family".
Confused yet ? Simple rule of thumb. If a directory resides within another
directory, that directory above it is the Parent directory.
(NOTE: Just to fuzzify the obfusification, the directory within another
directory is referred to as a sub-directory or child directory of the
parent directory!)
Top
- What is CHMOD?
- CHMOD stands for "change mode" (CHange MODe)and refers to the mode that
a directory or file is in. It specifies whether it's readable (data file) or
if it's executable (program) or if it's writeable (data/other files).
Top
- Why do I have to CHMOD?
- When you transfer a data file to a server, you must change the mode to either
744, 766 or 777 so that it is readable and writeable. That is, a program can
retrieve information from the file and can also write information to the
file. Not only do you have to CHMOD the the data file, you have to CHMOD
the directory it is in and you have to CHMOD all the
parent directories right up to Root level.
If it is a data file that will only be read by a program and nothing will
be written to it, then you need only CHMOD it to 744.
Programs, that is, files ending in .pl or .cgi that are going in your
cgi-bin directory, must be CHMOD 755 so that they are executable. If you
try to CHMOD an executable file or directory to 777, most servers will
generate an error next time you try to run that program or any other
program in the directory (You must also CHMOD directories that you create
within a cgi-bin, to 755 as well).
Top
- How do I CHMOD?
- You can CHMOD your files and directories through
Telnet but the easiest way is through your
FTP client.
Tutorials
We have created two tutorials that will cover everything you have to know
to use the two FTP clients we mentioned. You can access the tutorials for
these clients:
- CuteFTP
- WS_FTP
Top
- How do I create a directory on the server?
- You can create ("make") directories through
Telnet but the easiest way is through your
FTP client. Below are the instructions for both the
WS_FTP and CuteFTP products:
- CuteFTP
- WS_FTP
Top
- How do I CHMOD files or directories that the program creates?
- This is not necessary. A Perl CGI program will only create read/write
files. It will not create an executable file. By virtue of the fact that
the program created the file, the program most likely will need to read
or write to the file. Therefore, the server will specify that data files
created by a CGI program are set to CHMOD 766 or 777 depending on the
server software being used.
If the program creates a directory, then the author of the program wrote
the program to create the directory and he specified in the coding what
the permissions (technically correct term for what CHMODing actually
changes) should be for the directory that the program created.
Top
- What are ASCII and Binary modes?
- Most FTP clients offer three modes of transfering files (were not
talking about CHMOD here, this is the mode of the data stream itself
during the transfer).
The options are ASCII, Binary and Auto (or AutoDetect). Using Auto is a
sometimes iffy proposition as I've had it tranfer files in the wrong mode
before so I always specify which mode to use for transfer.
- ASCII - All text based documents such as HTML docs, text docs,
data files, etc must be transfered in ASCII mode. Sometimes they will transfer
in binary, sometimes they won't. Always use ASCII for text files (that is,
files you can open and read).
- Binary - Basically anything that you can't open and read is a binary
file. What this mostly applies to in the world of the web is Image files. Be
they GIF, JPG, or JPEG, they are all Binary files. If you transfer an image
it must be transfered in Binary mode otherwise it will not display correctly.
- Perl Programs - Any .pl or .cgi program you transfer via FTP MUST BE
TRANSFERED IN ASCII MODE ONLY. If you transfer a .pl or .cgi program in
Binary mode it will not work.
Top
- What is an absolute path?
- An absolute path is the full MS-DOS path for a directory or file that
you are dealing with. For example, the top level directoy in a server may
be called "/usr". The next directory down might be called "/home". The next
directory is where you start putting your HTML documents and this is called
"/www". In your website directory you creat a data directory called "/data" and
create one more directory inside "/data" which you call "/guestbook". This
is where all your guestbook data files will reside. Therefore, to get to
the data files for the guestbook program the server must follow a path
from:
usr => home => www => data => guestbook
Therefore the absolute path for the above guestbook directory is:
/usr/home/www/data/guestbook
NOTE: all absolute paths (also called "abs-path") must start with a
slash but usually don't end with a slash unless the program needing
the abs path says to.
Top
- How do I find out an absolute path for a directory?
- You can find your absolute paths through
Telnet but the easiest way is through your
FTP client. Below are the instructions for both the
WS_FTP and CuteFTP products:
- CuteFTP
- WS_FTP
Top
- What is Sendmail and where is it?
- Sendmail is a program that runs on most servers. It allows programmers
to make Perl programs utilize a Sendmail program on the server instead of
going to the technical complexity of opening a pipe to a Mail server and
converting the Programs data to a Mail Protocol format.
To find sendmail's location on your server (you'll need to declare it in
variables in most programs), you need to use a Telnet
client. Launch your Telnet client and sign in to the sytem. Once your
Password etc. is accepted, at the command prompt, press return after
typing:
whereis sendmail
The Telnet client will then print a line or two of things that look similar.
You are looking for a statement similar to:
/usr/sbin/sendmail or /usr/bin/sendmail
If one of the returned statements doesn't work, try one of the other ones!
Top
- What is a Server Side Include?
- A Server Side Include is a method of including content on a web page
that is generated by a CGI program and still maintain a hard copy webpage.
Server Side Includes (SSI's) are generated by placing a special tag ("Call")
in the HTML document. Most servers require that a document containing an
SSI end with a special extension such as ".shtml" or ".shtm".
Most servers handle SSI calls a little differently and will have
different rules governing them. Check with your System Administrator/ISP
to find out the format for the correct call to an SSI on your system as
well as any special document naming that is required.
Top
- What is a relative path?
- Every HTML document either uses full URL's or relative paths to
specify links/images etc. Relative paths are exactly the same in Perl.
They are mostly only used in SSI calls as most programs require the use
of absolute paths. If you still don't know what a relative path is, here
is the explanation:
Different from an "absolute-path", a relative path
is the path to a document/file relative to the location of the document/directory
that you are currently in. Stating a relative path sometimes requires the use
of the special delimeter "../" which specifies "go up one level/directory/folder".
If you needed to go up two levels/directories/folders then you would use this
set of characters twice, i.e. "../../".
Here are some examples:
- cgi-bin/guestbook/post.pl
- This relative path tells us that the page with the SSI call is at Root
level. It also tells us that the script for the guestbook posting form
is located in a directory called "guestbook" which is in a directory called
"cgi-bin" which is in the same directory as the page making the SSI call.
- ../cgi-bin/guestbook/post.pl
- This relative path tells us that the page with the SSI call is one
directory below Root level. It also tells us that the script for the
guestbook posting form is located in a directory called "guestbook"
which is in a directory called "cgi-bin" which is in the directory
one level above the directory that the page making the call resides in.
- ../../../cgi-bin/guestbook/post.pl
- This relative path tells us that the page with the SSI call is
three directories below Root level. It also tells us that the script
for the guestbook posting form is located in a directory called
"guestbook" which is in a directory called "cgi-bin" which is in
the directory three levels above the directory that the
page making the call resides in.
Top
- What is the difference between ".html", ".htm" & ".shtml" extensions?
- Not much difference at all, really. The extensions ".html" and ".htm"
are identical. They mean the same thing and are accepted equally on
just about every server on the Net.
The extension ".shtml" is a little different. It signifies an HTML document
that contains a Server Side Include call. The reason that pages with SSI's
are named slightly different is to conserver resources (pun intended).
For a Server to find an SSI call and act on it, it must Parse the HTML
document. That is, it must read every single line in the document looking
for SSI calls and then executing them.
If every single document that was served up by a server (and were
talking trillions a day) had to be completely parsed to look for SSI
calls, you can imagine how slow the Net would be!
To save that workload and time lag on the Net, the ".html" extension
is used. That way, when a server knows that it is serving up an ".htm" or ".html"
document, it can dish it out without looking at it. However, once it see's
that it's going to be giving out a document ending in ".shmtl", it knows it
must slow down and read every line of that document to see where the
SSI call is located, where the SSI program is located and then it must
execute the program.
Top
|
|