refdb-sruserver — Simple SRU server for RefDB databases




refdb-sruserver is a simple standalone web server which povides a SRU service for RefDB databases. It is intended solely for local single-user access. For anything more ambitious, please see the CGI version of the SRU service, refdbsru(1).

Before starting the SRU service, make sure to set up the refdbsrurc configuration file which it shares with the CGI variant. The RefDB application server refdbd(1) must also be up and running. Now start the script which will run in the foreground until you kill it with Ctrl-c. The SRU service is available at the URL http://localhost:8080. Pointing your web browser to this address should return the output of the SRU explain command in a nicely formatted page. To run real queries, append the SRU query strings to the above URL.


refdb-sruserver evaluates the file refdbsrurc to initialize itself. It shares this configuration file with refdbsru(1), the CGI variant of the SRU service.


The parameters starting with "zeerex_" do not actually influence how the script operates. They provide some of the site-specific information which appears in the SRU explain output.

Table 12.3. refdb-sruserverrc

logfile/var/log/refdb-sruserver.logThe full path of a custom log file. This is used only if logdest is set appropriately.
logdest1The destination of the log information. 0 = print to stderr; 1 = use the syslog facility; 2 = use a custom logfile. The latter needs a proper setting of logfile.
loglevel6The log level up to which messages will be sent. A low setting (0) allows only the most important messages, a high setting (7) allows all messages including debug messages. -1 means nothing will be logged.
serverip127.0.0.1The IP address or hostname of the machine where refdbd runs. Use the default (localhost) address if the clients and refdbs run on the same machine.
port9734The port on which refdbd listens. Change this for all clients and the server if this value interferes with another program using this port.
timeout180The timeout in seconds. After this time has elapsed, a stalled connection is taken down. Increase this value if you encounter frequent timeout errors due to high network traffic or refdbd overload.
usernamelogin nameThe username which is used for authentication with the database server.
passwd The password which is used for authentication with the database server.
pdfroot(none)This value will be used as the root of the paths to PDF or Postscript offprints that can be specified with the AV field in a RIS dataset. The path should not rely on shell expansion, e.g. use /home/me/literature/ instead of ~/literature/. The pdfroot allows you to shorten the paths that you enter for each dataset and to maintain a certain portability if you have to move the offprints to a different directory or want to access them remotely. The html output routine will concatenate the relative path of each dataset with the pdfroot to construct the link to the offprint. Instead of a local path name you can specify an URL starting with http:// or ftp:// if your offprints are accessible through a web server or ftp server.
cssurl(none)In spite of the parameter name, this may be the URL either of a Cascading Style Sheet (CSS) file, or of a XSLT file. This file, if specified, is used to format the SRU output in the web browser.
dbserver(none)This is the name of the database engine that refdbd uses (currently either mysql, pgsql, sqlite, or sqlite3). refdb-sruserver can obtain this value at runtime, but it has to send one additional query per searchRetrieve or scan operation. If you provide the value here instead, response times will be faster.
zeerex_hostwww.change.meThe hostname of the computer that runs your web server and refdb-sruserver
zeerex_port80The port that your web server listens to.
zeerex_databasecgi-bin/refdb-sruserverThe path section of the URL which provides SRU access to your database, without the leading slash. zeerex_host, a slash, and this option combined make up the URL which a user has to type into his web browser to access your SRU service.
zeerex_databaseInfo_titleReference DatabaseA public name of your database.
zeerex_databaseInfo_descriptionA reference databaseA brief description of your database.
zeerex_databaseInfo_authorYour NameThe name of the person who is in charge of running the database.
zeerex_databaseInfo_contactyour@emailHow to contact the database maintainer. Usually the email address.



The global configuration file of refdb-sruserver.

See also

RefDB (7)

refdbsru (1)

RefDB manual (local copy) <prefix>/share/doc/refdb-<version>/refdb-manual/index.html

RefDB manual (web) <>

RefDB on the web <>

SRU (Search and Retrieve via URL) <>


refdb-sruserver was written by Markus Hoenicka <>.