Chapter 6. The Z39.50 Server

Table of Contents
Running the Z39.50 Server (zebrasrv)
Z39.50 Protocol Support and Behavior

Running the Z39.50 Server (zebrasrv)

FIXME - We need to be consistent here, zebraidx had the options at the end, and lots of explaining text before them. Same for zebrasvr! -H FIXME - At least we need a small intro, what is zebrasvr, and how it can be run (inetd, nt service, stand-alone program, daemon...) -H

Syntax

    zebrasrv [options] [listener-address ...]
   

Options

A listener-address consists of an optional transport mode followed by a colon (:) followed by a listener address. The transport mode is either ssl or tcp (default).

For TCP, an address has the form


    hostname | IP-number [: portnumber]
   

The port number defaults to 210 (standard Z39.50 port) for privileged users (root), and 9999 for normal users.

Examples


    tcp:dranet.dra.com

    ssl:secure.lib.com:3000
   

In both cases, the special hostname "@" is mapped to the address INADDR_ANY, which causes the server to listen on any local interface. To start the server listening on the registered port for Z39.50, and to drop root privileges once the ports are bound, execute the server like this (from a root shell):


    zebrasrv -u daemon @
   

You can replace daemon with another user, eg. your own account, or a dedicated IR server account.

The default behavior for zebrasrv is to establish a single TCP/IP listener, for the Z39.50 protocol, on port 9999.