The automatic configuration (auto_config.pl) tool simplifies the configuration of Dienst and the initial creation of a document database. It allows you to install a Dienst server with only basic Unix and text editing skills. (If you wish, you may customize Dienst to use an existing document directory structure).
To ensure a successful installation, please perform the following steps in order. In these instructions, all directory names, except when noted otherwise, are relative to the dienst root directory, which is created when you download the Dienst software..
If you have problems with any of these instructions, there is an FAQ for those who are installing Dienst.
If you need to report a bug, contact us at email@example.com.
Up to the main installation menu
Dienst requires that each document in the entire (distributed) collection has a unique location-independent name, known as a handle. A handle consists of a naming authority followed by a slash (/) and string. A naming authority is an entity that is authorized to create new handles and store them in the handle system. Naming authorities are hierarchially organized with periods used as the separator. For example, the naming authority ncstrl.cornell, has ncstrl as the top level naming authority, and cornell as the sub-naming authority within it. By convention, the top level naming authority for NCSTRL documents is ncstrl. The remainder of a handle is a unique string assigned to each document within a specific naming authority. The naming authority is free to use its own conventions within the string, as long as each document in the naming authority has a unique string. An example of a complete handle is ncstrl.cornellcs/TR95-1918.
Before you include a set of documents in the NCSTRL collection (by running Dienst), you must assign a handle to each document. The first task is requesting the administrators of the ncstrl naming authority to create one or more sub-naming authorities for your collection. You may wish to specify a single naming authority for all of your documents. We assume most sites will do this. Or you may wish to specify multiple naming authorities. For example, the site Nebraska Coastal University, which has a computer science department and a separate research lab, could choose to have two naming authorities: "ncstrl.ncu.cs" and "ncstrl.ncu.researchlab". To propose naming authorities within the ncstrl domain, you must fill out a registration form for each request. We will respond with your assign authority(s), and additional information such as the administrative password for your naming authority(s).
After securing one or more naming authorities, you can create handles by prepending the naming authority to your site specific document identifier. We assume that most sites already have a naming scheme for their documents. There is no reason that these sites can't use this existing naming scheme as the component of the handle following the assigned naming authority.
To the top of this document
The server and associated software is available in a Unix compressed
tar file at
ftp.cs.cornell.edu/pub/Dienst/Dienst.tar.Z . The tar file is
approximately 2.5MB in compressed form and 3.5MB when uncompressed.
A large portion of this space is consumed by the
examples/db directory, which contains a sample document
database and which may be deleted at any time. Uncompress and unpack the tar file
using the command line:
uncompress -c Dienst.tar.Z | tar xpvf -
All files in this tar file are
rooted under a single directory,
dienst. This directory contains the following subdirectories.
Directories with capitalized names contain code.
dienstsubtree are set as follows:
Configdirectory are user and group writable.
Indexer/build-inverted-indexes.plare user and group executable.
dienst_groupthen execute the following commands from the directory that contains the Dienst sub-tree:
chown -R dienst_user dienst chgrp -R dienst_group dienstYou may remove the
Dienst.tar.Zfile after unpacking it
::". The tags that are mandatory for use in Dienst are shown below in the order they should appear.
BIB-VERSION- always has the value CS-TR-v2.1. This must be the first tag in each set.
ID- the identifier of this document in the format XXX//YYY where XXX is the naming authority and YYY is the document id. Note that this MUST be the same as the handle for the document except that the naming authority and string are delimited by a
//rather than a
ENTRY- the date of creation of the record in the format Month Day, Year. The month must be alphabetic (spelled out). The Day is a 1- or 2-digit number. The Year is a 4-digit number.
TITLE- the title of the work as assigned by the author.
AUTHOR- an individual author in last name, first format. Multiple authors are entered by using multiple lines, each with the
DATE- the publication date in Month Day, Year as
ABSTRACT- a plain text abstract of the document. This field may consist of several lines of text.
END- this must be the last line and its value must be the same identifier that was used with the
BIB-VERSION:: CS-TR-v2.1 ID:: ncstrl.cornell//TR95-1478 ENTRY:: January 19, 1995 TITLE:: Solving Alignment using Elementary Linear Algebra AUTHOR:: Bau, David AUTHOR:: Kodukula, Induprakas AUTHOR:: Kotlyar, Vladimir AUTHOR:: Pingali, Keshav AUTHOR:: Stodghill, Paul DATE:: January 16, 1995 ABSTRACT:: Data and computation alignment is an important part of compiling sequential programs to architectures with non-uniform memory access times. In this paper, we show that elementary matrix methods can be used to determine communication-free alignment of code and data. We also solve the problem of replicating read-only data to eliminate communication. Our matrix-based approach leads to algorithms which are simpler and faster than existing algorithms for the alignment problem. END:: ncstrl.cornell//TR95-1478Individual bibliographic entries in the master bib file must begin with the BIB-VERSION tag and end with the END tag. The release comes with a sample master bib file, Config/examples.bib, containing two document bibliographies. .
Config/install.config is a set of configuration settings, which you will modify. This file uses a markup syntax, where each markup consists of a markup start (e.g., <markup>) and a markup end (e.g., </markup> (the makeup start and markup end MUST be the same, except for the / character in the markup end). Each markup corresponds to a setting name or a tag for a Tagged List. There are three types of settings supported: singletons, lists, tagged lists.
<list_name> list_value_1 list_value_2 ... </list_name>
<tagged_list_name> <item_1>value_item_1</item_1> <item_2>value_item_2</item_2> ... </tagged_list_name>
auto_config.plA run of auto_config.pl with comments is available.
Rerun this as many times as you need to get all the variables set correctly. Remember it creates a new version of config_constants.pl and custom.pl each time, as well as a new additions file for your Web server configuration file.
After Config/auto_config.pl is run, and your document database has been created, you may wish to run the utility Utilities/bin/check-bib-file.pl (from the dienst root directory). This makes some checks on the consistency of your database.
dienst.pl &in the
Kerneldirectory. You may wish to place this command in your system's
/etc/rc.localso that it automatically started when your system is booted.
logs/dienst.log.<date>to verify that a startup message was recorded in the log.
To test the Dienst server, execute the script Dienst_server_test.pl in Config. Test 1 returns a header and the Dienst version of your server; Test 2 returns a header, and an html formated listing of the server status (this is pretty long); Test 3 returns a header, and a text/plain listing of the contents of your document database. If no error messages occur, your server is running fine.
To the top of this document
Choose a Web server to download. You should install the Web server on the same machine that you installed your Dienst server. Dienst has been fully tested with two well-known http servers, You should choose the server that you are most familiar with.
htdocs/Welcome.htmlis the recommended NCSTRL home page. You may, of course, customize it for your site. Note that the final text on the page (the footer) must be modified for your site.
If you are using NCSA http server as the gateway to Dienst, insert the contents of the file Config/srm_conf.additions at the end of the ScriptAlias directives in the srm.conf file.
If you are using CERN http server as a gateway to Dienst, replace all Pass directives in the httpd.conf with the contents of the file Config/httpd_conf.additions.
You can now start your Web server (please refer to the specific instructions for your Web server).
$standalone = "1";and change it to
$standalone = "0";Now run the command
Utilities/bin/reload-codeto register this new setting with your Dienst server.
To the top of this document
Up to Main Information Menu