Instructions for the Harvest distribution: Version 1.3

These are the instructions for the Harvest version 1.3 distribution.

To use Harvest, you need to perform these steps:

1. Unpack the distribution.
2. Configure your httpd server.
3. Install the WWW interface to the Broker.
4. Run Harvest.

## STEP 1: Unpacking the distribution

There are 3 binary distributions and one source distribution, all available from the Harvest distribution sites:

Full Harvest source:
  `harvest-1.3-src.tar.gz`
DEC Alpha running OSF/1 v3.0:
  `harvest-1.3-alpha-dec-osf3.0.tar.gz`
Sun Sparc running Solaris 2.3:
  `harvest-1.3-sparc-sun-solaris2.3.tar.gz`
Sun Sparc running SunOS 4.1.3_U1:
  `harvest-1.3-sparc-sun-sunos4.1.3_U1.tar.gz`

Choose a filesystem location with plenty of available space. We recommend at least 50M bytes. We also strongly recommend that you make /usr/local/harvest a symbolic link to the real filesystem location. For example, if your `/usr/local` partition had enough free space you could run the following commands:

        % cd /usr/local
        % gzip -dc harvest-1.3-CPU-MACHINE-OS.tar.gz | (umask 022; tar xf -)
        % ln -s Harvest-1.3 harvest

WARNING: You must extract Harvest in an empty directory; do not extract it over any older version of Harvest.

NOTE: it may be necessary to create the `/usr/local/Harvest-1.3` directory before extracting. We strongly recommend that you do not install or run Harvest as root. If necessary, create a bogus user to own the Harvest files.

Finally, define the HARVEST_HOME environment variable as the location of your Harvest installation.

       % setenv HARVEST_HOME /usr/local/harvest

This will be especially important if you cannot install it in the default location (/usr/local/harvest).

#### Optional Harvest Components

You may want to install one of the optional Harvest components available from the Harvest distribution sites in the `components` directory. To install and use a component, follow the instructions included in the desired component distribution. As of March 1995, the following components are available:

- WordPerfect: Summarizers WordPerfect 5.1 files.
- Rainbow: Summarizers MIF and RTF files generated by FrameMaker, Microsoft Word, and other word processors.

Go to the next step

## STEP 2: Configuring your httpd server

Install an httpd server and modify its configuration file so that the `/Harvest` directory points to $HARVEST_HOME. You will also need to configure your httpd server so that it knows `/Harvest/cgi-bin` contains valid CGI programs. Below are some examples of how to configure various httpd servers to understand the `/Harvest` installation:

- CERN httpd v3.0
- NCSA httpd v1.3
- Netscape server
- GN
- Plexus

Go to the next step

## STEP 3: Installing the WWW interface to the Broker.

There are two files in the `$HARVEST_HOME/cgi-bin` directory which you must manually edit for your local environment.

`$HARVEST_HOME/cgi-bin/HarvestGather.cgi`:
  There are two variables that you may need to change, HARVEST_HOME and GZIP_PATH (the directory in which the GNU `gzip` program lives):

              HARVEST_HOME=/usr/local/harvest
              GZIP_PATH=/usr/local/bin

`$HARVEST_HOME/cgi-bin/BrokerQuery.pl.cgi`:
  Change the HARVEST_HOME variable near the top of that file. And if your Perl binary is not `/usr/local/bin/perl` then you'll need to change the first line of `BrokerQuery.pl.cgi` as appropriate.

Go to the next step

## STEP 4: Running Harvest

To run Harvest, use this command:

    	% $HARVEST_HOME/RunHarvest

You have the option of editing the Gatherer configuration file before it runs the Gatherer. This is how you can add workload constraints, local filesystem gatherering, or other Gatherer features. See the User's Manual for the details on the Gatherer's features.

### End of instructions.

### Installing Harvest on CERN httpd v3.0

Requires an Exec and a Pass entry in the `httpd.conf` config file, e.g.:

            Exec /Harvest/cgi-bin/* Your-HARVEST_HOME/cgi-bin/*
            Pass /Harvest/* Your-HARVEST_HOME/*

If you are running the CERN server in standalone mode, it may be necessary to send it a HUP signal so that the server re-reads its configuration files.

Return to Step 2

### Installing Harvest on a Netscape server

Connect to the Netscape server admin, and under ``URL mapping->Map a URL to a local directory'' map the prefix Harvest to the harvest installation directory. For example, map /Harvest/ to Your-HARVEST_HOME/

Then, under ``CGI and Server Parsed HTML->Activate CGI as a file type...'' select ``Browse Files'' and select the harvest installation tree, and click ``I'd like to active CGI as a file type''.

Return to Step 2

### Installing Harvest on NCSA httpd v1.3

Requires a ScriptAlias and an Alias entry in `conf/srm.conf`, e.g.:

           ScriptAlias /Harvest/cgi-bin/ Your-HARVEST_HOME/cgi-bin/
           Alias /Harvest/ Your-HARVEST_HOME/

WARNING: The ScriptAlias entry must appear before the Alias entry.

Alternatively, you can substitute the ScriptAlias line with the following line using AddType to identify CGI programs by filename extension. e.g.:

           AddType application/x-httpd-cgi .cgi

If you are running the NCSA httpd server in standalone mode, it may be necessary to send it a HUP signal so that the server re-reads its configuration files.

Return to Step 2

### Installing Harvest on GN

Harvest can be made to work with the GN server with some moderate effort by editing the source code. GN requires that all CGI programs begin with the string /CGI. Below is a partial list of files where you will need to change /Harvest/cgi-bin/ to /CGI/Harvest/cgi-bin/.

         src/broker/WWW/800Query.c
         src/broker/WWW/BrokerQuery.c
         src/broker/WWW/BrokerQuery.cf
         src/broker/WWW/HarvestGather
         src/broker/example/brokers/skeleton/admin/admin.html.in
         src/broker/example/brokers/skeleton/query-glimpse.html.in
         src/broker/example/brokers/skeleton/query-wais.html.in
         src/broker/example/brokers/soifhelp.html
         src/Harvest

Also, you'll need to make a symbolic link for Harvest. e.g.:

             % cd /your/root/data/dir
             % ln -s $HARVEST_HOME Harvest

Return to Step 2

### Installing Harvest on Plexus

Harvest does not work well with the Plexus server because Plexus will not recognize `/Harvest/cgi-bin/prog.cgi` as a CGI program. No workaround is known, aside from modifying the Harvest source as with the GN httpd server.

Return to Step 2