Revision 776 (by dpavlin, 2008/08/03 06:33:56) merged branches to trunk
INSTALL INSTRUCTIONS

Feel free to contact me via e-mail to dpavlin@rot13.org if those instructions
don't work for you.

1. You will need RDBMS (relational database management system) for index
   files. PostgreSQL and SQLite are tested and supported.

   Using any other database is quite easy, and involves editing of
   dbi_* parameters in global.conf [global] section (which you want
   to do anyway to specify user and password to connect to database).

   If you use PostgreSQL, you have to first create database:

   $ createdb webpac
   CREATE DATABASE

   If using SQLite, just specify file which SQLite will use (in global.conf)
   like this:

   dbi_dbd=SQLite
   dbi_dsn=dbname=/data/webpac/index.sqlite

   Tables for index(es) will be created automatically on first run. If you
   change data for index often, you might want to drop and re-create database
   to erase tables for indexes which are removed.

   SQLite can be quite faster than PostgreSQL (for reference see SQLite
   site: http://www.hwaci.com/sw/sqlite/speed.html). Since WebPAC doesn't
   use advanced database facilities of PostgreSQL you would probably be
   better off with SQLite if you don't have PostgreSQL already installed.

   If you are using SQLite, there is no need to specify dbi_user or dbi_pass.
   So, just leave them like this:

   dbi_user=""
   dbi_passwd=""

   If you specify dbi_user and than try to index using different user,
   you won't be able to write into database.

2. Use CPAN shell to install modules used:

   $ sudo cpan
   cpan> install module_name

   Modules which are needed:

	Text::Unaccent		version 1.02 or higher, you might need
				to get this one from
				http://savannah.nongnu.org/projects/unac/
	Config::IniFiles
	DBD::Pg			or some other DBD driver like DBD::SQLite
	CGI::Application
	HTML::Template
	HTML::FillInForm
	SWISH::API
	XML::Simple
	Text::Iconv
	GDBM_File
	HTML::Entities		(part of HTML::Parser)

   CPAN shell will also download some more modules to satisfy dependencies.


   If you plan to use M$ Excel files for import (type=excel), you will need:

	Spreadsheet::ParseExcel

   If you plan to use import from MARC files you will also need

   	MARC::Record


2.1 Installation on Debian GNU/Linux

   You will need following packages to get started:

   	perl
	swish-e

   and all additional packages which are dependencies.

   You also don't have to install all CPAN modules manually. Just use
   following Debian packages:

	libtext-unaccent-perl
   	libconfig-inifiles-perl
	libdbd-pg-perl		or some other DBD driver
	libdbd-sqlite-perl	like DBD::SQLite
	libhtml-template-perl
	libxml-simple-perl
	libtext-iconv-perl
	libhtml-parser-perl

   and install following packages by hand from CPAN
   because they are not part of Debian distribution:

	CGI::Application
	HTML::FillInForm
	SWISH::API

   and optionally some of those modules:

   	Spreadsheet::ParseExcel
	MARC::Record

3. You will need also IsisDB module if you are using ISIS as an import format.
   Currenlty, this module is available only from development site

	http://svn.rot13.org/

   but, it should be available also through CPAN (meaning that it's stable and
   tested). So, just try to install IsisDB using cpan first.

   WebPAC doesn't use OpenIsis anymore.

4. Edit global.conf and all2xml.conf to suit your needs. Comments inside
   those files should help get you started.

5. All perl code will use locale to do sorting. That also include indexes
   which, while being RDBMS-based, also use perl sorting (because each
   entry has ordinal number created by perl). So, be sure that LC_COLLATE
   environment variable is configured for your locale (which also has to
   be enabled, check dpkg-reconfigure locales if you are using Debian).