ported 257:258 from hidra branch
[webpac] / INSTALL
1 INSTALL INSTRUCTIONS
2
3 Feel free to contact me via e-mail to dpavlin@rot13.org if those instructions
4 don't work for you.
5
6 1. You will need RDBMS (relational database management system) for index
7    files. PostgreSQL and SQLite are tested and supported.
8
9    Using any other database is quite easy, and involves editing of
10    dbi_* parameters in global.conf [global] section (which you want
11    to do anyway to specify user and password to connect to database).
12
13    If you use PostgreSQL, you have to first create database:
14
15    $ createdb webpac
16    CREATE DATABASE
17
18    If using SQLite, just specify file which SQLite will use (in global.conf)
19    like this:
20
21    dbi_dbd=SQLite
22    dbi_dsn=dbname=/data/webpac/index.sqlite
23
24    Tables for index(es) will be created automatically on first run. If you
25    change data for index often, you might want to drop and re-create database
26    to erase tables for indexes which are removed.
27
28    SQLite can be quite faster than PostgreSQL (for reference see SQLite
29    site: http://www.hwaci.com/sw/sqlite/speed.html). Since WebPAC doesn't
30    use advanced database facilities of PostgreSQL you would probably be
31    better off with SQLite if you don't have PostgreSQL already installed.
32
33    If you are using SQLite, there is no need to specify dbi_user or dbi_pass.
34    So, just leave them like this:
35
36    dbi_user=""
37    dbi_passwd=""
38
39    If you specify dbi_user and than try to index using different user,
40    you won't be able to write into database.
41
42 2. Use CPAN shell to install modules used:
43
44    $ sudo cpan
45    cpan> install module_name
46
47    Modules which are needed:
48
49         Text::Unaccent          version 1.02 or higher, you might need
50                                 to get this one from
51                                 http://savannah.nongnu.org/projects/unac/
52         Config::IniFiles
53         DBD::Pg                 or some other DBD driver like DBD::SQLite
54         CGI::Application
55         HTML::Pager
56         HTML::Template
57         HTML::FillInForm
58         SWISH
59         SWISH::Fork             and of course, swish-e executable
60         XML::Simple
61         Text::Iconv
62         TDB_File
63         HTML::Entities          (part of HTML::Parser)
64
65    CPAN shell will also download some more modules to satisfy dependencies.
66
67
68    If you plan to use M$ Excel files for import (type=excel), you will need:
69
70         Spreadsheet::ParseExcel
71
72    If you plan to use import from MARC files you will also need
73
74         MARC
75
76
77 2.1 Installation on Debian GNU/Linux
78
79    You will need following packages to get started:
80
81         perl
82         swish-e
83
84    and all additional packages which are dependencies.
85
86    You also don't have to install all CPAN modules manually. Just use
87    following Debian packages:
88
89         libtext-unaccent-perl
90         libconfig-inifiles-perl
91         libdbd-pg-perl          or some other DBD driver
92         libdbd-sqlite-perl      like DBD::SQLite
93         libhtml-template-perl
94         libxml-simple-perl
95         libtext-iconv-perl
96         tdb-dev                 (for TDB_File module later)
97         libhtml-parser-perl
98
99    and install following packages by hand from CPAN
100    because they are not part of Debian distribution:
101
102         CGI::Application
103         HTML::Pager
104         HTML::FillInForm
105         SWISH
106         SWISH::Fork
107
108    and optionally some of those modules:
109
110         Spreadsheet::ParseExcel
111         MARC
112
113    For compilation of OpenIsis in next step, you will also need following
114    packages:
115
116         make
117         gcc
118         libc-dev
119
120 3. You will need OpenIsis if you are using ISIS as an import format.
121    Currently, WebPAC uses OpenIsis 0.9.0 which *HAVE TO BE PATCHED*
122    with special patch so that perl module OpenIsis.pm have close call
123    (because there is hard-limit of 32 ISIS files in OpenIsis.pm, and that
124    is too low for our use).
125
126    You can do that yourself, or if you did checkout of our subversion repository
127    you will already have latest OpenIsis in webpac/openisis/ directory.
128
129    If you want to do it yourself, first get OpenIsis from:
130         http://openisis.org/Doc/GetIt
131
132    Then get patch for close from:
133         http://www.rot13.org/~dpavlin/projects/openisis-0.9.0-perl_close.diff
134
135    Unpack OpenIsis archive and apply patch -p0 to source tree.
136
137    Eater way, now you got OpenIsis 0.9.0 with close support for perl. So,
138    first compile C parts:
139
140         make
141
142    And then compile perl module and install it:
143
144         make perl
145         cd perl
146         sudo make install
147
148    Since you need development tools on target machine to compile OpenIsis,
149    you might want to compile it on another machine and just copy perl module.
150
151 4. edit global.conf and all2xml.conf to suit your needs. Comments inside
152    those files should help get you started.
153