Updates to the installation instructions
[wip/koha-chris_n.git] / INSTALL
1 Koha 3 - the next-generation release of the award-winning Koha open-source
2 integrated library system.
3
4 Koha is the first open-source Integrated Library System. Developed initially in
5 New Zealand by Katipo Communications, Ltd and first deployed in January of 2000
6 for the Horowhenua Library Trust, it is currently maintained by a team of
7 software providers and library technology staff from around the globe. Learn
8 more about the Koha project at http://koha.org.
9
10 INSTALLATION
11 ============
12
13 Koha 3 comes with a new installer, based on MakeMaker, the tool that
14 is usually used to install CPAN modules.  This means that if you know
15 how to customise CPAN-installed modules, the same things should work
16 for you with Koha.  If not, don't worry.  If you want to customise the
17 installation more than described below, run "man ExtUtils::MakeMaker"
18
19 You need to have a server running Perl 5.8, MySQL 5 or PostgreSQL 8.2.5, Zebra
20 2.0.22 or greater and a webserver (preferably Apache2) before installing
21 Koha.
22
23 MySQL 5: Create a database called 'koha,' owned by 'kohaadmin'
24 user, with a password set. Note: kohaadmin must have at least the
25 following privileges: SELECT, INSERT, UPDATE, DELETE, CREATE, DROP,
26 ALTER, and LOCK TABLES.
27
28 PostgreSQL 8.2.5: Create a database called 'koha,' owned by 'kohaadmin' 
29 user, with a password set. Note: kohaadmin must be a superuser. You
30 must also add plpgsql to the koha database. NOTE: PostgreSQL support in
31 Koha is experimental and should not be attempted for production systems
32 without a heavy investment in testing.
33
34 Default installation instructions:
35
36 1. perl Makefile.PL
37   (you will be prompted to answer a number of questions and you will
38   need to install some Perl dependencies)
39   WARNING:
40   1.1 A Perl library Koha depends on, MARC::File::XML may not work with Perl
41     5.10, see: http://bugs.koha.org/cgi-bin/bugzilla/show_bug.cgi?id=2309),
42
43   1.2 recent versions of CGI::Session have caused some issues for users;
44   as of this release date, we suggest downloading the CGI::Session::serialize::yaml
45   tarball direct from CPAN and install it directly rather than using the cpan command
46
47 2. make
48 3.(optional) make test 
49 4. sudo make install
50 5. sudo ln -s /etc/koha/koha-httpd.conf /etc/apache2/sites-available/koha
51   (note that the path to koha-httpd.conf may be different depending on your
52   installation choices)
53 6. sudo a2enmod rewrite
54 7. sudo a2ensite koha && /etc/init.d/apache2 reload
55 8. sudo zebrasrv -f /etc/koha/koha-conf.xml
56   (note that you will want to run Zebra in daemon mode for a production
57   system)
58 9. Browse to http://servername:8080/ and answer the questions
59
60 OR if you want to install all dependencies from CPAN and are root, you can
61 replace steps 1-3 with "perl install-CPAN.pl" but this is non-standard and
62 may not be safe.  Nevertheless, it's pretty cool when it works.
63
64 The defaults will install Koha to places that follow relevant standards,
65 such as the File Hierarchy Standard.  If you want to install Koha to a
66 different directory like /opt/koha, then replace step 1 with (for example):
67
68 1. perl Makefile.PL INTRANET_CGI_DIR=/www/cgi-bin
69
70 You can change most of the defaults in a similar way, such as DB_HOST.
71 For full instructions on how to override the default settings, run
72
73 $ perldoc rewrite-config.PL
74
75
76 UPGRADE
77 =======
78 If you are upgrading from a previous installation of Koha 3, you can
79 use the following:
80
81  perl Makefile.PL --prev-install-log /path/to/koha-install-log
82  make
83  make test
84  sudo make upgrade
85
86 WHAT NEXT?
87
88 1. Running the Web Installer allows you to install sample data for libraries, patrons, etc.
89     but you may want to install additional data such as bibliographic and authorities.
90
91     Once the installer has completed, you can import and index MARC records from the
92     command line thusly (Note: you can also use the 'Stage MARC records for import' from
93     the Tools area of Koha's Staff Client to import a batch of MARC records):
94
95     $ export KOHA_CONF=/usr/share/koha/etc/koha-conf.xml
96       (note: use the correct path to your koha-conf.xml)
97
98 2. Import:
99     Bibliographic data in MARC21 format
100     $ misc/migration-tools/bulkmarcimport.pl -file /path/to/marc.iso2709
101     Authority data in MARC21 format
102     $ misc/migration-tools/bulkauthimport.pl -file /path/to/auth.iso2709
103
104 3. Fast Index:
105     $ misc/migration-tools/rebuild_zebra.pl -b -w
106
107     Once the indexing has completed, you will be able to search for records in your
108     system. NOTE: if you don't run the Fast Index utility, and you have the index
109     updates scheduled as per 7.3 the indexing process will happen in the background,
110     Once the indexing has completed, you will be able to search for records in your
111     system. NOTE: if you don't run the Fast Index utility, and you have the index
112     updates scheduled as per 7.3 the indexing process will happen in the background,
113     but it will be orders of magnitude slower.
114
115 4. Schedule regular index updates
116     run rebuild_zebra.pl -b -a -z as a regular cron job, check misc/cronjobs/crontab.example
117     for usage examples
118
119 5. To enable public Z39.50/SRU servers, you'll need to edit your koha-conf.xml and
120     change the <listen> options to listen on a TCP port; then restart the zebra daemon.
121
122
123 IF YOU HAVE PROBLEMS
124 ====================
125
126 IF THIS IS A PRE-RELEASE TREE: please contact developers by email via
127 http://lists.nongnu.org/mailman/listinfo/koha-devel
128 or
129 http://dir.gmane.org/gmane.education.libraries.koha.devel
130
131 IF THIS IS A RELEASED VERSION: please see the support pages at
132 http://www.koha.org/
133
134 Released versions usually have three-digit numbers, like 3.00.01,
135 while other version number styles are usually snapshots or previews.
136
137
138 DEVELOPER NOTES
139 ===============
140
141 For instructions on how to package releases, run perldoc Makefile.PL