Search A-Z index Help
University of Cambridge Home Physics Dept Home Mike Roses' Home Page TCM Group Home

MRBS (Meeting Room Booking System) - simple setup for external authentication (Raven)

If you need a simple room/equipment/stuff booking system then MRBS is pretty good.

Example Booking System

This system was setup for booking micropscopes, computers and rooms. You will need a University of Cambridge Raven login to look at it:
BSS room booking system

What you Need to install MRBS (Pre-Requisites)

Rough Guide to Setting up MRBS

As a non-root user:

  1. download MRBS source code
  2. follow the instructions in the INSTALL file that is part of the mrbs source code you've downloaded and extracted:
    1. put files in place web server can find them
    2. create a few database tables and other objects
    3. make sure php.ini allows php to run in the directory in which you have put MRBS
    4. create an administrator password, in config.inc.php:
      # Format: $auth["user"]["name"] = "password";
      $auth["user"]["administrator"] = "asecret";
      
  3. make sure basic MRBS works with a web browser
  4. Setup Raven authentication to MRBS with a slight hack of MRBS code:
    session_php.inc in the function "getUserName":
    
    //        if (isset($HTTP_SESSION_VARS["UserName"]) && ($HTTP_SESSION_VARS["UserName"] != ""))
    //            return $HTTP_SESSION_VARS["UserName"];
           if (isset($_SERVER['REMOTE_USER']) && ($_SERVER['REMOTE_USER'] != ""))
               return $_SERVER['REMOTE_USER'];
    
    and this bit of configuration in config.inc.php :
    $auth["session"] = "php";
    $auth["type"] = "none";
    
  5. Setup Raven authentication for the MRBS directory. This was done using a .htaccess file for the Apache directives:
    for all Raven accounts:
    
    
    order deny,allow
    deny from all
    AuthType Ucam-WebAuth
    Require valid-user
    Satisfy any
    
    
    for a list that you specify:
    
    
    order deny,allow
    deny from all
    AuthType Ucam-WebAuth
    Require group bss
    AuthGroupFile /etc/webgroup_bss
    Satisfy all
    
    
    The format of the /etc/webgroup_bss file is:
    bss: mr349 CRSID CRSID CRSID etc.
    
    
  6. test it
  7. define other administrator users in config.inc.php:
    $auth["admin"][] = "mr349";
    

Misc Notes

MRBS is not configured to send email in this example.

A little feature-ette is that when logged in as a Raven user with admin rights you sometimes get asked to login, again, as an admin user and only a local admin user will do.