| Revision 337 (by dpavlin, 2004/06/10 19:22:40) |
new trunk for webpac v2
|
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
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::FillInForm
SWISH::API
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).