ivycom.com - your gateway to the world
 

3.2. Your Own CGI-SCRIPTS

 

CGI-SCRIPTS  are computer programs running on the webserver that can be invoked from a web page in the browser.  These programs adds functionality to web pages that are not possible with just HTML.

CGI scripts need to be saved in ASCII format and uploaded to your server's cgi-bin in ASCII or text format. This is very important.

IVYCOM does not provide free support for CGI scripts which did not come installed on your account. So if you are not already familiar with CGI scripting, you may want to read a book on the subject or find places on the Internet with CGI scripting information. There are many good resources for CGI scripts found on the web. The scripts at Matt's Script Archive found at http://www.worldwidemart.com/scripts/ are very good. Many of our scripts come from here. Another excellent resource is The CGI Resource Index found at http://www.cgi-perl.com/ -- if you are not an expert, look for scripts that are very well documented and come with step-by-step instructions, or contact us for help or installation.

3.2.1. How do I run my own CGI program

 

a.) Put your CGI programs in the cgi-bin directory.
When calling the programs from the web page, you must use the alias for the cgi-bin directory. The alias is "cgi-[yourdomain]". If your domain is example.com, then the alias is cgi-example. Note that ".com" is not included. So the action line from your form page would look like action="/cgi-example/program".

b.) Put your CGI programs anywhere outside of the cgi-bin directory. In this case, the program name must end in ".cgi".

 

 

3.2.2. Paths to Date, Mail, Perl, etc.

 

Here are your paths to the common server resources that CGI scripts often require:

Sendmail:

/usr/sbin/sendmail

Perl5.003:

/usr/bin/perl

Perl5.004:

/usr/bin/perl5.004 (Full 5.004 lib support not available currently)

Date:

/bin/date

Java:

/usr/bin/java

Python:

/usr/bin/python

Domain path:

/www/[yourdomain]

 

(puts you in your web directory)

Cgi-bin path:

/www/[yourdomain]/cgi-bin

 

(puts you in your cgi-bin)

 

 

3.2.3. Setting Permissions

The following is a simple explanation of file permissions in Unix. To list the access permissions of a file or directory, telnet to your server, then:

cd directoryname

to change the directory until you are either in the directory above the file you are interested in, or above the directory you are checking.

Type: ls -l filename

and you will see what the current permission settings are for that file, along with a bunch of other stuff.

Examples of using chmod:

 PEOPLE

 PERMISSIONS

 u = the file's user (you)

 r = read access

 g = the file's group

 x = execute access

 o = others

 w = write access

 a = the user, the group, and others

 

To change permissions for a file named filename.cgi, you need to chmod the file (change mode). For example, when you type this:

chmod u=rwx,g=rx,o=rx filename.cgi

you've given:
read, execute, and write access to the user (that's you)
read and execute access to the group and
read and execute access to others

Some scripts will tell you to chmod 775 (for example). Doing the above is the same thing as typing chmod 775. You can use either method with our Unix servers. Let me explain:

When using the numeric system, the code for permissions is as follows:

r = 4 w = 2 x = 1 rwx = 7

The first 7 of our chmod775 tells Unix to change the user's permissions to rxw (because r=4 + w=2 + x=1 adds up to 7. The second 7 applies to the group, and the last number 5, refers to others (4+1=5).

When doing an ls -l on the file, telnet always shows the permissions this way:

-rwxr-xr-x

Ignore the first dash, then break up the above into three groups of letters. If there's a dash where a letter should be, it means that there is no permission for those people.

Remember: the first 3 apply to user, the second 3 apply to group, and the third 3 apply to others.

Some FTP clients support changing permissions in a more graphical way. If you have Fetch for the Mac, you have an easy way to change permissions. Go to the file you want to change the permissions on, and highlight it. Under the Remote menu, select Change Permissions. A window will pop up showing the current permissions for the file you had highlighted, as in Figure 3A below. Click on the boxes to change permissions as needed.


Figure 3A

 

WS_FTP accomplishes the same task as above. Just highlight the file you want to check, and right-click on it. A menu will pop up, then select CHMOD. You will see the window below, as in Figure 3B.


Figure 3B