--- trunk/INSTALL 2003/06/01 13:45:36 49 +++ trunk/INSTALL 2004/03/14 12:06:51 275 @@ -1,22 +1,158 @@ -beta-beta-beta INSTALL INSTRUCTIONS +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 PostgreSQL (for now) +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_* parametars in isis2xml.conf [global] section (which you want + dbi_* parameters in global.conf [global] section (which you want to do anyway to specify user and password to connect to database). - Then, create database: + If you use PostgreSQL, you have to first create database: - dpavlin@llin:~$ createdb webpac + $ createdb webpac CREATE DATABASE - Tabels for index(es) will be created automatically on first run. If you + 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. -2. Use cpan shell to install modules used: + 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::Pager + HTML::Template + HTML::FillInForm + SWISH + SWISH::Fork and of course, swish-e executable + XML::Simple + Text::Iconv + TDB_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 + + +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 + tdb-dev (for TDB_File module later) + libhtml-parser-perl + + and install following packages by hand from CPAN + because they are not part of Debian distribution: + + CGI::Application + HTML::Pager + HTML::FillInForm + SWISH + SWISH::Fork + + and optionally some of those modules: + + Spreadsheet::ParseExcel + MARC + + For compilation of OpenIsis in next step, you will also need following + packages: + + make + gcc + libc-dev + +3. You will need OpenIsis if you are using ISIS as an import format. + Currently, WebPAC uses OpenIsis 0.9.0 which *HAVE TO BE PATCHED* + with special patch so that perl module OpenIsis.pm have close call + (because there is hard-limit of 32 ISIS files in OpenIsis.pm, and that + is too low for our use). + + You can do that yourself, or if you did checkout of our subversion repository + you will already have latest OpenIsis in webpac/openisis/ directory. + + If you want to do it yourself, first get OpenIsis from: + http://openisis.org/Doc/GetIt + + Then get patch for close from: + http://www.rot13.org/~dpavlin/projects/openisis-0.9.0-perl_close.diff + + Unpack OpenIsis archive and apply patch -p0 to source tree. + + Eater way, now you got OpenIsis 0.9.0 with close support for perl. So, + first compile C parts: + + make + + And then compile perl module and install it: + + make perl + cd perl + sudo make install + + Since you need development tools on target machine to compile OpenIsis, + you might want to compile it on another machine and just copy perl module. + +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).