X-Git-Url: http://git.indexdata.com/?a=blobdiff_plain;f=doc%2Finstallation.xml;h=0266ac2fca638ed46bf93d1a003a283f7c63228f;hb=8fac074c14a0b5f7f60d3c41dcaf0d9a46841e0b;hp=05b9ab5f417fcc7dbf209c9af33c58084dc5cdb9;hpb=528edc9943ba3311a40b4ab875c0bc9aca5caa87;p=idzebra-moved-to-github.git
diff --git a/doc/installation.xml b/doc/installation.xml
index 05b9ab5..0266ac2 100644
--- a/doc/installation.xml
+++ b/doc/installation.xml
@@ -1,95 +1,506 @@
-
-
- Installation
-
- An ANSI C compiler is required to compile the Zebra
- server system — gcc works fine if your
- own system doesn't provide an adequate compiler.
-
-
-
- Unpack the distribution archive. The configure
- shell script attempts to guess correct values for various
- system-dependent variables used during compilation.
- It uses those values to create a 'Makefile' in each directory of Zebra.
-
-
-
- To run the configure script type:
+
+
+ Installation
+
+ Zebra is written in ANSI C and was implemented with portability in mind.
+ We primarily use GCC on UNIX and
+ Microsoft Visual C++ on Windows.
+
-
- ./configure
-
-
-
-
-
- The configure script attempts to use C compiler specified by
- the CC environment variable.
- If not set, cc or GNU C will be used.
- The CFLAGS environment variable holds
- options to be passed to the C compiler. If you're using a
- Bourne-shell compatible shell you may pass something like this:
-
-
- CC=/opt/ccs/bin/cc CFLAGS=-O ./configure
-
+
+ The software is regularly tested on
+ Debian GNU/Linux,
+ Redhat Linux,
+ Gentoo Linux,
+ SuSE Linux,
+ FreeBSD (i386),
+ MAC OSX,
+ SunOS 5.9
+ (sparc),
+ Windows 2000.
+
- The configure script takes a number of arguments, you can see
- them all with
-
- ./configure --help
-
+
+ Zebra can be configured to use the following utilities (most of
+ which are optional):
-
-
-
- When configured, build the software by typing:
-
-
- make
-
-
-
-
-
- If successful, two executables are created in the sub-directory
- index.
-
+
+
+ yaz
+ (required)
+
+
+ Zebra uses YAZ to support Z39.50 /
+ SRU.
+ Also the memory management utilites from YAZ is used by Zebra.
+
+
+
+
+ iconv
+ (optional)
+
+
+ Character set conversion. This is required if you're
+ going to use any other character set than UTF-8 and ISO-8859-1
+ for records. Note that some Unixes has iconv built-in.
+
+
+
+
+ Expat
+ (optional)
+
+
+ XML parser. If you're going to index real XML you should
+ install this (filter grs.xml). On most systems you should be able
+ to find binary Expat packages.
+
+
+
+
+
+ Tcl (optional)
+
+
+ Tcl is required if you need to use the Tcl record filter
+ for Zebra. You can find binary packages for Tcl for many
+ Unices and Windows.
+
+
+
+
+
+
+ Autoconf,
+ Automake
+ (optional)
+
+
+ GNU Automake and Autoconf are only required if you're
+ using the CVS version of Zebra. You do not need these
+ if you have fetched a Zebra tar.
+
+
+
+
+
+ Docbook
+ and friends (optional)
+
+
+ These tools are only required if you're writing
+ documentation for Zebra. You need the following
+ Debian packages: docbook, docbook-xml, docbook-xsl,
+ docbook-utils, xsltproc.
+
+
+
+
+
+
+ UNIX
+
+ On Unix, GCC works fine, but any native
+ C compiler should be possible to use as long as it is
+ ANSI C compliant.
+
+
+
+ Unpack the distribution archive. The configure
+ shell script attempts to guess correct values for various
+ system-dependent variables used during compilation.
+ It uses those values to create a Makefile in each
+ directory of Zebra.
+
+
+
+ To run the configure script type:
+
+
+ ./configure
+
+
+
-
- zebrasrv
-
-
- The Z39.50 server and search engine.
-
-
-
-
- zebraidx
-
-
- The administrative indexing tool.
-
-
-
-
-
-
-
- You can now use Zebra. If you wish to install it system-wide, then
- as root type
-
- make install
-
- By default this will install the Zebra executables in
- /usr/local/bin,
- and the standard configuration files in
- /usr/local/share/zebra
- You can override this with the --prefix option
- to configure.
-
-
+
+ The configure script attempts to use C compiler specified by
+ the CC environment variable.
+ If this is not set, cc or GNU C will be used.
+ The CFLAGS environment variable holds
+ options to be passed to the C compiler. If you're using a
+ Bourne-shell compatible shell you may pass something like this:
+
+
+ CC=/opt/ccs/bin/cc CFLAGS=-O ./configure
+
+
+
+ The configure script support various options: you can see what they
+ are with
+
+ ./configure --help
+
+
+
+
+ Once the build environment is configured, build the software by
+ typing:
+
+ make
+
+
+
+
+ If the build is successful, two executables are created in the
+ sub-directory index:
+
+
+
+ zebrasrv
+
+
+ The Z39.50 server and search engine.
+
+
+
+
+ zebraidx
+
+
+ The administrative indexing tool.
+
+
+
+
+
+ index/*.so
+
+
+ The .so-files are Zebra record filter modules.
+ There are modules for reading
+ MARC (mod-grs-marc.so),
+ XML (mod-grs-xml.so) , etc.
+
+
+
+
+
+
+
+
+
+ Using configure option --disable-shared builds
+ Zebra statically and links "in" Zebra filter code statically, i.e.
+ no .so-files are generated
+
+
+
+
+ You can now use Zebra. If you wish to install it system-wide, then
+ as root type
+
+ make install
+
+ By default this will install the Zebra executables in
+ /usr/local/bin,
+ and the standard configuration files in
+ /usr/local/share/idzebra-2.0. If
+ shared modules are built, these are installed in
+ /usr/local/lib/idzebra-2.0/modules.
+ You can override this with the --prefix option
+ to configure.
+
+
+
+ GNU/Debian
+ GNU/Debian Linux on
+ i686 Platform
+
+ Index Data provides pre-compiled GNU/Debian i686 Linux packages
+ at our Debian package archive, both for
+ the Sarge and the Etch release.
+
+
+
+ To install these packages, you need to add two lines to your
+ /etc/apt/sources.list configuration file,
+ either the Sarge sources found at
+
+ deb http://ftp.indexdata.dk/debian sarge main
+ deb-src http://ftp.indexdata.dk/debian sarge main
+
+ or the Etch sources from
+
+ deb http://ftp.indexdata.dk/debian etch main
+ deb-src http://ftp.indexdata.dk/debian etch main
+
+ After refreshing the package cache with the command
+
+ apt-get update
+
+ as root, the
+ Zebra indexer is
+ easily installed issuing
+
+ apt-get install idzebra-2.0 idzebra-2.0-doc
+
+
+
+
+
+ Ubuntu/Debian and GNU/Debian on other platforms
+
+ These Zebra
+ packages are specifically compiled for
+ GNU/Debian Linux systems. Installation on other
+ GNU/Debian systems is possible by
+ re-compilation the Debian way: you need to add only the
+ deb-src sources lines to the
+ /etc/apt/sources.list configuration file,
+ that is either the Sarge sources
+
+ deb-src http://ftp.indexdata.dk/debian sarge main
+
+ or the Etch sources
+
+ deb-src http://ftp.indexdata.dk/debian etch main
+
+ After refreshing the package cache with the command
+
+ apt-get update
+ apt-get build-dep idzebra-2.0
+
+ as root, the
+ Zebra indexer is
+ recompiled and installed issuing
+
+ apt-get source --compile idzebra-2.0
+
+ as normal user.
+ The compiled GNU/Debian packages can then be
+ installed as root issuing
+
+ dpkg -i install idzebra-2.0*.deb libidzebra-2.0*.deb
+
+
+
+
+
+ WIN32
+ The easiest way to install Zebra on Windows is by downloading
+ an installer from
+ here.
+ The installer comes with source too - in case you wish to
+ compile Zebra with different Compiler options.
+
+
+
+ Zebra is shipped with "makefiles" for the NMAKE tool that comes
+ with Microsoft Visual C++.
+ Version 2003 and 2005 has been tested. We expect that zebra compiles
+ with version 6 as well.
+
+
+ Start a command prompt and switch the sub directory
+ WIN where the file makefile
+ is located. Customize the installation by editing the
+ makefile file (for example by using notepad).
+
+ The following summarizes the most important settings in that file:
+
+
+ DEBUG
+
+ 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).
+
+
+
+
+ YAZDIR
+
+ Directory of YAZ source. Zebra's makefile expects to find
+ yaz.lib, yaz.dll
+ in yazdir/lib and
+ yazdir/bin respectively.
+
+
+
+
+
+ HAVE_EXPAT,
+ EXPAT_DIR
+
+ If HAVE_EXPAT is set to 1, Zebra is compiled
+ with Expat support.
+ In this configuration, set
+ ZEBRA_DIR to the Expat source directory.
+ Windows version of Expat can be downloaded from
+ SourceForge.
+
+
+
+
+ HAVE_ICONV,
+ ICONV_DIR
+
+ If HAVE_ICONV is set to 1, Zebra is compiled
+ with iconv support. In this configuration, set
+ ICONV_DIR to the iconv source directory.
+ Iconv binaries can be downloaded from
+ this site.
+
+
+
+
+
+ BZIP2INCLUDE,
+ BZIP2LIB,
+ BZIP2DEF
+
+
+ Define these symbols if Zebra is to be compiled with
+ BZIP2 record compression support.
+
+
+
+
+
+
+
+ The DEBUG setting in the makefile for Zebra must
+ be set to the same value as DEBUG setting in the
+ makefile for YAZ.
+ If not, the Zebra server/indexer will crash.
+
+
+
+ When satisfied with the settings in the makefile, type
+
+ nmake
+
+
+
+
+ If the nmake 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
+ vcvars32.bat. You need to run it from within
+ the command prompt or set the environment variables "globally";
+ otherwise it doesn't work.
+
+
+
+ If you wish to recompile Zebra - for example if you modify
+ settings in the makefile you can delete
+ object files, etc by running.
+
+ nmake clean
+
+
+
+ The following files are generated upon successful compilation:
+
+
+ bin/zebraidx.exe
+
+ The Zebra indexer.
+
+
+ bin/zebrasrv.exe
+
+ The Zebra server.
+
+
+
+
+
+
+
+
+
+ Upgrading from Zebra version 1.3.x
+
+ Zebra's installation directories have changed a bit. In addition,
+ the new loadable modules must be defined in the
+ master zebra.cfg configuration file. The old
+ version 1.3.x configuration options
+
+ # profilePath - where to look for config files
+ profilePath: some/local/path:/usr/share/idzebra/tab
+
+ must be changed to
+
+ # profilePath - where to look for config files
+ profilePath: some/local/path:/usr/share/idzebra-2.0/tab
+
+ # modulePath - where to look for loadable zebra modules
+ modulePath: /usr/lib/idzebra-2.0/modules
+
+
+
+
+ The internal binary register structures have changed; all Zebra
+ databases must be re-indexed after upgrade.
+
+
+
+ The attribute set defintion files may no longer contain
+ redirection to other fields.
+ For example the following snippet of
+ a custom custom/bib1.att
+ Bib-1 attribute set definition file is no
+ longer supported:
+
+ att 1016 Any 1016,4,1005,62
+
+ and should be changed to
+
+ att 1016 Any
+
+
+
+ Similar behaviour can be expressed in the new release by defining
+ a new index Any:w in all GRS
+ *.abs record indexing configuration files.
+ The above example configuration needs to make the changes
+ from version 1.3.x indexing instructions
+
+ xelm /*/alternative Body-of-text:w,Title:s,Title:w
+ xelm /*/title Body-of-text:w,Title:s,Title:w
+
+ to version 2.0.0 indexing instructions
+
+ xelm /*/alternative Any:w,Body-of-text:w,Title:s,Title:w
+ xelm /*/title Any:w,Body-of-text:w,Title:s,Title:w
+
+
+
+ It is also possible to map the numerical attribute value
+ @attr 1=1016 onto another already existing huge
+ index, in this example, one could for example use the mapping
+
+ att 1016 Body-of-text
+
+ with equivalent outcome without editing all GRS
+ *.abs record indexing configuration files.
+
+
+
+ Server installations which use the special
+ IDXPATH attribute set must add the following
+ line to the zebra.cfg configuration file:
+
+ attset: idxpath.att
+
+
+
+
+