Online Manual - Section 5

CGI Script Resources
Paths to Date, Mail, Perl, etc.
Setting Permissions
   Examples of Using CHMOD
   Changing Permissions with Fetch
   Changing Permissions with WS_FTP

CGI Troubleshooting Q & A 
 


Miva Empressa
   Supported Standards
   Miva Tag Examples 

 


 

Return  to Main Index

CGI Script Resources
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 there. Another excellent resource is The CGI Resource Index found at http://www.cgi-perl.com/   Unless you are an expert on the subject, you should look for scripts that are very well documented and come with step-by-step instructions.  You may contact us for help or installation if you like.

Paths to Date, Mail, Perl, etc.
CGI scripts often require paths to common server resources.  These paths are as follows:

Sendmail:    /usr/sbin/sendmail
Perl:    /usr/bin/perl
Date:   /bin/date
Java:   /usr/bin/java
Python:   /usr/bin/python
Domain path:   /home/httpd/html
Cgi-bin path:   /home/httpd/cgi-bin

Return  to Main Index          Go To Top of Page

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 type:
    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 other information.

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.

Return  to Main Index          Go To Top of Page
 

Change Permissions with Fetch
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. 

bullet
bulletFTP into your account on the server.
bulletGo to the file you want to change the permissions on, and highlight it. 
bulletUnder the Remote menu, select Change Permissions
bulletA window will pop up showing the current permissions for the file you  highlighted. Click on the boxes to change permissions as needed.

Return  to Main Index          Go To Top of Page

Change Permissions with WS_FTP
 WS_FTP also makes changing permissions simple.
bulletFTP into your account on the server 
bulletHighlight the file you want to check permissions on and reight-click it.
bulletA menu will pop up. Select CHMOD
bulletYou will see a 
bulletJust highlight the file you want to check, and right-click on it. A
bullet menu will pop up, then select CHMOD. 
bulletYou will see the window listing applicable permissions. Check the ones you want.
Return  to Main Index          Go To Top of Page
CGI Troubleshooting Q & A (Advanced Users)
Here are the  solutions to some of the more common CGI script problems, in question and answer format. You will find a list of proper permission settings for the scripts we provide at the end.

 Question:   When I activate my CGI program, I get back a page that says "Internal Server Error. The server encountered an internal error or misconfiguration and was unable to complete your request."

 Answer:    This is generally caused by a problem within the script. You will need to login via Telnet and test your script in local mode to get a better idea of what the problem is. You will need to first get into the directory in which your script is located, then execute the script. You can execute the script in either of two ways:

 1) Type "perl myscript.pl" (Perl being the language interpreter in this case).
Or
 2) Simply type "myscript.pl" alone, that will work if the first line is well written to indicate the location of Perl.

 The first one is useful to see if there's any error IN your script. The second one is useful to test if your "calling line" (the first line of the script) is okay, i.e. if you entered the right location of Perl.

Question:   I am being getting a "File Not Found," or "No Such File or Directory." error.
Answer:   Upload your Perl or CGI script in ASCII mode, not binary mode.

Question:    When I test my Perl script in local mode (by Telnet), I have the following error: "Literal @domain now  requires backslash at myscript.pl line 3, within string. Execution of myscript.pl aborted due to compilation errors."
 Answer:   This is caused by a misinterpretation by Perl.,  The "@" sign has a special meaning in Perl; it identifies an array (a table of elements). Since it cannot find the array named domain, it generates an error. You should place a  backslash (\) before the "@" symbol to tell Perl to see it as a regular symbol, as in an email address.

Question:    I am getting the message "POST not implemented."
 Answer:   You are probably using the wrong reference for cgiemail. Use the reference /cgi-bin/cgiemail/mail.txt. Another  possibility is that you are pointing to a cgi-bin script that you have not put in your cgi-bin directory. In general, this message really means that the web server is not recognizing the cgi-bin script you are calling as a program. It thinks it is a regular text file.

Question:    It's saying I don't have permission to access 
IMPORTANT: CGI scripts MUST be uploaded/downloaded in ASCII format.  They must also be saved in ASCII (text or .txt) format. This is very important. Failure to follow these guidelines will result in an inoperable program.

Question:    It's saying I don't have permission to access 
Answer:   This error message means that you are missing your index.htm file. Note that files that start with a "." are hidden files. To see them, type ls -al. If you wish to FTP this file in, go to the /home/httpd/html directory.

Return  to Main Index          Go To Top of Page
Miva Empresa
Miva makes building dynamic, data driven web pages as easy as HTML. You can quickly develop interactive web pages that are 100% browser independent. Miva runs on the web server, interprets the Miva tags and outputs pure HTML to the browser. You can also use Miva to output Javascript and other browser languages, and use the built-in database to easily manipulate and publish data.

 Full documentation and usage support for HTML Script can be found at:
     http://htmlscript.com/. 
Miva offers a variety of features. You should visit their site for more information.
We are running version 3.0 of HTML Script. The following is what you will need to know for use on your domain.

bulletThe script being called is "miva",  which is in your cgi-bin. 
bulletThe active pages (pages with .hts or .mv) need to be placed in your root html directory, not in subdirectories. 
bulletA sample URL call for this would be as follows:  http://yourdomainname.org/cgi-bin/miva?yourpage.mv
 HTMLSCRIPT has a variety of pre configured products that require path information
 we have preconfigured miva to automatically look into the /home/domain/htsdata directory for data files.  If data is placed in this directory an example call would be as follows:
     <export file="file.dat">

 To call HTML script thru the secure server use the following:
https://machine.safe-order.net/cgi-bin/smiva?yourdomain/yourpage.mv
machine should be replaced with the name of the system your on, ie pan, artemis, osirus, ect . . .

Return  to Main Index          Go To Top of Page
 More On The Miva Engine.
 The Miva Engine makes building dynamic web sites as easy as writing HTML. Quickly develop server and browser independent dynamic sites using the XML standard. Dynamic sites that integrate scripting, database, and commerce can be developed and tested on a Microsoft workstation and deployed on Microsoft or Unix servers.

SUPPORTED STANDARDS

HTML SGML XML HTTP
 POP3  SMTP ISAPI CGI
 NSAPI  UNIX WINDOWS JAVA
ODBC xBASE  APACHE JAVASCRIPT

Miva runs as a pre-processor on the web server, interprets the Miva tags and outputs standard HTML,  XML, Javascript, and other user interface code to the browser. Use the built-in database and ODBC  interfaces to easily manipulate and publish data. Anyone that knows HTML can use Miva.

Return  to Main Index          Go To Top of Page
 

Miva (Htmlscript 3.0) tags are XML compliant and include:
 <MvEVALUATE>, <MvIF>, <MvELSE>, <MvWHILE>, <MvEXPORT>, <MvIMPORT>, <MvCOMMERCE>, <MvLET>, <MvASSIGN>, <MvCALL>, <MvHIDE>, <MvEXIT>,  <MvCOMMENT>, <MvFUNCTION>, <MvMAIL>, <MvOPEN>, <MvCLOSE>, <MvFIND>,  <MvSKIP>, <MvGO>, <MvADD>, <MvUPDATE>, <MvDELETE>, <MvUNDELETE>,  <MvMAKEINDEX>, <MvSETINDEX>, <MvREINDEX>, <MvPACK>, <MvPRIMARY>, <MIVA>

Return  to Main Index          Go To Top of Page


Return  to Main Index          Go To Top of Page