Troubleshooting Koha as a Z39.50 server

From Koha Wiki
Jump to navigation Jump to search

After you have configured Koha to act as a Z39.50/SRU server, there are some problems you might run into. Here are some tips for figuring them out.

Is your config right?

If you want to make public Z39.50 server which is accessible from Internet, you need these bits, and they need to be uncommented on /etc/koha/sites/library/koha-conf.xml:

<listen id="publicserver">tcp:@:nnn</listen>
<server id="publicserver" listenref="publicserver">...</server>
<serverinfo id="publicserver">...</serverinfo>

Where nnn is the port you want Z39.50 to be available on (usually 210).

Is zebra running?

ps aux | grep zebra

Is the right port open in your firewall?

sudo netstat -pn --udp --listen

Did you set a password for zebra?

If so, you need to use it when you search.

Can you connect with yaz-client?

Here is quick example when using port 210 and ccl syntax which is shown in Koha queries to Zebra:

dpavlin@koha-dev:~$ yaz-client -c /etc/koha/zebradb/ccl.properties localhost:210/biblios
Connecting...OK.
Sent initrequest.
Connection accepted by v3 target.
ID     : 81
Name   : Zebra Information Server/GFS/YAZ
Version: 4.1.7 c43e561fdfe12989a6040163dae0e28ba0a02453
Options: search present delSet triggerResourceCtrl scan sort extendedServices namedResultSets
Elapsed: 0.001445
Z> querytype ccl2rpn
Z> find (kw,wrdl,rtrn=human ) not Suppress=1
Sent searchRequest.
Received SearchResponse.
Search was a success.
Number of hits: 1935, setno 1
SearchResult-1: term=    human cnt=1935, term=    1 cnt=21
records returned: 0
Elapsed: 0.025643
Z> show

Zebra logs

Zebra creates log files in which you can grep for errors using something like:

dpavlin@koha-dev:~$ grep ERROR /var/log/koha/koha-zebradaemon-output.log 
18:31:51-29/03 zebrasrv(1) 60cae1f5 [request] Init ERROR 1011 ID:81 Name:ZOOM-C/YAZ Version:4.1.7 c43e561fdfe12989a6040163dae0e28ba0a02453

1011 in Bib-1 Diagnostics code for which you can find descriptions at http://www.loc.gov/z3950/agency/defns/bib1diag.html

In our example, it's bad userid or password.