All Scripts backed by 10 years in business, free support, free updates and a 30 day money back guarantee.
Download Purchase Programming F.A.Q. Support Contact
Commercial Perl Scripts
All Form Pro Updated
Count It
Form Mailer + Attachments
Client File Manager
Da Godfaddah
Dropbox Updated
FAQ Builder
HT Manager Updated
RegisterHT
Mailing List Server
Page Updater - Text
Page Updater Pro Updated
PS Guestbook Updated
PS Lightning Search Updated
Quick File Mailer
Quick MySQL
Select-A-File
Upload Center
Free Perl Scripts
Access Log Viewer
All Form
Epoch Converter
Error Log Viewer
Invoice Center
PS Upload
Question Manager
Quick CHMOD
QuickHT
Site File Finder
Site File Lister
SSI Tag Maker
Perl Modules
Monger Calendar
Monger File
Monger Mail
Monger Persist
JavaScript Generators
PopUp Windows
Meta Gen
RGB / Hex Converter
Page Colors
Sudoku
Tutorials and FAQs
Cookies
Using CuteFTP
Using WS_FTP
Installing Scripts
Debugging
Utilities
env_vars.pl
backup.pl
restore.pl
check_email.pl
date.pl
dayname.pl
fileage.pl
format_length.pl
format_url.pl
getfile.pl
parse.pl
redirect_html.pl
Free Services
Epoch Converter
TLD Registries
RGB/Hex FInder
Colour Checker
ASCII Codes
Policies
Terms and Conditions
Privacy Policy
Refund Policy
Site Map

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.

Secure file manager with upload progress meter. A printer's best friend. Find out more.

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.

  1. What is FTP?
  2. What is Telnet?
  3. What is a directory/parent directory?
  4. What is CHMOD?
  5. What do I have to CHMOD?
  6. How do I CHMOD?
  7. How do I create a directory on the server?
  8. How do I CHMOD files or directories that the program creates?
  9. What are ASCII and Binary modes?
  10. What is an absolute path?
  11. How do I find out an absolute path for a directory?
  12. What is Sendmail and where is it?
  13. What is a Server Side Include?
  14. What is a relative path?
  15. 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:

  1. CuteFTP
  2. 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:

  1. CuteFTP
  2. 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.

  1. 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).

  2. 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.

  3. 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:
  1. CuteFTP
  2. 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

  ©2009 All rights reserved, PerlServices.net. Website hosting by LinuxHostingPlans.com