Test-CGI Package v1.0.0.0002

Manual Install Instructions

Last modified on Monday, February 26, 2001.

Disclaimer: these instructions are product-specific and version-specific. Different versions of the same product may have slightly different file configurations, etc. If you install a version other than 1.0.0.0002, you may want to follow the install.html file included with it instead of this one.

This product has been designed for fast and easy installation. Follow these simple steps to get the script up and running in just a few minutes.

  1. Download

    Download the product appropriate to your platform:

    Each archive contains the exact same code, except that the Windows version uses "\r\n" line endings, and the Unix version uses "\n" endings.

    The .tar.gz version can be decompressed with the commands:

    gzip -d testpak.1.0.0.0002.tar.gz
    tar -xf testpak.1.0.0.0002.tar

    The .zip version can be decompressed with Winzip from www.winzip.com.


  2. Build Directory Structure

    The script uses a specific directory structure to organize its libraries and data files. When the downloaded archives are expanded, they will automatically expand into the desired structure.

    If the zips don't expand to the proper directory structure, or if you need to create the structure manually, see Appendix II. It includes an overview of all files and folders and what they do and where they belong.

    Note: this script uses relative paths extensively, and so its very demanding about its directory structure. It does not use absolute paths at all, however. That means you don't need to enter the absolute path into the script configuration files (if it needs to know its absolute path, it will auto-detect it). Also, you don't need to place the script into any special folder like "cgi-bin" or "cgi-local" - any folder on your website that can execute scripts will be sufficient. Finally, if you want to move the script from one folder to another, or from one site to another, you can just move it. No re-configuration is needed.


  3. Customize Script

    99.9% of this script is configured after the install is complete, using the admin control panel. Only two things need to be configured during installation: the path to Perl, and the CGI extension. And the defaults are usually fine.

    In this step, you need to edit the CGI script files only. Some libraries and data files also use the ".pl" extension, but those must not be renamed or edited. The CGI script files are: (remember, their file extensions may end up different for you)

    • testpak/env.pl
    • testpak/encode.pl
    • testpak/socket.pl
    • testpak/basic_forms.pl
    • testpak/file_upload.pl

    1. If your path to Perl is not "/usr/local/bin/perl", then edit the first line of the script to point the appropriate path. Popular locations include "/usr/bin/perl" and "/usr/bin/perl5".

    2. On some systems you may need to use a specific extension, usually either .pl or .cgi. Try both extensions if things aren't working right.

    Warning: when you open the script file to edit the path to Perl, use the most hardcore text editor you have. Like, Notepad on Windows, Simple Text on Mac, vi on Unix. Do not use high-level editors like Microsoft Word or HTML editors like FrontPage. There is a risk that these high-level editors will damage the code.


  4. Transfer Files

    Unless you're doing all of your work on the web server itself, you must transfer the files and folders over to your web server. When transferring script files or data files in FTP, always use ASCII mode.


  5. Set Permissions

    The easiest way to set permissions is to run the "setperms" script appropriate for your platform. Run setperms.bat on Windows and setperms.sh on Unix.

    If you have only FTP access to a Unix server, then you can set the permissions with FTP while you're transferring. Use the permissions guide in Appendix II below.

    If you have a Windows web server without shell access, then typically you won't be able to run scripts from the command line nor set permissions via FTP. In this case, the best approach is to try an install anyway (the server file system is often read/write/exec by default). If this doesn't work then contact the tech support people and ask them to run setperms.bat for you. If tech support can't help, you can use the Auto Installer process to remotely set Windows file permissions.


  6. Test

    Visit the URL "testpak/env.cgi" to get started.


Manual Install Complete!



Appendix I: Error Handling

If you run into trouble, consider an automated install. The automatic install can self-heal from most common error conditions.

Free Manual Custom installs are available from the script author (as of Monday, February 26, 2001). To take advantage of this service, first attempt an automatic install. If it fails, you will have the option to forward an install request. Installs are usually finished within 24 hours.

You can also visit the Discussion Forum with a description of your problem. It stays very busy and there are many helpful people there.

The Auto-Installer is here: www.xav.com/cgi-sys/cgiwrap/xav/install.cgi


Appendix II: Directory Structure and File Descriptions


This file manifest applies to version 1.0.0.0002. If you are installing a different version, use the install.html file included with it.

The file permissions are modeled on the default Apache or Microsoft IIS permissions system, where a user account owns the files and a separate, unprivileged account, executes the CGI scripts. This is not the most secure configuration in the world, but it is the default that has been established, and so these file permissions follow it. If you have a system where your CGI scripts are executed under your user account context (as when using CGIWrap, when using setuid Perl, using Hypermart.net or many other free web hosts, etc.) then you can and should replace all permissions with 755/rwxr-xr-x.


Icons
folder
script file
data file
optional file
Required
Required file or folder
Optional file or folder
Permissions
755 / rwx r-x r-x read and execute
766 / rwx rw- rw- read and write
777 / rwx rwx rwx read, write, and execute


Is Required Object

Permissions File / Folder Description
755 / r-x setperms.bat sets all permissions needed for this product on Windows
755 / r-x setperms.sh sets all permissions needed for this product on Unix
755 / r-x testpak Main product folder
755 / r-x     basic_forms.pl Basic FORM tests involving POST, GET, and ISINDEX
755 / r-x     encode.pl simple CGI script for URL-encoding and HTML-encoding
755 / r-x     env.pl prints all environment variables
755 / r-x     file_upload.pl A file upload FORM test
755 / r-x     install.html The install help file
755 / r-x     license.html The legal license thing
755 / r-x     socket.pl comprehensive test of server-side socket capabilities
777 / rwx testpak/data write-able folder
755 / r-x testpak/ssi SSI test folder
755 / r-x        include.txt sample include file
755 / r-x        testme.htm file which calls the include file
755 / r-x        testme.html file which calls the include file
755 / r-x        testme.shtml file which calls the include file
755 / r-x        testme.stm file which calls the include file
755 / r-x testpak/ssi/override SSI test folder with an Apache override file
755 / r-x           .htaccess Apache override file which attempts to force SSI parsing
755 / r-x           include.txt sample include file
755 / r-x           testme.htm file which calls the include file
755 / r-x           testme.html file which calls the include file
755 / r-x           testme.shtml file which calls the include file
755 / r-x           testme.stm file which calls the include file

Permissions File / Folder Description
Is Required Object



Appendix III: Additional Resources



© 1997-2001 by Zoltan Milosevic