Fix year
[idzebra-moved-to-github.git] / doc / installation.xml
index f10b0ea..c3f04b4 100644 (file)
@@ -1,15 +1,25 @@
-<!-- $Id: installation.xml,v 1.8 2003-03-05 00:08:04 adam Exp $ -->
+<!-- $Id: installation.xml,v 1.19 2006-04-25 12:26:26 marc Exp $ -->
  <chapter id="installation">
   <title>Installation</title>
   <para>
    Zebra is written in ANSI C and was implemented with portability in mind. 
-   We primarily use GNU C on UNIX and Microsoft Visual C++ on Windows.
+   We primarily use <ulink url="http://gcc.gnu.org/">GCC</ulink> on UNIX and 
+   <ulink url="http://msdn.microsoft.com/vstudio/">
+    Microsoft Visual C++</ulink>
+   on Windows.
   </para>
 
   <para>
-   The software is regularly tested on Debian GNU/Linux, Redhat Linux,
-   Gentoo Linux, NetBSD (Cobalt), FreeBSD (i386), SunOS 5.8 (sparc),
-   Windows 2000 SP3.
+   The software is regularly tested on
+   <ulink url="http://www.debian.org/">Debian GNU/Linux</ulink>,
+   <ulink url="http://www.redhat.com/">Redhat Linux</ulink>,
+   <ulink url="http://www.gentoo.org/">Gentoo Linux</ulink>,
+   <ulink url="http://www.suse.com/">SuSE Linux</ulink>,
+   <ulink url="http://www.freebsd.org/">FreeBSD (i386)</ulink>,
+   <ulink url="http://www.apple.com/macosx/">MAC OSX</ulink>,
+   <ulink url="http://www.sun.com/software/solaris/">SunOS 5.8
+    (sparc)</ulink>,
+   <ulink url="http://www.microsoft.com/windows2000/">Windows 2000</ulink>.
   </para>
   
   <para>
 
    <variablelist>
     <varlistentry>
-     <term><ulink url="http://www.indexdata.dk/yaz/">yaz</ulink> (required)</term>
+     <term><ulink url="http://www.indexdata.dk/yaz/">yaz</ulink>
+      (required)</term>
      <listitem>
       <para>
-       Zebra uses YAZ to support Z39.50/SRW. Also the memory management
+       Zebra uses YAZ to support Z39.50/ <ulink url="http://www.loc.gov/standards/sru/srw/">SRW</ulink>. Also the memory management
        utilites from YAZ is used by Zebra.
       </para>
      </listitem>
      <listitem>
       <para>
        These tools are only required if you're writing
-       Documentation for Zebra. You need the following
+       documentation for Zebra. You need the following
        Debian packages: jadetex, docbook, docbook-dsssl,
        docbook-xml, docbook-utils.
       </para>
     to configure.
    </para>
   </sect1>
+
+  <sect1 id="installation.debian"><title>GNU/Debian</title>
+   <sect2 id="installation.debianlinux"><title>GNU/Debian Linux</title>
+    <para>
+     Index Data provides pre-compiled <literal>GNU/Debian
+      Linux</literal> packages at our Debian package archive, both for
+     the <literal>Sarge</literal> and the <literal>Etch</literal> release. 
+    </para>
+    
+    <para>
+     To install these packages, you need to add two lines to your
+     <literal>/etc/apt/sources.list</literal> configuration file,
+     either the <literal>Sarge</literal> sources found at
+     <screen>
+      deb http://www.indexdata.dk/debian indexdata/sarge released
+      deb-src http://www.indexdata.dk/debian indexdata/sarge released
+     </screen>
+     or the <literal>Etch</literal> sources from 
+     <screen>
+      deb http://www.indexdata.dk/debian indexdata/etch released
+      deb-src http://www.indexdata.dk/debian indexdata/etch released
+     </screen>
+     After refreshing the package cache with the command
+     <screen>
+      apt-get update
+     </screen>
+     as <literal>root</literal>, the 
+     <ulink url="http://indexdata.dk/zebra/">Zebra</ulink> indexer is
+     easily installed issuing
+     <screen>
+      apt-get install idzebra idzebra-doc
+     </screen>
+    </para>
+   </sect2>
+   
+   <sect2 id="installation.debianother">
+    <title>GNU/Debian On Other Platforms</title>
+    <para>
+     These <ulink url="http://indexdata.dk/zebra/">Zebra</ulink>
+     packages are specifically compiled for
+     <literal>GNU/Debian Linux</literal> systems. Installation on other 
+     <literal>GNU/Debian</literal> systems is possible by
+     re-compilation the Debian way: you need to add only the 
+     <literal>deb-src</literal> sources lines to the 
+     <literal>/etc/apt/sources.list</literal> configuration file,
+     that is either the <literal>Sarge</literal> sources
+     <screen>
+      deb-src http://www.indexdata.dk/debian indexdata/sarge released
+     </screen>
+     or the <literal>Etch</literal> sources
+     <screen>
+      deb-src http://www.indexdata.dk/debian indexdata/etch released
+     </screen>
+     After refreshing the package cache with the command
+     <screen>
+      apt-get update
+     </screen>
+     as <literal>root</literal>, the 
+     <ulink url="http://indexdata.dk/zebra/">Zebra</ulink> indexer is
+     recompiled and installed issuing
+     <screen>
+      apt-get build-dep idzebra
+      apt-get source --compile idzebra
+     </screen>
+     as normal user.
+     The compiled <literal>GNU/Debian</literal> packages can then be
+     installed as <literal>root</literal> issuing
+     <screen>
+      dpkg -i install idzebra*.deb idzebra-doc*.deb
+     </screen>
+    </para>
+   </sect2>
+  </sect1>
+
   <sect1 id="installation.win32"><title>WIN32</title>
+   <para>The easiest way to install Zebra on Windows is by downloading
+    an installer from 
+    <ulink url="http://ftp.indexdata.dk/pub/zebra/win32/">here</ulink>.
+    The installer comes with source too - in case you wish to
+    compile Zebra with different Compiler options.
+   </para>
+   
    <para>
-    [to be written]
+    Zebra is shipped with "makefiles" for the NMAKE tool that comes
+    with <ulink url="http://msdn.microsoft.com/vstudio/">
+     Microsoft Visual C++</ulink>.
+    Version 6 has been tested. We expect that zebra compiles
+    with version 5 as well.
+   </para>
+   <para>
+    Start a command prompt and switch the sub directory
+    <filename>WIN</filename> where the file <filename>makefile</filename>
+    is located. Customize the installation by editing the
+    <filename>makefile</filename> file (for example by using notepad).
+    
+    The following summarizes the most important settings in that file:
+    
+    <variablelist>
+     <varlistentry><term><literal>DEBUG</literal></term>
+      <listitem><para>
+        If set to 1, the software is
+        compiled with debugging libraries (code generation is
+        multi-threaded debug DLL).
+        If set to 0, the software is compiled with release libraries
+        (code generation is multi-threaded DLL).
+       </para></listitem>
+     </varlistentry>
+     
+     <varlistentry>
+      <term><literal>YAZDIR</literal></term>
+      <listitem><para>
+        Directory of YAZ source. Zebra's makefile expects to find
+        <filename>yaz.lib</filename>, <filename>yaz.dll</filename> 
+        in <replaceable>yazdir</replaceable><literal>/lib</literal> and
+        <replaceable>yazdir</replaceable><literal>/bin</literal> respectively.
+       </para>
+      </listitem>
+     </varlistentry>
+     
+     <varlistentry>
+      <term><literal>HAVE_EXPAT</literal>,
+       <literal>EXPAT_DIR</literal></term>
+      <listitem><para>
+        If <literal>HAVE_EXPAT</literal> is set to 1, Zebra is compiled
+        with <ulink url="http://expat.sourceforge.net/">Expat</ulink> support. In this configuration, set 
+        <literal>ZEBRA_DIR</literal> to the <ulink url="http://expat.sourceforge.net/">Expat</ulink> source directory.
+       Windows version of Expat can be downloaded from
+       <ulink url="http://sourceforge.net/projects/expat/">
+        SourceForge
+       </ulink>.
+       </para></listitem>
+     </varlistentry>
+     
+     <varlistentry>
+      <term><literal>HAVE_ICONV</literal>,
+       <literal>ICONV_DIR</literal></term>
+       <listitem><para>
+        If <literal>HAVE_ICONV</literal> is set to 1, Zebra is compiled
+        with iconv support. In this configuration, set 
+        <literal>ICONV_DIR</literal> to the iconv source directory.
+        Iconv binaries can be downloaded from
+        <ulink url="http://www.zlatkovic.com/projects/libxml/binaries.html">
+         this site
+       </ulink>.
+       </para>
+      </listitem>
+     </varlistentry>
+     
+     <varlistentry>
+      <term><literal>BZIP2INCLUDE</literal>,
+       <literal>BZIP2LIB</literal>,
+       <literal>BZIP2DEF</literal>
+      </term>
+      <listitem><para>
+        Define these symbols if Zebra is to be compiled with
+       <ulink url="http://sources.redhat.com/bzip2/">BZIP2</ulink>
+       record compression support.
+       </para></listitem>
+     </varlistentry>
+     
+    </variablelist>
+   </para>
+   <warning>
+    <para>
+     The <literal>DEBUG</literal> setting in the makefile for Zebra must
+     be set to the same value as <literal>DEBUG</literal> setting in the
+     makefile for YAZ.
+     If not, the Zebra server/indexer will crash.
+    </para>
+   </warning>
+   <para>
+    When satisfied with the settings in the makefile, type
+    <screen>
+     nmake
+    </screen>
+   </para>
+   <note>
+    <para>
+     If the <filename>nmake</filename> command is not found on your system
+     you probably haven't defined the environment variables required to
+     use that tool. To fix that, find and run the batch file
+     <filename>vcvars32.bat</filename>. You need to run it from within
+     the command prompt or set the environment variables "globally";
+     otherwise it doesn't work.
+    </para>
+   </note>
+   <para>
+    If you wish to recompile Zebra - for example if you modify
+     settings in the <filename>makefile</filename> you can delete
+    object files, etc by running.
+    <screen>
+     nmake clean
+    </screen>
+   </para>
+   <para>
+    The following files are generated upon successful compilation:
+    
+    <variablelist>
+     <varlistentry><term><filename>bin/zebraidx.exe</filename></term>
+      <listitem><para>
+        The Zebra indexer.
+       </para></listitem></varlistentry>
+     
+     <varlistentry><term><filename>bin/zebrasrv.exe</filename></term>
+      <listitem><para>
+        The Zebra server.
+       </para></listitem></varlistentry>
+     
+    </variablelist>
+    
    </para>
   </sect1>
+
+  
  </chapter>
  <!-- Keep this comment at the end of the file
  Local variables: