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