Apache Server Configuration

Revised 30 October 2002

This section describes the precise details of configuring the Apache web server to work with Caucus.  It assumes that you have already installed your web server and are generally familiar with the server configuration files.

You can apply the configuration instructions below by editing your "master" httpd.conf file if they do not cause any conflicts with your normal setup.  Otherwise, you may wish to create a virtual host (<VirtualHost ...>) and apply these instructions inside its definition.

  1. Allow access to Caucus directories
    The newer releases of Apache default to a very restrictive set of permissions for directories outside the "document root" of the web server tree.  Thus, you may need to explicitly allow access to directories that Caucus uses.  Add the lines shown below, replacing /home/caucus with the home directory of the Caucus userid on your system.

       <Directory /home/caucus/SWEB>
       Options All
       AllowOverride All
       allow from all
       </Directory>
       
       <Directory /home/caucus/REG>
       Options All
       AllowOverride All
       allow from all
       </Directory>
    

  2. Define CGI directories
    Tell Apache that the two directories (in #1) contain CGI programs.  Add the lines:

       ScriptAlias  /sweb/   /home/caucus/SWEB/
       ScriptAlias  /reg/    /home/caucus/REG/
    

  3. Define special "/caucus" URLs
    The "special" Caucus URL http://yourhost.com/caucus is a feature that allows easy access into Caucus.  If you are primarily using the new "cookie" authorization method (recommended), add the lines:

       ScriptAlias  /caucus/ /home/caucus/REG/start.cgi/
       ScriptAlias  /caucus  /home/caucus/REG/start.cgi
    

    If you prefer the older, pre-4.4 web-server authorization method, add the lines:

       ScriptAlias  /caucus/ /home/caucus/SWEB/start.cgi/
       ScriptAlias  /caucus  /home/caucus/SWEB/start.cgi
    

  4. Allow access to ~caucus
    Tell Apache to map "http://yourhost.com/~caucus" to /home/caucus/public_html.  You can do this in either of two ways:

    • If it is OK to map all "~user" URLs to the equivalent public_html directories, add the line:
         UserDir public_html
      
      In many distributions of Apache, this option is already turned on.

    • If you do not want to allow open public_html directories, you can either add the line above just to your Caucus virtual host, or else you can define a specific alias just for the Caucus userid:
         Alias /~caucus /home/caucus/public_html
      

  5. Restrict Directory Indexing
    In order to prevent users from seeing the lists of all of the files in the Caucus file libraries, you should turn off directory indexing for Caucus.  Add the lines:
       <Directory /home/caucus/public_html>
          Options -Indexes
       </Directory>
    

  6. Allow file upload
    On some systems (notably FreeBSD), you may need to add the line
       AddHandler cgi-script .cgi
    
    in order to allow Caucus to upload files into conferences.  Don't do this unless you encounter trouble with the Caucus file upload feature.

  7. Restrict Access with userids and passwords
    The "old" method of providing access authorization via the Apache server is set up automatically by the Caucus installation script.  It creates the file /home/caucus/SWEB/.htaccess, which declares that this directory is password-protected.  That file in turn points to the userid and password database file /home/caucus/caucus_passwd, which is also set up by the Caucus installation script.

    To add userids, Caucus managers may select "Manage Individual User Accounts" from the Caucus management page.  Or your users may self-register their own userid and password from the link in the caucus.html or caucuswsl.html pages.

[Continue with installation]