<div dir="ltr">

<p class="MsoNormal" style="text-align:left;direction:ltr;unicode-bidi:embed"><span style="color:rgb(0,0,255)"><a name="OLE_LINK4"></a><a name="OLE_LINK3"></a><a name="OLE_LINK2"></a><span style="font-family:tahoma,sans-serif"><a name="OLE_LINK1"><span><span><span></span></span></span></a></span></span></p><p class="MsoNormal" style="text-align:left;direction:ltr;unicode-bidi:embed"><span style="color:rgb(0,0,0)"><span style="font-family:tahoma,sans-serif"><span><span><span>Thank you for your tremendous
support.</span></span></span></span></span></p><p class="MsoNormal" style="text-align:left;direction:ltr;unicode-bidi:embed"><span style="color:rgb(0,0,0)"><span style="font-family:tahoma,sans-serif"><a name="OLE_LINK1"><span><span><span><br></span></span></span></a></span></span></p><p class="MsoNormal" style="text-align:left;direction:ltr;unicode-bidi:embed"><span style="color:rgb(0,0,0)"><span style="font-family:tahoma,sans-serif"><a name="OLE_LINK1"><span><span><span></span></span></span></a><span><span><span><span></span></span></span></span></span></span></p><span style="color:rgb(0,0,0)"><span style="font-family:tahoma,sans-serif">

</span></span><p class="MsoNormal" style="text-align:left;direction:ltr;unicode-bidi:embed"><span style="color:rgb(0,0,0)"><span style="font-family:tahoma,sans-serif"><span><span><span>I have
successfully integrated dedicated zebra server over TCP connection.</span></span></span></span></span></p><span style="color:rgb(0,0,0)"><span style="font-family:tahoma,sans-serif">

</span></span><p class="MsoNormal" style="text-align:left;direction:ltr;unicode-bidi:embed"><span style="color:rgb(0,0,0)"><span style="font-family:tahoma,sans-serif"><span><span><span>In my
existing system I am getting an error (*** Error in `zebraidx': corrupted
double-linked list: 0x00000000012c6a30 ***) while indexing large database.<span>  </span>Because of that I was looking the workaround
and finally get done.</span></span></span></span></span></p><p class="MsoNormal" style="text-align:left;direction:ltr;unicode-bidi:embed"><span style="color:rgb(0,0,0)"><span style="font-family:tahoma,sans-serif"><span><span><span><br></span></span></span></span></span></p><span style="color:rgb(0,0,0)"><span style="font-family:tahoma,sans-serif">

<span></span><span></span><span></span><span></span>

</span></span><p class="MsoNormal" style="text-align:left;direction:ltr;unicode-bidi:embed"><span style="color:rgb(0,0,0)"><span style="font-family:tahoma,sans-serif">I
am glad to help somebody want to do this integration.</span></span></p>

</div><div class="gmail_extra"><br><div class="gmail_quote">On Wed, Jul 19, 2017 at 5:09 AM, David Cook <span dir="ltr"><<a href="mailto:dcook@prosentient.com.au" target="_blank">dcook@prosentient.com.au</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div link="blue" vlink="purple" lang="EN-AU"><div class="m_-2875276234099118957WordSection1"><p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1f497d">A sizeable portion of koha-conf.xml is actually Zebra configuration. An interesting task would be to separate out all the Zebra-specific stuff and put it in its own file, so that it was less intimidating and perhaps easier to manage.<u></u><u></u></span></p><p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1f497d"><u></u> <u></u></span></p><p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1f497d">For searching, Koha is just using a Z39.50 connection, so Zebra could be accessed over TCP on a different server.<u></u><u></u></span></p><p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1f497d"><u></u> <u></u></span></p><p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1f497d">For indexing, the indexing needs to happen on the Zebra server, and in order to index you need to have records from the Koha database. There’s a number of ways you could handle that I suppose… but yeah it currently is closely tied to the Koha application monolith. In theory, if your MySQL database was on yet another server, you’d just need an indexing script and the credentials to access the MySQL database. <u></u><u></u></span></p><p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1f497d"><u></u> <u></u></span></p><p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1f497d">I suppose there are some system preferences that get taken into account as well… but that’s still coming from the database.<u></u><u></u></span></p><p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1f497d"><u></u> <u></u></span></p><p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1f497d">In theory, I would think the “koha-common” package would contain the libraries needed for anything interfacing with Koha and then a person could use Ansible to keep the remote servers all consistently configured. <u></u><u></u></span></p><p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1f497d"><u></u> <u></u></span></p><p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1f497d">Anyway, all that would require some work, which I know I’m not planning to do. At this point, it’s probably more worthwhile to focus on Elasticsearch development, although I think the plan is to keep Zebra around anyway, so decoupling it a bit from the Koha monolith wouldn’t necessarily be a bad idea…<u></u><u></u></span></p><p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1f497d"><u></u> <u></u></span></p><p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1f497d">David Cook<u></u><u></u></span></p><p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1f497d">Systems Librarian<u></u><u></u></span></p><p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1f497d">Prosentient Systems<u></u><u></u></span></p><p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1f497d">72/330 Wattle St<u></u><u></u></span></p><p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1f497d">Ultimo, NSW 2007<u></u><u></u></span></p><p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1f497d">Australiarpm <u></u><u></u></span></p><p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1f497d"><u></u> <u></u></span></p><p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1f497d">Office: 02 9212 0899<u></u><u></u></span></p><p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1f497d">Direct: 02 8005 0595<u></u><u></u></span></p><p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1f497d"><u></u> <u></u></span></p><p class="MsoNormal"><b><span style="font-size:11.0pt;font-family:"Calibri",sans-serif" lang="EN-US">From:</span></b><span style="font-size:11.0pt;font-family:"Calibri",sans-serif" lang="EN-US"> <a href="mailto:koha-devel-bounces@lists.koha-community.org" target="_blank">koha-devel-bounces@lists.koha-<wbr>community.org</a> [mailto:<a href="mailto:koha-devel-bounces@lists.koha-community.org" target="_blank">koha-devel-bounces@<wbr>lists.koha-community.org</a>] <b>On Behalf Of </b>Michael Hafen<br><b>Sent:</b> Wednesday, 19 July 2017 2:45 AM<br><b>To:</b> Kivilahti Olli-Antti <<a href="mailto:olli-antti.kivilahti@jns.fi" target="_blank">olli-antti.kivilahti@jns.fi</a>></span></p><div><div class="h5"><br><b>Cc:</b> <a href="mailto:koha-devel@lists.koha-community.org" target="_blank">koha-devel@lists.koha-<wbr>community.org</a><br><b>Subject:</b> Re: [Koha-devel] Dedicated Zebra Server<u></u><u></u></div></div><p></p><div><div class="h5"><p class="MsoNormal"><u></u> <u></u></p><div><p class="MsoNormal">I'm thinking of doing something like this too.  I'd really like to see the zebra var's from the koha_conf.xml too, if possible.  Thanks.<u></u><u></u></p></div><div><p class="MsoNormal"><u></u> <u></u></p><div><p class="MsoNormal">On Tue, Jul 18, 2017 at 8:37 AM, Kivilahti Olli-Antti <<a href="mailto:olli-antti.kivilahti@jns.fi" target="_blank">olli-antti.kivilahti@jns.fi</a>> wrote:<u></u><u></u></p><blockquote style="border:none;border-left:solid #cccccc 1.0pt;padding:0cm 0cm 0cm 6.0pt;margin-left:4.8pt;margin-right:0cm"><div><div><p class="MsoNormal" style="margin-bottom:12.0pt"><span style="font-size:10.0pt;font-family:"Tahoma",sans-serif;color:black">Hi!<br><br>We install Koha in a cluster of LXC containers:<br><br>One haproxy for dns redirection and ssl offloading<br>One container for MariaDB<br>One for OPAC<br>One for staff client<br>One for Zebra<br>One for misc stuff, like the SIP2-server<br>One for ElasticSearch<br>One for Memcached<br>+containers for other support services<br><br>With haproxy it is rather straight forward to start load balancing multiple "web bricks" if you choose to. We don't need to do it since we chose to buy a lot of hardware. Hardware is less expensive than work where we live in.<br>This clusterization is simply to increase robustness and security.<br>And actually has saved our bacon few times during the past years, when we get unidentifiable hard-drive freezes with the SIP2-container,<br>or some cronjob has went awol and completely hogged all system resources available to it.<br>Without containerization we would have had downtime.<br>Also helps with simple DOS-attacks which can happen by accident.<br><br>I recommend this type of setup.<br><br>Unfortunately the debian packages add a lot of unnecesary cruft to each container so we use dev-install instead.<br><br>Getting Zebra to work in a separate container:<br>Zebra is really really really tightly wound into the make-toolchain Koha uses and there is no convenient way of separating it. Maybe you could just bind mount the zebradb-directory between containers. This might be enough to run Zebra separate of the Koha's source code.<br><br>Since mass storage is very cheap, we just run two identical Koha instances from the same source code repo. We make several identical Koha-installations via the dev-install.<br>The Zebra-one only has Zebra and Koha sources (no Apache2, MariaDB, etc packages needed by a standalone Koha).<br>You can configure Zebra to listen on tcp socket via the $KOHA_CONF. You can conveniently centrally configure the same $KOHA_CONF to all the Koha containers, so they all find the same Zebra by the ip and the same MariaDB. This is best done with Ansible (since community has already started working towards Ansible)<br><br><br>Separating Zebra to a isolated (and easily monitorable) environment is entirely possible.<br><br><br><br>Here is a snippet from our Ansible infrastructure definitions where Koha is set up with capability: zebra<br><br>These should be most of the Ansible steps needed together with Koha-source to get Zebra running standalone:<br><br><br><br>ansible@hephaestus:~/<wbr>KSAnsible$ cat roles/koha/tasks/capabilities/<wbr>zebra.yml<br><br>---<br><br>- name: Install zebrasrv and zebraidx<br>  apt:<br>    name: idzebra-2.0<br>  become: yes<br><br>- name: Create the zebra socket-dir and permissions<br>  file:<br>    path: "{{zebra_run_dir}}"<br>    owner: koha<br>    group: koha<br>    state: directory<br>  become: yes<br><br>- name: Create the zebra lock-dir and permissions<br>  file:<br>    path: "{{zebra_lock_dir}}"<br>    owner: koha<br>    group: koha<br>    state: directory<br>  become: yes<br><br>- name: Create the zebra data-dir and permissions<br>  file:<br>    path: "{{zebra_data_dir}}"<br>    owner: koha<br>    group: koha<br>    state: directory<br>  become: yes<br><br><br>- name: Configure Zebra stripes<br>  lineinfile:<br>    path:   "{{item.path}}"<br>    regexp: "{{item.regexp}}"<br>    line:   "{{item.line}}"<br>  with_items:<br>    - path:   "{{koha_dev_path}}/etc/<wbr>zebradb/zebra-biblios-dom.cfg"<br>      regexp: "^memMax:"<br>      line:    "memMax: {{zebra_index_mem}}"<br>    - path:   "{{koha_dev_path}}/etc/<wbr>zebradb/zebra-biblios-dom.cfg"<br>      regexp: "^register:"<br>      line:    "register: {{zebra_data_dir}}/biblios/<wbr>register:{{zebra_index_size}}"<br>    - path:   "{{koha_dev_path}}/etc/<wbr>zebradb/zebra-biblios-dom.cfg"<br>      regexp: "^shadow:"<br>      line:    "shadow: {{zebra_data_dir}}/biblios/<wbr>shadow:{{zebra_index_size}}"<br>    - path:   "{{koha_dev_path}}/etc/<wbr>zebradb/zebra-biblios-dom.cfg"<br>      regexp: "^sortmax:"<br>      line:    "sortmax: {{zebra_sort_max}}"<br>    - path:   "{{koha_dev_path}}/etc/<wbr>zebradb/zebra-biblios-dom.cfg"<br>      regexp: "^facetNumRecs:"<br>      line:    "facetNumRecs:{{zebra_facet_<wbr>num_records}}"<br>      owner: koha<br>  become: yes<br>  notify: Restart Zebra<br><br>- name: Zebra - Link Zebra-service<br>  file:<br>    src:   "{{koha_dev_path}}/bin/koha-<wbr>zebra-ctl.sh"<br>    dest:  "/etc/init.d/koha-zebra-<wbr>daemon"<br>    owner: root<br>    group: root<br>    state: "link"<br>  become: yes<br><br>- name: Zebra - Enable Zebra-service<br>  systemd:<br>    name: koha-zebra-daemon<br>    enabled: yes<br>    daemon_reload: yes<br>    state: started<br>  become: yes<br><br>- name: Zebra-index - Link Zebra-index-service<br>  file:<br>    src:   "{{koha_dev_path}}/bin/koha-<wbr>index-daemon-ctl.sh"<br>    dest:  "/etc/init.d/koha-index-<wbr>daemon"<br>    owner: root<br>    group: root<br>    state: "link"<br>  become: yes<br><br>- name: Zebra-index - Enable Zebra-index-service<br>  systemd:<br>    name: koha-index-daemon<br>    enabled: yes<br>    daemon_reload: yes<br>    state: started<br>  become: yes<br><br>- name: Deploy Zebra cronjobs<br>  template:<br>    owner: "{{koha_user}}"<br>    src:   "etc_cron.d_koha.j2"<br>    dest:  "/etc/cron.d/koha-zebra"<br>  vars:<br>    cronjobs:<br>      rbza:<br>        comment: '#Trigger full Zebra reindexing daily'<br>        prefix:  ' '<br>        timing:  '46 10 * * *'<br>        user:    'koha'<br>        command: 'migration_tools/<a href="http://rebuild_zebra.pl" target="_blank">rebuild_<wbr>zebra.pl</a> -b -a -r -v -x'<br>  become: yes<br><br><br><br><u></u><u></u></span></p><div><div class="MsoNormal" style="text-align:center" align="center"><span style="color:black"><hr width="100%" size="2" align="center"></span></div><div id="m_-2875276234099118957m_4135869002833904029divRpF156636"><p class="MsoNormal" style="margin-bottom:12.0pt"><b><span style="font-size:10.0pt;font-family:"Tahoma",sans-serif;color:black">From:</span></b><span style="font-size:10.0pt;font-family:"Tahoma",sans-serif;color:black"> <a href="mailto:koha-devel-bounces@lists.koha-community.org" target="_blank">koha-devel-bounces@lists.koha-<wbr>community.org</a> [<a href="mailto:koha-devel-bounces@lists.koha-community.org" target="_blank">koha-devel-bounces@lists.<wbr>koha-community.org</a>] on behalf of Mansur Ali [<a href="mailto:mansuralih@gmail.com" target="_blank">mansuralih@gmail.com</a>]<br><b>Sent:</b> Tuesday, July 18, 2017 3:11 PM<br><b>To:</b> Tajoli Zeno<br><b>Cc:</b> <a href="mailto:koha-devel@lists.koha-community.org" target="_blank">koha-devel@lists.koha-<wbr>community.org</a><br><b>Subject:</b> Re: [Koha-devel] Dedicated Zebra Server</span><span style="color:black"><u></u><u></u></span></p></div><div><div><div><div><p class="MsoNormal" style="margin-bottom:12.0pt"><span style="font-family:"Tahoma",sans-serif;color:black">Thank you for your valuable information.<br><br></span><span style="color:black"><u></u><u></u></span></p></div><div><p class="MsoNormal"><span style="color:black"><u></u> <u></u></span></p><div><p class="MsoNormal"><span style="color:black">On Tue, Jul 18, 2017 at 2:59 PM, Tajoli Zeno <<a href="mailto:z.tajoli@cineca.it" target="_blank">z.tajoli@cineca.it</a>> wrote:<u></u><u></u></span></p><blockquote style="border:none;border-left:solid #cccccc 1.0pt;padding:0cm 0cm 0cm 6.0pt;margin-left:4.8pt;margin-right:0cm"><p class="MsoNormal"><span style="color:black">Hi,<br><br>Il 18/07/2017 13:28, Mansur Ali ha scritto:<u></u><u></u></span></p><blockquote style="border:none;border-left:solid #cccccc 1.0pt;padding:0cm 0cm 0cm 6.0pt;margin-left:4.8pt;margin-right:0cm"><p class="MsoNormal"><span style="color:black">Hello,<br><br>I am using KOHA ILS. Can i able to use dedicated Zebra Server which is installed in another server? Could you please advice if possible?<u></u><u></u></span></p></blockquote><p class="MsoNormal"><span style="color:black"><br>with present standard installation, the answer is no, it is not possible.<br><br>In theory if:<br>1)You setup to use PazPar instead of Zebra [an old option not tested from years] AND<br>2)You rewrite the updating scripts and deamon<br><br>you can try to do it.<br><br>I suggest you to do a try only if you are very skilled on Zebra and others Indexdata's tools.<br><br>Bye</span><span style="color:#888888"><br><span class="m_-2875276234099118957m4135869002833904029hoenzb">Zeno Tajoli</span><br><br><span class="m_-2875276234099118957m4135869002833904029hoenzb">-- </span><br><span class="m_-2875276234099118957m4135869002833904029hoenzb">Zeno Tajoli</span><br><span class="m_-2875276234099118957m4135869002833904029hoenzb">/SVILUPPO PRODOTTI CINECA/ - Automazione Biblioteche</span><br><span class="m_-2875276234099118957m4135869002833904029hoenzb">Email: <a href="mailto:z.tajoli@cineca.it" target="_blank">z.tajoli@cineca.it</a> Fax: 051/6132198</span><br><span class="m_-2875276234099118957m4135869002833904029hoenzb">*CINECA* Consorzio Interuniversitario - Sede operativa di Segrate (MI)</span></span><span style="color:black"><u></u><u></u></span></p></blockquote></div><p class="MsoNormal"><span style="color:black"><br><br clear="all"><br>-- <u></u><u></u></span></p><div><div><div><div><div><div><p class="MsoNormal"><span style="font-family:"Georgia",serif;color:black">Mansur Ali</span><span style="color:black"><u></u><u></u></span></p><p><span style="font-size:10.0pt;font-family:"Georgia",serif;color:black"><a href="tel:+966%2056%20897%208721" target="_blank">+966568978721</a> | +919061635954 </span><span style="font-family:"Georgia",serif;color:black">|</span><span style="font-size:10.0pt;font-family:"Georgia",serif;color:black"> <a href="mailto:mansuralih@gmail.com" target="_blank">mansuralih@gmail.com</a></span><span style="color:black"><u></u><u></u></span></p></div></div></div></div></div></div></div></div></div></div></div></div></div><p class="MsoNormal"><br>______________________________<wbr>_________________<br>Koha-devel mailing list<br><a href="mailto:Koha-devel@lists.koha-community.org" target="_blank">Koha-devel@lists.koha-<wbr>community.org</a><br><a href="http://lists.koha-community.org/cgi-bin/mailman/listinfo/koha-devel" target="_blank">http://lists.koha-community.<wbr>org/cgi-bin/mailman/listinfo/<wbr>koha-devel</a><br>website : <a href="http://www.koha-community.org/" target="_blank">http://www.koha-community.org/</a><br>git : <a href="http://git.koha-community.org/" target="_blank">http://git.koha-community.org/</a><br>bugs : <a href="http://bugs.koha-community.org/" target="_blank">http://bugs.koha-community.<wbr>org/</a><u></u><u></u></p></blockquote></div><p class="MsoNormal"><br><br clear="all"><br>-- <u></u><u></u></p><div><div><div><div><div><div><p class="MsoNormal">Michael Hafen<u></u><u></u></p></div><p class="MsoNormal">Washington County School District Technology Department<u></u><u></u></p></div><p class="MsoNormal" style="margin-bottom:12.0pt">Systems Analyst<u></u><u></u></p></div></div></div></div></div></div></div></div></div><br>______________________________<wbr>_________________<br>
Koha-devel mailing list<br>
<a href="mailto:Koha-devel@lists.koha-community.org">Koha-devel@lists.koha-<wbr>community.org</a><br>
<a href="http://lists.koha-community.org/cgi-bin/mailman/listinfo/koha-devel" rel="noreferrer" target="_blank">http://lists.koha-community.<wbr>org/cgi-bin/mailman/listinfo/<wbr>koha-devel</a><br>
website : <a href="http://www.koha-community.org/" rel="noreferrer" target="_blank">http://www.koha-community.org/</a><br>
git : <a href="http://git.koha-community.org/" rel="noreferrer" target="_blank">http://git.koha-community.org/</a><br>
bugs : <a href="http://bugs.koha-community.org/" rel="noreferrer" target="_blank">http://bugs.koha-community.<wbr>org/</a><br></blockquote></div><br><br clear="all"><br>-- <br><div class="gmail_signature" data-smartmail="gmail_signature"><div dir="ltr"><div><div dir="ltr"><div><div dir="ltr"><span style="font-family:georgia,serif">Mansur Ali<br>

</span><p><span style="font-family:georgia,serif;font-size:10pt">+966568978721 | +</span><font face="georgia, serif"><span style="font-size:13.3333330154419px">919061635954 </span>|</font><font size="2" style="font-family:georgia,serif"> <a href="mailto:mansuralih@gmail.com" target="_blank">mansuralih@gmail.com</a></font><span></span></p></div></div></div></div></div></div>
</div>