Silverhawk's Internet Services

Online Support Manual

CHAPTER EIGHT - ADVANCED USERS

Online Manual Index

Advanced User's Section

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 

Miva Merchant Manual

FTP Maillist Setups
   Simple Maillist
   Subscribable Maillists
   Multiple Lists

 

 

Advanced User's Section

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.(Advanced Users)
CGI scripts often require paths to common server resources.  These paths are as follows:
 (puts you in your web directory) (puts you in your cgi-bin)
 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
 Cgi-bin path:   /www/yourdomain/cgi-bin

Go To Top of Page

Setting Permissions(Advanced Users)
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.

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. 

  • FTP into your account on the server.
  • 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  highlighted. Click on the boxes to change permissions as needed.

Go To Top of Page

    Change Permissions with WS_FTP
     WS_FTP also makes changing permissions simple.

  • FTP into your account on the server 
  • Highlight the file you want to check permissions on and reight-click it.
  • A menu will pop up. Select CHMOD
  • You will see a 
  • 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 listing applicable permissions. Check the ones you want.

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/yourdomain directory.

Go To Top of Page

    Miva Empresa (Advanced Users)
    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.

    • The script being called is "miva",  which is in your cgi-bin. 
    • The active pages (pages with .hts or .mv) need to be placed in your root www directory, not in subdirectories. 
    • A sample URL call for this would be as follows:  http://yourdomain.com/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 . . .

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.

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>

Go To Top of Page

Instructions on how to access & configure Miva Merchant can be found in our Miva Merchant Manual

Go To Top of Page

FTP Miallists
Use the folloiwng instructions to setup simple maillists and subscribable maillists using FTP. Recommended for Advanced Users only.

FTP Simple Maillists
To setup a maillist first create a simple text file.  Enter one address per line. 

Example list
add1@email1.com
add2@email2.com
add3@email3.com

You can put up to 1000 names in the list. Once you are done creating the list  you go to your home directory and put the list in the subdirectory maillists.  The list may be named anything you like, its important there’s no extension on the end.

Example:
clients (good name)     clients.txt (no good)

To use the list you just need to mail to the name of the list. using the above example with a domain name of fred.com, to email the list you would send to clients@fred.com. its that simple. 
Note if your maillist is named clients it cannot be used in the infobots directory or the .redirect file.

Go To Top of Page

FTP Subscribable Maillists
You can setup your maillist so your customers can subscribe to it via email. There is a limit of 1,000 subscribers per list and you cannot send email to the list larger than 75k. Here are the instructions for setting up this list:
1.   Set up a welcome message in the infobot directory -- you can name it anything you like, but for our example we'll call it Welcome.  The text file could say:
"Welcome to our Maillist. You are now subscribed to our list.
This message will be automatically returned to the sender each time someone subscribes.

 2.   Now you need to set up a configuration file to tell the mail system to build a mailing list. In your infobot directory create a file called  infolist. This is used to tell the system what to do with addresses received from each infobot response. You can have as many lists as you want. But in keeping with the list example above, we will call it mlist. Here's what the file should look like:
      welcome mlist
The first line should have a space between the two names and be uploaded in ASCII format, not binary.

Go To Top of Page

FTP Multiples Lists
You can have multiple lists, such as mlist1, mlist2, etc., but you should only have one configuration file. It must be called infolist. To handle all three examples, you'd make the infolist file look like this,
 with each listserver on its own line, with no blank lines in-between:

    welcome mlist
    welcome2 mlist2
    welcome3 mlist3

2  When someone wants to subscribe to your list in the above example, they would email welcome@yourdomain.com.
This would return the infobot created called "welcome" and put their email address into the mailing list file in the maillists directory on your server. You can go in and download the maillist file after it has been created and people have subscribed. The mailing list file will be created AFTER the first person subscribes, or if you yourself send email to "welcome@yourdomain.com" to test it. Put yourself on the mailing list to try this. People don't need to subscribe themselves -- you can add their names for them, or remove them at any time by modifying and uploading the file in the "maillists" directory. People cannot automatically unsubscribe themselves. You must go in and manually remove their email address from the list.

3  When you want to send mail to all subscribers, you can send email to mlist@yourdomain.com and the PlusMail system will send it to the entire list.

4) If you want to see who is subscribing to your maillist without  having to go and check the maillists file periodically via FTP, you  can put a line in your .redirect file.
NOTE: it is important that you have the infobot installed before entering the address line in the .redirect. For the mlist example we used above, the line you would add would look like this:
    welcome yourdomain@yourdomain.com
The welcome document you created will be sent to the subscriber, AND you will receive their email message.

 Note: When sending email to your list for the first time, you will get the autoresponder email back right away, but you may not see the  corresponding maillist file right away as our system takes time to build it. Wait 15 or 30 minutes or so and it will show up. (Depending on the time of day and current traffic conditions, our servers may be allocating it to a lower priority.)

Go To Top of Page


Online Manual Contents