Unidata - To provide the data services, tools, and cyberinfrastructure leadership that advance Earth system science, enhance educational opportunities, and broaden participation. Unidata
         
  advanced  
 

Setting up a FAQO Server

This is rudimentary documentation for setting up a FAQO server at your site. Apologies for how primitive it all us so far.

The FAQO clients are downloaded through WebStart from here. You just have to change the Server URL in Configure/ Preferences/FAQO Server.

The server code is 100% Java except for the SVD solver, which is in C. It requires Java 1.3, and has been tested under Win32, Solaris and Linux. (jdk1.2.2 probably will still work, but is no longer being tested).
 

Installation

The following is how I set my server up, you should modify as suits you. I assume you will set it up in directory $BASE.
  1. Create $BASE/server directory, and put these files into it: FAQOServer.jar, activation.jar, jdom.jar, jhall.jar, mail.jar, xerces.jar, and startFAQOServer.
  2. Add these jar files to jre/lib/ext, or to $BASE/server: mail.jar, activation.jar, jh.jar
  3. Create $BASE/bin, and these files into it: libfaqo.so (linux) or faqo.dll and netcdf.dll (Win32). On other systems (and possibly on variations of those) you'll have to build these yourself from the source code, below.
  4. Add $BASE/bin to your PATH.
  5. Decide on where you have enough space for the FAQO databases; I assume here its $FAQO/data.
  6. You need to modify startFAQOServer, to use the correct data path. It currently looks like:
  7. java -Djava.rmi.server.codebase=http://faqo.unidata.ucar.edu/faqo/server/FAQOServer.jar \
        -Xmx256m \
        -Djava.security.policy=$BASE/policy \
        -classpath ./FAQOServer.jar faqo.server.FAQOServer \
        $BASE/data
        Some notes about this startup script:
    1. The first line points to where the codebase lives on an http server. I think this is not actually used (because the client has all the code it needs), but you should probably change it to one of your http servers, in case I'm wrong.
    2. The second line says to give the JVM 256 Mbytes. This has been a reasonable number for the databases we have, but you might need more or less.
    3. The third line points to the jar file. You can make this an absolute path if you want t ostart the script from somewhere else.
    4. Change the fourth line to the root directory of your FAQO databases. Create that directory if it doesnt exist.


    To run the Server:

  1.    Start up the rmiregistry:
  2. > rmiregistry &
  3. Start up the FAQO server:
  4. > startFAQOServer
    
    

Privileges

Functionality is controlled by giving users specific privileges in one, several, or all databases. Higher privileges have all the rights of lower privileges.
The privileges are:
  1. Login : allowed to login
  2. Read : allowed to make queries, read databases
  3. Rate: allowed to rate queries
  4. Write: allowed to  modify and delete messages
  5. Owner: can add new messages, expunge deleted messages, change the matching algorithm parameters.
  6. Admin: can add, repair databases.
Privileges are controlled by two configuration files, privList and users.xml.

privList file

This lists all privileges granted
Example:
    # priv   userName  dbName
    Login    *         *                      # anyone has login privileges
    Read     *         *                      # anyone has read privileges
    Rate     *         *                      # anyone has rate privileges
    Owner    joe       /unidata/ldm*          # joe has owner privilege on /unidata/ldm and its subdirectories         
    Owner    fred      /unidata/netcdf/netcdf # fred has owner privilege on the /unidata/netcdf/netcdf database 
    Admin    john      *                      # john has admin privilege on all databases

users.xml file

If you assign users any privileges, you must enter their name and assign them a password in the users.xml file. Each user is named as a "substore", and their password entered. Currently this must all be done by hand.

Example:

<?xml version="1.0" encoding="UTF-8"?>
<store name="root" version="1.0">
  <substore name="joe">
    <string name="Password" value="test" />
  </substore>
  <substore name="fred">
    <string name="Password" value="mama" />
  </substore>
</store>



Comments, complaints and compliments: caron@ucar.edu
Last updated: 05/16/2001
 
 
  Contact Us     Site Map     Search     Terms and Conditions     Privacy Policy     Participation Policy
 
National Science Foundation (NSF) UCAR Community Programs   Unidata is a member of the UCAR Community Programs, is managed by the University Corporation for Atmospheric Research, and is sponsored by the National Science Foundation.
P.O. Box 3000     Boulder, CO 80307-3000 USA     Tel: 303-497-8643     Fax: 303-497-8690