Apache Rivet Installation

## Apache Rivet Installation

1. Check Dependencies

   To install Rivet, you will need Tcl 8.2 or greater and Apache 1.3.xx. It is known to run on Linux, FreeBSD, OpenBSD, and Solaris and HPUX. Windows NT is also possible - please see the directions in the distribution.

2. Get Rivet

   Download the sources at http://tcl.apache.org/rivet/download. Currently the only way to obtain Rivet. In the future, we hope to have a FreeBSD port, Debian package, RPM's, and windows binaries.

3. Install Tcl

   If you don't have Tcl already, you need it! If you already have it, you should just be able to use your system Tcl as long as it is recent. You can tell Rivet where Tcl is via the -with-tclconfig option to configure.tcl (see below).

4. Get and Install Apache Sources

   Rivet needs some Apache include (.h) files in order to build. The easiest way to get them is to download the source code of the Apache web server, although some systems (Debian GNU/Linux for example) make it possible to install only the headers and other development files. If you intend to build Rivet statically (compiled into the Apache web server instead of loaded dynamically), you definitely need the sources. We recommend that you build Rivet as a loadable shared library, for maximum flexibility, meaning that you also build Apache to be able to load modules. Other than that, the default Apache install is fine. We will tell Rivet where it is located via the -with-apxs option to configure.tcl (see below).

   The source code for the Apache web server may be found by following the links here: http://httpd.apache.org/.

5. Uncompress Sources

   We will assume that you have Apache installed at this point. You must uncompress the Rivet sources in the directory where you wish to compile them.

       gunzip tcl-rivet-X.X.X.tar.gz
       tar -xvf tcl-rivet-X.X.X.tar.gz

6. Building Rivet

   On Linux or Unix systems, Rivet uses the standard ./configure ; make ; make install technique.

   1. Run ./configure.tcl

      This is similar to the `configure` script included with many systems. It's written in Tcl though, for increased speed and clarity. It takes several arguments:

      -help
        Prints usage information.
      -enable-symbols
        Compiles Rivet with debugging symbols.
      -prefix `directory`
        Install Rivet Tcl packages to `directory`.
      -with-apxs `file`
        Use `file` as apxs binary to gather information about the local Apache installation.
      -with-tclconfig `path/to/tcl/tclConfig.sh`
        Specify `file` as the tclConfig.sh of the Tcl installation that you want to use with Rivet.

          cd src/
          ./configure.tcl
          Configuring
          .........done.

   2. Run make.tcl

      At this point, you are ready to run the build system:

          ./make.tcl option

      where `option` can be either shared or static.

   3. Install

      Now, you are ready to run the ./make.tcl install command to install the resulting files. This should copy the shared object (like `mod_rivet.so`, if one was successfully created, into Apache's `libexec` directory, as well as install some support scripts and various code.

7. Apache Configuration Files

   Rivet is relatively easy to configure - we start off by adding the module itself:

       LoadModule rivet_module	/usr/lib/apache/1.3/mod_rivet.so

   This tells Apache to load the Rivet shared object, wherever it happens to reside on your file system. Now we have to tell Apache what kind of files are "Rivet" files and how to process them:

       AddType application/x-httpd-rivet .rvt
       AddType application/x-rivet-tcl .tcl

   These tell Apache to process files with the `.rvt` and `.tcl` extensions as Rivet files.

   For other directives that Rivet provides for Apache configuration, please see the section called “Rivet Apache Directives”.

Apache Rivet |  | Rivet Apache Directives