Home About Contact Archives
Validate the HTML of this page

Tomcat WebVoyáge

Apache Configuration for CGI

Unlike the classic WebVoyáge that used Pwebrecon.cgi, the Tomcat WebVoyáge is not dependent on CGI programs. Because of that, your Tomcat Apache may not come already configured for running CGI programs.

There may however, be CGI programs you want, or need to run. These include external patron authentication adaptors, the New Books List 7.0 for Tomcat WebVoyáge, and ShelfLister.

Configuration "How To"

  The following steps will require root access.
  {xxxdb} == your db name

  Edit the appropriate Apache {xxxdb}_vwebv_httpd.conf file in
  /m1/shared/apache2/conf/ActivatedVirtualHosts/

  Add the following within the vwebv <VirtualHost *:{port}> section:

        # Allow for execution of CGI scripts, such as:
        #  - external patron authentication adaptor
        #  - New Books List
        #  - ShelfLister, etc. 
        AddHandler cgi-script .cgi
        <Directory "/m1/voyager/{xxxdb}/tomcat/vwebv/context/vwebv/htdocs">
                Options MultiViews
                AllowOverride None
                Options ExecCGI
                Order allow,deny
                Allow from all
        </Directory>

  Restart Apache in order for the configuration change to take effect.

  Note: A "ScriptAlias" directive is not a viable alternative for
  the "AddHandler cgi-script .cgi" directive; the newBooks.cgi script
  needs to run in the same 'virtual' URL path as the other vwebv 
  WebVoyage executables.

Important Caveat

If you use this approach, it is important to be aware that
the FILE NAMES for any CGI scripts that you place in the 
/m1/voyager/{xxxdb}/tomcat/vwebv/context/vwebv/htdocs/vwebv
directory MUST NOT CONFLICT with the file stems listed in the Apache
/m1/shared/apache2/conf/ActivatedVirtualHosts/{xxxdb}.jkmounts.conf 
configuration file.

For instance, if your external patron authentication script is named
"login.cgi", then you will have to rename it, since "log*" is one of
the file stems in the {xxxdb}.jkmounts.conf file.  Either that, or 
you can try placing your script in a different subdirectory under htdocs.