fix for progress bar (don't fake slowdown)
[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::Template
56         HTML::FillInForm
57         SWISH::API
58         XML::Simple
59         Text::Iconv
60         TDB_File
61         HTML::Entities          (part of HTML::Parser)
62
63    CPAN shell will also download some more modules to satisfy dependencies.
64
65
66    If you plan to use M$ Excel files for import (type=excel), you will need:
67
68         Spreadsheet::ParseExcel
69
70    If you plan to use import from MARC files you will also need
71
72         MARC::Record
73
74
75 2.1 Installation on Debian GNU/Linux
76
77    You will need following packages to get started:
78
79         perl
80         swish-e
81
82    and all additional packages which are dependencies.
83
84    You also don't have to install all CPAN modules manually. Just use
85    following Debian packages:
86
87         libtext-unaccent-perl
88         libconfig-inifiles-perl
89         libdbd-pg-perl          or some other DBD driver
90         libdbd-sqlite-perl      like DBD::SQLite
91         libhtml-template-perl
92         libxml-simple-perl
93         libtext-iconv-perl
94         tdb-dev                 (for TDB_File module later)
95         libhtml-parser-perl
96
97    and install following packages by hand from CPAN
98    because they are not part of Debian distribution:
99
100         CGI::Application
101         HTML::FillInForm
102         SWISH::API
103
104    and optionally some of those modules:
105
106         Spreadsheet::ParseExcel
107         MARC::Record
108
109 3. You will need also IsisDB module if you are using ISIS as an import format.
110    Currenlty, this module is available only from development site
111
112         http://svn.rot13.org/
113
114    but, it should be available also through CPAN (meaning that it's stable and
115    tested). So, just try to install IsisDB using cpan first.
116
117    WebPAC doesn't use OpenIsis anymore.
118
119 4. Edit global.conf and all2xml.conf to suit your needs. Comments inside
120    those files should help get you started.
121
122 5. All perl code will use locale to do sorting. That also include indexes
123    which, while being RDBMS-based, also use perl sorting (because each
124    entry has ordinal number created by perl). So, be sure that LC_COLLATE
125    environment variable is configured for your locale (which also has to
126    be enabled, check dpkg-reconfigure locales if you are using Debian).