PageResource.com - Web Development Tutorials

Newbie's CGI Installation FAQ

Since we at Echo Web moved our site to a new host, I got access to my own cgi-bin. For about a month or so, I never even opened it. One of the main reasons was that I didn't know how to install CGI and the only tutorials that I found were aimed on writing CGI but not how to actually install them. After a while I started trying to install small, simple scripts. With the help of my friends, I finally succeeded. After installing several scripts I got pretty good in that and right now, lots of people say that I'm "CGI-Crazy". I think that after you'll learn how to install CGI scripts, you won't be able to stop so easily. And now, without further adieu let's move on to the FAQ.

What Is CGI and how is it going to help me?

CGI is translated as Common Gateway Interface. It's used to provide interactivity and turn static pages into dynamic ones. What do I mean? Let's take a guestbook for example. Most of them are powered by CGI. They allow your visitors to leave their comments on your site. This makes it interactive. But guestbook is only one example. You also have bulletin boards, form processing, counters, and much more.

How am I supposed to install a script?

Usually 95% of the scripts that I have tried before have complete instructions and a special ReadMe file with everything you need to know about installing that script. I recommend you reading the instructions a few times before starting to install the script. This will help you to make less mistakes.

What does "chmod" means?

To chmod a file means to set a certain permission. Few of the most common chmod commands are 775 and 777. To chmod a certain file or a category using FTP client find something like "Change File Attributes" and enter the chmod command script instructions tell you. If you are using Telnet, here are a few commands that you should use in order to chmod a file or a directory:

u = the file's user (or owner)
r = read access
g = the file's group
x = execute access
o = others
w = write access
a = the user, the group, and others.

What are the most common errors and how do I deal with them?

One of the most common errors is "500 Internal Error". The chances are that you will experience it many times. The worst thing about it, is that it doesn't actually tells you what's wrong with the script. It only tells you that something isn't right. There are several possibilities that make up 99% of this error. Here they are:

Incorrect path to PERL.
See the next question for more information

Syntax error.
Check and see if you didn't accidentally deleted a command or a word that the instructions didn't tell you to.

Incorrect CHMOD command.
Make sure that you chmod the file exactly as the instructions say. Most of the times it will be either 755 or 777 (not always!). You can also get an "Access Denied" error, if you didn't chmod the file or a directory correctly. Basically, 500 Internal Error and Access Denied are 99% of errors you'll experience. And 99% the cause of the error, will be one of the above.

What is the path to PERL (interpretor)?

The perl path is the very first line in every .cgi or .pl file. Usually it looks something like this #!/usr/bin/perl. To find out your server's path to perl login to Telnet and type which perl. As simple as that. Make sure that the path is correct, otherwise you'll get an error. If you don't have the telnet access, simple email your tech support and ask them.

Where can I get good CGI scripts?

There are hundreds of places where you can get high-quality CGI/Perl scripts. You can look for them in the following directories:

CGI-Resources
CGI Directory
ScriptSearch

The chances are that you can find any script you are looking for in the sites above.

What hosts allow CGI?

Most free hosts do not allow CGI access, because it's unsafe. But there are some like RedRival and ProHosting that let you install your own scripts. Most of the paid hosts allow CGI. Visit our directory for more hosts.


Copyright © The Web Design Resource. All rights reserved. | Contact Us | Privacy Policy