Merge remote-tracking branch 'kc/new/enh/bug_5579' into kcmaster
[wip/koha-chris_n.git] / INSTALL
1 Koha 3.2 - 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-community.org.
9
10 INSTALLATION
11 ============
12
13 You need to have a server running Perl 5.8.8 or later, MySQL 5, Zebra
14 2.0.22 or greater and a webserver (preferably Apache2) before installing
15 Koha.
16
17 MySQL 5: Create a database called 'koha,' owned by 'kohaadmin'
18 user, with a password set. Note: kohaadmin must have at least the
19 following privileges: SELECT, INSERT, UPDATE, DELETE, CREATE, DROP,
20 ALTER, and LOCK TABLES.
21
22 Default installation instructions:
23
24 1. perl Makefile.PL
25   (you will be prompted to answer a number of questions and you will
26   need to install some Perl dependencies)
27   WARNING:
28
29   1.1 recent versions of CGI::Session have caused some issues for users;
30   as of this release date, we suggest downloading the CGI::Session::serialize::yaml
31   tarball direct from CPAN and install it directly rather than using the cpan command
32
33 2. make
34 3.(optional) make test 
35 4. sudo make install
36 5. sudo ln -s /etc/koha/koha-httpd.conf /etc/apache2/sites-available/koha
37   (note that the path to koha-httpd.conf may be different depending on your
38   installation choices)
39 6. sudo a2enmod rewrite deflate
40 7. sudo a2ensite koha && /etc/init.d/apache2 reload
41 8. sudo zebrasrv -f /etc/koha/koha-conf.xml
42   (note that you will want to run Zebra in daemon mode for a production
43   system)
44 9. Browse to http://servername:8080/ and answer the questions
45 10. Optionally add a robots.txt file.  See README.robots for details
46
47 OR if you want to install all dependencies from CPAN and are root, you can
48 replace steps 1-3 with "perl install-CPAN.pl" but this is non-standard and
49 may not be safe.  Nevertheless, it's pretty cool when it works.
50
51 The defaults will install Koha to places that follow relevant standards,
52 such as the File Hierarchy Standard.  If you want to install Koha to a
53 different directory like /opt/koha, then replace step 1 with (for example):
54
55 1. perl Makefile.PL INTRANET_CGI_DIR=/www/cgi-bin
56
57 You can change most of the defaults in a similar way, such as DB_HOST.
58 For full instructions on how to override the default settings, run
59
60 $ perldoc rewrite-config.PL
61
62 UPGRADE
63 =======
64 If you are upgrading from a previous installation of Koha 3.x, you can
65 use the following:
66
67  ./koha_perl_deps.pl -u -m # to identify new Perl dependencies
68
69 Install any missing modules
70 IMPORTANT: Koha 3.4.x uses Template::Toolkit, this must be installed
71 before the webinstaller can run
72
73 On debian/ubuntu
74  sudo apt-get install libtemplate-perl
75
76 Other Linux/Unix platforms
77 Use the packaged version or install from CPAN
78   cpan Template
79
80  perl Makefile.PL --prev-install-log /path/to/koha-install-log
81  make
82  make test
83  sudo make upgrade
84
85 Koha 3.4.x no longer stores items in biblio records so as part of the
86 upgrade you will need to do the following two steps, they can take a
87 long time (several hours) to complete for large databases
88
89  misc/maintenance/remove_items_from_biblioitems.pl --run
90  misc/migration_tools/rebuild_zebra.pl -b -r
91
92 WHAT NEXT?
93
94 1. Running the Web Installer allows you to install sample data for libraries, patrons, etc.
95     but you may want to install additional data such as bibliographic and authorities.
96
97     Once the installer has completed, you can import and index MARC records from the
98     command line thusly (Note: you can also use the 'Stage MARC records for import' from
99     the Tools area of Koha's Staff Client to import a batch of MARC records):
100
101     $ export KOHA_CONF=/usr/share/koha/etc/koha-conf.xml
102       (note: use the correct path to your koha-conf.xml)
103
104 2. Import:
105     Bibliographic data in MARC21 format
106     $ misc/migration_tools/bulkmarcimport.pl -file /path/to/marc.iso2709
107     Authority data in MARC21 format
108     $ misc/migration_tools/bulkauthimport.pl -file /path/to/auth.iso2709
109
110 3. Fast Index:
111     $ misc/migration_tools/rebuild_zebra.pl -b -w
112
113     Once the indexing has completed, you will be able to search for records in your
114     system. NOTE: if you don't run the Fast Index utility, and you have the index
115     updates scheduled as per 7.3 the indexing process will happen in the background,
116     Once the indexing has completed, you will be able to search for records in your
117     system. NOTE: if you don't run the Fast Index utility, and you have the index
118     updates scheduled as per 7.3 the indexing process will happen in the background,
119     but it will be orders of magnitude slower.
120
121 4. Schedule regular index updates
122     run rebuild_zebra.pl -b -a -z as a regular cron job, check misc/cronjobs/crontab.example
123     for usage examples
124
125 5. To enable public Z39.50/SRU servers, you'll need to edit your koha-conf.xml and
126     change the <listen> options to listen on a TCP port; then restart the zebra daemon.
127
128
129 IF YOU HAVE PROBLEMS
130 ====================
131
132 IF THIS IS A PRE-RELEASE TREE: please contact developers by email via
133 http://lists.koha-community.org/cgi-bin/mailman/listinfo/koha-devel
134 or
135 http://dir.gmane.org/gmane.education.libraries.koha.devel
136
137 IF THIS IS A RELEASED VERSION: please see the support pages at
138 http://www.koha-community.org/
139
140 Released versions usually have three-digit numbers, like 3.02.00,
141 while other version number styles are usually snapshots or previews.
142
143
144 DEVELOPER NOTES
145 ===============
146
147 For instructions on how to package releases, run perldoc Makefile.PL