BRL has a component design, allowing it to make use of advances in other technologies -- web servers, databases and Scheme interpreters. This gives the webmaster flexibility, but also means that more steps are necessary to get everything up and running. Here are the components and how they fit together:

  1. BRL allows SQL statements to be embedded in an HTML page, which are then passed to a database. Current choices are Oracle or nothing, but support for other databases may be added to BRL later without requiring changes to applications developed using BRL. If you will be using Oracle, make sure you have the appropriate header files and libraries to create an OCI program.
  2. Leveraging on more than 20 years of computer language design, BRL uses a Scheme interpreter to allow WWW applications to be developed using concise, readable code. Install MIT Scheme. This will occupy about 15 megabytes of disk space. You can follow the simple installation instructions included with the MIT Scheme binary distribution. If you already have directories named /usr/local and /usr/local/bin, make sure they are world-readable, i.e. chmod 755 /usr/local /usr/local/bin
  3. Because it would be impractical to start up a new Scheme interpreter every time a BRL page is generated, CGI is not used. Instead, you need to choose a FastCGI Server if you aren't already running one. Apache-SSL is a good choice if you want secure access to Oracle.
  4. Install the FastCGI development kit.

Once the prerequisites are installed, do the following steps:

  1. If building with OCI (N.B. Oracle 7.3.2 or higher required), make sure you have set the ORACLE_HOME environment variable to the appropriate value. Keep in mind that if you are using any WWW authentication, database users will be created or replaced using random passwords. If you don't want to replace existing database users, you will want to use the --enable-suffix option to configure below. Database users will then be created with _web appended to the regular username. If you want a different suffix, you may use the option --enable-suffix=_other_suffix.
  2. If you are an MIT Athena user, just type: source BUILD.athena
    This creates a temporary build directory and runs all the commands necessary to build correctly on Athena.
  3. If you are not an MIT Athena user and have installed the FastCGI development kit in its default location, just type: ./configure && make
    If you installed it elsewhere, use the same --prefix and --exec-prefix arguments to configure that you used when installing the FastCGI development kit, and be sure to set the environment variable BRL_HOME (default value: /usr/local/brl).
  4. Type: make install
  5. Configure your web server to run brlfcgi. You'll have to consult the appropriate documentation for your FastCGI server. For Apache, here's an example AppClass line:

    AppClass /var/https/fcgi-bin/brl-fcgi -initial-env ORACLE_HOME=/dbmsu001/app/oracle/product/7.3.2 -initial-env ORACLE_SID=pdb -initial-env -initial-env PATH=/dbmsu001/app/oracle/product/7.3.2/bin:/usr/local/bin:/bin

  6. If you are using Oracle, follow the instructions in sql/osetup.sql for making the automatic account creation happen.

Last modified: Fri Oct 31 07:32:16 EST 1997