-
Notifications
You must be signed in to change notification settings - Fork 3
/
INSTALL.ubuntu
699 lines (501 loc) · 22.9 KB
/
INSTALL.ubuntu
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
=================================================================
Instructions for Installing Koha from Source
=================================================================
BUG REPORTS AND FEEDBACK
=================================================================
This document last modified: 18 September 2013
Given the nature of documentation to become outdated, or have
problems, please either submit feedback or bug reports.
Bug reports can be posted at http://bugs.koha-community.org
Feedback can be posted on the Koha Developer's List:
http://lists.koha-community.org/cgi-bin/mailman/listinfo/koha-devel
INTRODUCTION
=================================================================
These are the instructions for installing Koha from source. They
have been tested using Ubuntu 12.04 LTS. The copyright,
licensing, and other details have been put at the end, so the
installation can be started as soon as possible.
'nano' is a generic text editor. Please feel free to substitute
your favourite editor (vi, emacs, or etc.).
To install Koha for production, it is recommended that you use
packages. Installing from packages is not the same as installing
from source. These are not your recommended instructions for
production servers.
For instructions on how to install Koha on Ubuntu from packages, please
consult http://wiki.koha-community.org/wiki/Koha_on_ubuntu_-_packages
To help assist with the development and improvement of Koha,
continue with these instructions and read more about version
control using git! See USEFUL REFERENCE LINKS below.
These instructions are intended for those who are skilled.
They can be used to set up a development system. This install
may not be as easy or smooth as you wish. This is to be expected
when installing from source.
NOTATION
=================================================================
Commands are indented by 4 spaces, and should be relatively obvious
as commands. Commands may have blank lines between them to
indicate that you should not just copy and paste the entire block
of commands.
File contents will be surrounded by the plus symbols with a
"FILE FULL" or "FILE PARTIAL" and the filename above the plus
symbols surrounding file contents.
Koha is released monthly, so keeping documentation up to date
is difficult. The convention is to replace the last number with
an x. For example, the current version is part of the 3.14.x
series and the former stable version is the 3.12.x series.
INSTALL UBUNTU
=================================================================
These instructions assume that you have already installed Ubuntu
from the official site: http://www.ubuntu.com/download/server
There is no need to install extra packages during the Ubuntu
installation. Apache2 and MySQL will be installed in the
instructions later.
Installing a mail transfer agent before installing Koha will
prevent the installation of nullmailer. Such an installation
and configuration of a mail transfer agent is beyond the
scope of this document. Consult your system administrator,
network administrator, or IT Department for assistance as needed.
These instructions assume you created a user account with your
login credentials and not one called 'koha'. This is to prevent
the system user 'koha' from having more permissions than it should.
ADD A KOHA COMMUNITY REPOSITORY
=================================================================
These instructions still function even though the latest version
of Debian is wheezy. If the version has changed again, please
confirm these instructions on the mailing list or IRC channel.
To avoid getting prompted for a password in the middle of a
chain of commands type the following:
sudo ls
IF YOU ARE DOING A STANDARD (tarball) INSTALL use the following
command:
echo deb http://debian.koha-community.org/koha squeeze main \
| sudo tee /etc/apt/sources.list.d/koha.list
IF YOU ARE DOING A DEV (typically git) INSTALL use the following
command:
echo deb http://debian.koha-community.org/koha squeeze-dev main \
| sudo tee /etc/apt/sources.list.d/koha.list
To use the older stable release:
echo deb http://debian.koha-community.org/koha oldstable main \
| sudo tee /etc/apt/sources.list.d/koha.list
Intentionally not indented, as the others are preferred.
FOR EITHER INSTALLATION:
Add the key in gpg.asc to your APT trusted keys to avoid
warning messages on installation:
wget -O- http://debian.koha-community.org/koha/gpg.asc \
| sudo apt-key add -
UPDATE UBUNTU
=================================================================
This process, particularly the upgrade step, may take a while.
sudo apt-get update
sudo apt-get upgrade
sudo apt-get clean
DOWNLOAD THE LATEST KOHA RELEASE
=================================================================
There are two ways to grab the source, either by using git
or by downloading the .tar.gz file. Git is recommended for a
development environment.
IF YOU ARE DOING A STANDARD INSTALLATION:
Downloading Source Via Tarball
=================================================================
wget http://download.koha-community.org/koha-latest.tar.gz
tar xvf koha-latest.tar.gz
ls
NOTE: You need to cd into the Koha directory, but since the
version changes, you'll know by the ls command what it is.
IF YOU ARE DOING A DEV INSTALLATION:
Downloading Source Via Git
=================================================================
Please see the following wiki page and follow the instructions up
to and including "git checkout -b mywork origin".
http://wiki.koha-community.org/wiki/Version_Control_Using_Git
INSTALL DEPENDENCIES
=================================================================
Dependencies from Repository
=================================================================
The repository added has koha-deps and koha-perldeps packages
which make it very easy. Type the following:
sudo apt-get install koha-deps koha-perldeps make
Check For Missing Dependencies
=================================================================
Check everything was installed, by running the test script to
identifty missing libraries:
./koha_perl_deps.pl -m -u
Install any required libraries that are missing. It is a good
idea to install optional ones that are easily found as well.
CREATE MYSQL DATABASE AND GRANT PRIVILEGES
=================================================================
Create MySQL Database
=================================================================
If you have difficulty accessing MySQL's root acount, perhaps
this Ubuntu page on resetting the root password may help.
https://help.ubuntu.com/community/MysqlPasswordReset
mysql -u root -p
CREATE DATABASE kohadata;
The Koha database has now been created with the name kohadata.
Create User and Grant Permissions
=================================================================
Continue entering MySQL commands. SUBSTITUTE A PASSWORD OF YOUR
CHOICE FOR THE {PASSWORD}'S IN THE FOLLOWING COMMANDS:
CREATE user 'koha'@'localhost' IDENTIFIED by '{PASSWORD}';
GRANT ALL ON kohadata.* TO 'koha'@'localhost' IDENTIFIED BY '{PASSWORD}';
FLUSH PRIVILEGES;
QUIT
The Koha administrative user has now been created with the name
'koha' and the password of your choosing.
CONFIGURE KOHA
=================================================================
User/Group Environment Variables
=================================================================
IF YOU ARE DOING A STANDARD INSTALLATION, then create a
separate 'koha' system user:
sudo adduser koha
There is no need to set the following environment variables,
because 'koha' is the default account to use.
IF YOU ARE DOING A DEV INSTALLATION, then create some
environment variables for the process to pick up and use later:
export __KOHA_USER__=$USER
export __KOHA_GROUP__=$USER
echo $USER
The output of the echo command should match your user id,
and since the user id and group id are generally the same for
a freshly created account, this will make sure the indexing
happens as this account.
Configure Your Koha Install
=================================================================
perl Makefile.PL
How you answer the first question will affect where things will
end up being placed. It is recommended that choose 'standard' if
you are doing a tarball install, and 'dev' if you are doing a
git install.
Answering the resulting questions requires thinking. Here are
some hints.
Recall that the database created is kohadata set in the Create
MySQL Database step. The username and password were set up in
the Create User and Grant Permissions step.
Give some thought should be given to the MARC format desired
and the method of character normalization (chr or icu), though
the defaults will work as MARC21 just fine.
Use the same username and password for the Zebra questions.
Don't worry about warnings generated by optional components.
Build And Test Koha
=================================================================
Having configured Koha, build it using the following command:
make
Once this has successfully run, test Koha using the following
command:
make test
Don't worry about the large number of scary warning scrolling
by. All that matters is "PASS" or "FAIL".
If this fails, it is likely due to a failed dependency. Remember,
a source installation is not always smooth. You can determine the
missing dependency by scrolling back and looking for something
like: Can't locate Cache/Memcached/Fast.pm in @INC
Install it, and try to build and test again.
Install Koha
=================================================================
Once the make test has successfully run, install Koha.
IF YOU ARE DOING A STANDARD INSTALLATION, using the
following command (follow any on screen prompts):
sudo make install
Once this has successfully run, Koha is almost installed. There
are only a few more steps left.
IF YOU ARE DOING A DEV INSTALLATION, using the
following command (follow any on screen prompts):
make install
No sudo is required as you have access to the directories
listed above.
FOR EITHER INSTALLATION:
Near the end of this command, the output will have two lines
containing KOHA_CONF and PERL5LIB in them. Take note of the two
export commands as you will need them for a later step.
PRE-WEB INSTALL SETUP
=================================================================
Ubuntu MySQL Security Tweak
=================================================================
There is a security risk in Ubuntu's MySQL default setup. Type
the following commands:
mysql -u root -p
USE mysql;
DELETE FROM user WHERE user='';
FLUSH PRIVILEGES;
QUIT
The anonymous connections are now removed.
Configure System Wide Environment Variables
=================================================================
Running scripts and cron jobs requires environment variables set.
Use the following commands:
sudo nano /etc/environment
IF YOU ARE DOING A DEV INSTALLATON:
FILE PARTIAL (ADD): /etc/environment
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
KOHA_CONF=/home/{YOUR USER NAME}/koha-dev/etc/koha-conf.xml
KOHA_PATH=/home/{YOUR USER NAME}/kohaclone
PERL5LIB=/home/{YOUR USER NAME}/kohaclone
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
NOTE: CHANGE {YOUR USER NAME} TO YOUR ACTUAL USER NAME!
IF YOU ARE DOING A STANDARD INSTALLATON:
FILE PARTIAL (ADD): /etc/environment
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
KOHA_CONF=/etc/koha/koha-conf.xml
KOHA_PATH=/usr/share/koha
PERL5LIB=/usr/share/koha/lib
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
logout
You need to logout and back in in order to get the environment
variables values to be recognized.
CONFIGURE AND START APACHE
=================================================================
Place Koha Site File
=================================================================
IF YOU ARE DOING A DEV INSTALLATION, use the following command:
sudo ln -s ~/koha-dev/etc/koha-httpd.conf \
/etc/apache2/sites-available/koha
IF YOU ARE DOING A STANDARD INSTALLATION, use the following
command:
sudo ln -s /etc/koha/koha-httpd.conf \
/etc/apache2/sites-available/koha
Tweak Koha Site File
=================================================================
The default file limits connections to those from 127.0.1.1
(or 127.0.0.1), which is rather difficult to test/use in a
server environment. Edit the file:
sudo nano /etc/apache2/sites-available/koha
/etc/apache2/sites-available/koha will have a line
that should have the IP address changed to a *.
FILE PARTIAL (CHANGE): /etc/apache2/sites-available/koha
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
<VirtualHost *:80>
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
/etc/apache2/sites-available/koha will have another line
that should have the IP address changed to a *
FILE PARTIAL (CHANGE): /etc/apache2/sites-available/koha
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
<VirtualHost *:8080>
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Setup Default Ports
=================================================================
sudo nano /etc/apache2/ports.conf
/etc/apache2/ports.conf must have two lines exactly like
the following. Do not add them if they are already there.
FILE PARTIAL (CONFIRM/ADD/CHANGE): /etc/apache2/ports.conf
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Listen 80
Listen 8080
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
/etc/apache2/ports.conf does not require NameVirtualHost.
Do not add it if it is missing or already there. Just
prepend # accordingly.
FILE PARTIAL (CONFIRM/ADD/CHANGE): /etc/apache2/ports.conf
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
#NameVirtualHost *:80
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Disable Default Site
=================================================================
These short instructions assume that the default site is
not needed. Talk with your system administrator, network
administrator, or IT Department to CONFIRM THIS BEFORE RUNNING
the following command:
sudo a2dissite 000-default
Enable Modules and Site
=================================================================
Now enable the Apache modules this config needs, enable Koha's
virtual host configuration, and restart Apache.
sudo a2enmod rewrite
sudo a2enmod deflate
sudo a2ensite koha
sudo service apache2 restart
SETUP ZEBRA
=================================================================
The Zebra process send responses to search requests sent by Koha
or Z39.50/SRU/SRW clients.
The user you run Zebra as will be the only user with write
permission on the Zebra index. For a standard installation, this
should be the system user 'koha'. For a dev installation, this
should be your system user.
Start Zebra Server on Boot
=================================================================
IF YOU ARE DOING A STANDARD INSTALLATION, use this command:
sudo ln -s /usr/share/koha/bin/koha-zebra-ctl.sh \
/etc/init.d/koha-zebra-daemon
IF YOU ARE DOING A DEV INSTALLATION, use this command:
sudo ln -s ~/koha-dev/bin/koha-zebra-ctl.sh \
/etc/init.d/koha-zebra-daemon
FOR EITHER INSTALLATION:
sudo update-rc.d koha-zebra-daemon defaults
sudo service koha-zebra-daemon start
Configuring Zebra Indexing
=================================================================
IF YOU ARE DOING A STANDARD INSTALLATION, use this command:
sudo nano /etc/cron.d/koha
FILE FULL: /etc/cron.d/koha
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
# The cronjobs -- $KOHA_PATH is defined in /etc/environment, and
# gets set when this process runs as a user (koha).
*/5 * * * * koha $KOHA_PATH/bin/migration_tools/rebuild_zebra.pl -b -a -z &> /dev/null
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
IF YOU ARE DOING A DEV INSTALLATION, use this command:
crontab -e
FILE PARTIAL (ADD):
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
# The cronjobs -- $KOHA_PATH is defined in /etc/environment, and
# gets set when this process runs.
*/5 * * * * $KOHA_PATH/misc/migration_tools/rebuild_zebra.pl -b -a -z &> /dev/null
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
SETUP ADDITIONAL LANGUAGES
=================================================================
To use multi-lingual sample data, please install languages
which may be useful for use in the Koha system.
Information on this can be found:
http://wiki.koha-community.org/wiki/Installation_of_additional_languages_for_OPAC_and_INTRANET_staff_client
WEB INSTALLATION
=================================================================
Now you can visit your staff client website to continue with the
Koha web installer. The user name to log in with will be koha.
The password will be what you set in the 'Create User and
Grant Permissions' section above.
Lynx navigational keys include: tab to go between fields, enter
(when not on text fields) to toggle or click, space to change
pages (when not on text fields), Q to quit (when not on text
fields). Arrows also work.
sudo apt-get install lynx
lynx http://127.0.1.1:8080/
SET UP YOUR LIBRARY IN KOHA
=================================================================
After the web install, you should be redirected to:
http://127.0.1.1:8080
Follow these steps:
- Login with koha user name and password.
- Click on the More dropdown menu.
- Select and click Administration.
- Click Libraries and groups
under the Basic Parameters heading.
- Click New Library and enter your information into the form.
- Click Submit.
Your library is now set up in Koha.
Take the time to read the documentation to do other necessary
setup tasks such as creating a patron, and importing or entering
MARC data. The documentation for Koha can be found at:
http://koha-community.org/documentation/
USEFUL REFERENCE LINKS
=================================================================
Documentation:
http://koha-community.org/documentation/
Additional Languages:
http://wiki.koha-community.org/wiki/Installation_of_additional_languages_for_OPAC_and_INTRANET_staff_client
Stage MARC Records for Import:
http://manual.koha-community.org/3.14/en/catalogtools.html#stagemarc
NOTE: The URL has been similar since Koha version 3.8
Frequently Asked Questions:
http://koha-community.org/documentation/faq
Bug Reports:
http://bugs.koha-community.org/
Public Z39.50/SRU server:
http://wiki.koha-community.org/wiki/Troubleshooting_Koha_as_a_Z39.50_server
Alternate Indexing Method:
http://wiki.koha-community.org/wiki/Background_indexing_with_Zebra
UPGRADING
=================================================================
If you are running in another language other than English,
please switch to English before doing the upgrade, the
templating system has changed and the templates will need to
be regenerated.
Once you have upgraded, please regenerate your templates in
your chosen languages.
First, ensure the most recent dependencies are installed:
sudo apt-get update
sudo apt-get install koha-deps koha-perldeps
IF YOU ARE DOING A STANDARD UPGRADE:
In order to upgrade, find the path to the koha install-log file:
sudo find /usr/share/koha/ -name 'koha-install-log'
Change directory into the latest koha source directory, and then:
perl Makefile.PL --prev-install-log /path/to/koha-install-log
NOTE: Make sure to change the /path/to/koha-install-log to the
one that was found.
make
make test
And if that passes:
sudo make upgrade
IF YOU ARE DOING A DEV UPGRADE:
In order to upgrade, find the path to the koha install-log file:
find ~/koha-dev/ -name 'koha-install-log'
cd ~/kohaclone
perl Makefile.PL --prev-install-log /path/to/koha-install-log
NOTE: Make sure to change the /path/to/koha-install-log to the
one that was found.
make
make test
And if that passes:
make upgrade
FOR EITHER UPGRADE TYPE:
If you are upgrading from a version of Koha earlier than 3.4.x,
Koha 3.4.x or later no longer stores items in biblio records:
./misc/maintenance/remove_items_from_biblioitems.pl --run
Intentionally not indented, in the hopes that most upgrades are
post 3.4.x.
Regardless of version you are upgrading from, a full reindex is
always the best option:
IF YOU ARE DOING A STANDARD UPGRADE
sudo su -l koha --command="/usr/bin/perl /usr/share/koha/bin/migration_tools/rebuild_zebra.pl -b -a -r -v"
IF YOU ARE DOING A DEV UPGRADE
./misc/migration_tools/rebuild_zebra.pl -b -a -r -v
UNINSTALL INSTRUCTIONS
=================================================================
Stop Services
=================================================================
sudo a2dissite koha
sudo rm /etc/apache2/sites-available/koha
sudo service apache2 restart
sudo update-rc.d koha-zebra-daemon remove
sudo rm /etc/init.d/koha-zebra-daemon
Remove Database
=================================================================
mysql -u koha -p
drop database kohadata;
quit
Remove Indexes
=================================================================
IF DOING A STANDARD REMOVAL:
zebraidx -c /etc/koha/zebradb/zebra-biblios.cfg \
-g iso2709 -d biblios init
zebraidx -c /etc/koha/zebradb/zebra-authorities.cfg \
-g iso2709 -d authorities init
sudo rm -rf /etc/koha
sudo rm -rf /usr/share/koha
sudo rm /etc/cron.d/koha
You may wish to follow up with:
sudo find / -t d -name "koha"
to help find any remnants.
IF DOING A DEV REMOVAL:
The following will work, but is very dangerous! Please copy or
type this correctly.
zebraidx -c ~/koha-dev/etc/zebradb/zebra-biblios.cfg \
-g iso2709 -d biblios init
zebraidx -c ~/koha-dev/etc/zebradb/zebra-authorities.cfg \
-g iso2709 -d authorities init
rm -rf ~/koha-dev
rm -rf ~/kohaclone
NOTE: Don't forget to remove the crontab entries!
LICENSE
=================================================================
This file is part of Koha.
Major re-write by Mark Tompsett
Copyright (C) 2013
Based on remnants by:
Copyright (C) 2007, 2008 LibLime (http://liblime.com)
Original author: Joshua Ferraro
Some parts Copyright (C) 2010 Chris Nighswonger (modified for ubuntu)
(cnighswonger AT foundations DOT edu)
Some parts Copyright (C) 2012 Tomas Cohen Arazi
(tomascohen AT gmail DOT com)
Some parts Copyright (C) 2012 Mark Tompsett
(mtompset AT hotmail DOT com)
Koha is free software; you can redistribute it and/or modify it
under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 3 of the License, or
(at your option) any later version.
Koha is distributed in the hope that it will be useful, but
WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with Koha; if not, see <http://www.gnu.org/licenses>.