View | Details | Raw Unified | Return to bug 5217
Collapse All | Expand All

(-)a/INSTALL.ubuntu.lucid (+358 lines)
Line 0 Link Here
1
=============================
2
Installation Guide for Installing Koha on Ubuntu Lucid Lynx (10.04 LTS) with MySQL 5
3
=============================
4
5
Copyright (C) 2007, 2008 LibLime (http://liblime.com)
6
Some parts copyright 2010 Chris Nighswonger
7
8
Original author: Joshua Ferraro
9
Modified for Ubuntu by: Chris Nighswonger (cnighswonger AT foundations DOT edu)
10
11
Feedback/bug reports: Koha Developer's List:
12
http://lists.koha-community.org/cgi-bin/mailman/listinfo/koha-devel
13
14
This document last modified: 11 Sep 2010
15
16
Installation Instructions
17
=============================
18
19
All commands can be performed as a system user with sudo privileges,
20
as indicated or by running the command directly as root.
21
22
1. Prepare System and Install Dependencies
23
24
1.1 Install Ubuntu Lucid Lynx via CD
25
26
See http://www.ubuntu.com/getubuntu/download
27
28
1.2 Set up your locale
29
30
Your locale should be set to UTF-8, as should Apache2 and MySQL 5.
31
This step is VERY IMPORTANT for a UNICODE compliant system. Please
32
read over the following document carefully:
33
34
http://wiki.koha.org/doku.php?id=encodingscratchpad
35
36
You can verify your system locale by typing the following command:
37
38
    $ locale
39
40
IMPORTANT:  You _MUST_ follow all the steps outlined there for
41
            Apache2, MySQL 5, etc. BEFORE you install Koha.
42
43
1.3 Get Koha
44
45
1.3.1 Option A: Download Koha via Git (optional)
46
47
    $ sudo apt-get install git-core git-email
48
    $ git clone git://git.koha-community.org/pub/scm/koha.git kohaclone
49
    $ cd kohaclone
50
    $ git checkout -b myinstall origin
51
52
Note: for more information about Git, please see the Koha Git Usage Guide:
53
54
    http://wiki.koha-community.org/wiki/Version_Control_Using_Git
55
56
1.3.2 Option B: Download Koha from http://download.koha-community.org
57
58
    $ wget http://download.koha-community.org/koha-3.02.00.tar.gz
59
    ( Note: use the latest stable version)
60
61
1.4 Install additional Ubuntu dependencies
62
63
IMPORTANT:  You should only use CPAN for Perl dependencies which are NOT
64
            available from the package maintainer. You have been warned!
65
66
Using the ubuntu.packages file included in the Koha source tree,
67
run the following:
68
69
    $ sudo dpkg --set-selections < install_misc/ubuntu.packages
70
71
Now start dselect (you may need to 'sudo apt-get install dselect'):
72
73
    $ sudo dselect
74
75
Choose [I]nstall and accept packages to be installed (hit return)
76
77
(may take a while)
78
79
Choose [C]onfigure, [R]emove and [Q]uit until dselect has completed.
80
81
Note: If you are installing on an older version of Ubuntu, not all of the
82
      packages listed in ubuntu.packages may be available as packages.  You
83
      will want to verify which ones are installed and which ones not.
84
      This can be done by running the following command:
85
86
    $ install_misc/ubuntu-pkg-check.sh | grep none
87
88
When tracking down any "(none)" results, note that sometimes Ubuntu does the
89
right thing and installs a later, differently named version of the package in
90
place.  To see if this is happening, it is useful to run a command like:
91
92
    $ dpkg --get-selections | grep [base_package_name]
93
94
1.5 Install Perl dependencies that aren't packaged into Ubuntu Lucid Lynx
95
sources
96
97
Run the following command:
98
99
    $ sudo cpan HTTP::OAI Locale::Currency::Format Memoize::Memcached \
100
                PDF::API2::Simple Storable Text::CSV::Encoded
101
102
Note: you may need to run CPAN initialization if you've not run cpan
103
before:
104
105
    /etc/perl/CPAN/Config.pm initialized.
106
107
    CPAN is the world-wide archive of perl resources. It consists of about
108
    100 sites that all replicate the same contents all around the globe.
109
    Many countries have at least one CPAN site already. The resources
110
    found on CPAN are easily accessible with the CPAN.pm module. If you
111
    want to use CPAN.pm, you have to configure it properly.
112
113
    If you do not want to enter a dialog now, you can answer 'no' to this
114
    question and I'll try to autoconfigure. (Note: you can revisit this
115
    dialog anytime later by typing 'o conf init' at the cpan prompt.)
116
117
    Are you ready for manual configuration? [yes]
118
119
When the configuration is completed CPAN will install the Perl modules.
120
121
2. Configuration of dependencies
122
123
2.1 Update root MySQL password (if dselect didn't do it for you already)
124
125
    $ sudo mysqladmin password <password>
126
127
2.2 Create the Koha database
128
129
    Create the database and user with associated privileges:
130
131
    $ mysqladmin -uroot -p<password> create <kohadatabasename>
132
    $ mysql -uroot -p<password>
133
134
    Welcome to the MySQL monitor.  Commands end with ; or \g.
135
    Your MySQL connection id is 22
136
    Server version: 5.0.32-Debian_7etch3-log Debian etch distribution
137
138
    Type 'help;' or '\h' for help. Type '\c' to clear the buffer.
139
140
    mysql> grant all on <kohadatabasename>.* to '<kohadatabaseuser>'@'localhost' identified by '<kohadatabaseuserpassword>';
141
    Query OK, 0 rows affected (0.00 sec)
142
143
    mysql> flush privileges;
144
    Query OK, 0 rows affected (0.00 sec)
145
146
    mysql> quit
147
148
2.3 Test your SAX Parser and correct where necessary
149
150
    You must be sure you're using the XML::LibXML SAX parser, not Expat or
151
    PurePerl, both of which have outstanding bugs with pre-composed
152
    characters. You can test your SAX parser by running:
153
154
    $ cd koha
155
    $ misc/sax_parser_print.pl
156
157
    You should see something like::
158
159
    XML::LibXML::SAX::Parser=HASH(0x81fe220)
160
161
    If you're using PurePerl or Expat, you'll need to edit your
162
    ini file, typically located at:
163
164
    /etc/perl/XML/SAX/ParserDetails.ini
165
166
    You will need to move the entire section for '[XML::LibXML::SAX::Parser]'
167
    to the bottom of the ini file.
168
169
3. Run the Koha installer
170
171
    $ perl Makefile.PL
172
    ( answer questions )
173
    $ make
174
    $ make test
175
    $ sudo make install
176
177
4. Configure and start Apache
178
    $ sudo ln -s /etc/koha/koha-httpd.conf /etc/apache2/sites-available/koha
179
    (note that the path to koha-httpd.conf may be different depending on your
180
    installation choices)
181
182
Add the following lines to /etc/apache2/ports.conf:
183
184
    Listen 80
185
    Listen 8080
186
187
If not running named virtual hosts (The default koha installation does not use
188
named virtual hosts.), comment out the following line:
189
190
    NameVirtualHost *:80
191
192
Run the following commands:
193
194
    $ sudo a2enmod rewrite
195
    $ sudo a2ensite koha
196
    $ sudo apache2ctl restart
197
198
Note: you may still see the usual Apache default site if your VirtualHost
199
configuration isn't correct.  The command "sudo a2dissite default" may be a
200
quick fix, but may have side-effects.  See the Apache HTTPD manual section on
201
virtual hosts for full instructions.
202
203
5. Configure and start Zebra
204
205
Note: it's recommended that you daemonize the Zebra process and add it to your
206
startup profile. For a non-production test/development installation, running
207
Zebra from the command line can be useful. Pick from the two available options
208
below, or roll your own :-)
209
210
Note: it's also recommended that you create a Koha system user, which you will
211
have specified during the install process. Alternatively, Zebra can be
212
configured to run as the root user.
213
214
To add a user do:
215
216
    $ sudo adduser koha
217
218
Option 1: run the Zebra processes from the command line:
219
220
1.1 Zebra Search Server
221
222
This process send responses to search requests sent by Koha or
223
Z39.50/SRU/SRW clients.
224
225
    $ sudo -u ${KOHA_USER} zebrasrv -f /etc/koha/koha-conf.xml
226
    (note that the path to koha-conf.xml may be different depending on your
227
    installation choices)
228
229
Note: the user you run Zebra as will be the only user with write permission
230
      on the Zebra index; in development mode, you may wish to use your
231
      system user.
232
233
1.2 Zebra Indexer
234
235
Added/updated/deleted records in Koha MySQL database must be indexed
236
into Zebra. A specific script must be launched each time a bibliographic
237
or an authority record is edited.
238
239
    $ sudo -u ${KOHA_USER} misc/migration_tools/rebuild_zebra -z -b -a
240
    NOTE: This script should be run as the kohauser (the default is 'koha').
241
242
Option 2: run the Zebra process as a daemon, and add to startup process:
243
244
Note that references to $SCRIPT_DIR refer to the directory where
245
Koha's command-line scripts are installed, e.g., /usr/share/koha/bin.
246
247
1.1 Zebra Search Server
248
249
    $ sudo ln -s ${SCRIPT_DIR}/koha-zebra-ctl.sh  /etc/init.d/koha-zebra-daemon
250
    (Note: ${SCRIPT_DIR} is /usr/share/koha/bin/ by default in a standard install)
251
    $ sudo update-rc.d koha-zebra-daemon defaults
252
    ( Note: see man chkconfig(8) on other distros )
253
254
    $ sudo ${SCRIPT_DIR}/koha-zebra-ctl.sh start
255
256
1.2 Zebra Indexer
257
258
Add an entry in Koha user crontab to scheduled added/updated/deleted records
259
indexing by Zebra with this command:
260
261
  <path/to/koha>/misc/migration_tools/rebuild_zebra -z -b -a
262
263
See check misc/cronjobs/crontab.example for usage examples.
264
NOTE: This job should be setup under the kohauser (the default is 'koha').
265
266
6. Run the Web Installer, populate the database, initial configuration of settings
267
268
    Point your browser to http://<servername>:8080/
269
270
    It should redirect you to the Web Installer where you can continue the setup.
271
    You can install the sample data for libraries, patrons, etc. via the Web Installer
272
273
7. What next?
274
275
    Once the installer has completed, you can import and index MARC records from the
276
    command line thusly (Note: you can also use the 'Stage MARC records for import' from
277
    the Tools area of Koha's Staff Client to import a batch of MARC records):
278
279
    $ export KOHA_CONF=/usr/share/koha/etc/koha-conf.xml
280
      (note: use the correct path to your koha-conf.xml)
281
282
7.1 Import:
283
    Bibliographic data in MARC21 format
284
    $ misc/migration_tools/bulkmarcimport.pl -file /path/to/marc.iso2709
285
    Authority data in MARC21 format
286
    $ misc/migration_tools/bulkauthimport.pl -file /path/to/auth.iso2709
287
288
7.2 Fast Index:
289
    $ misc/migration_tools/rebuild_zebra.pl -b -w
290
291
    Once the indexing has completed, you will be able to search for records in your system.
292
    NOTE: This script should be run as the kohauser (the default is 'koha').
293
294
7.3 Schedule regular index updates
295
296
    You need to run rebuild_zebra.pl -b -a -z as a regular cron job in orde to pick up new bibs
297
    and items as you add them. Check misc/cronjobs/crontab.example for usage examples. See 7.0 above.
298
    NOTE: This job should be setup under the kohauser (the default is 'koha').
299
300
7.4 To enable public Z39.50/SRU servers, you'll need to edit your koha-conf.xml and
301
    change the <listen> options to listen on a TCP port; then restart the zebra daemon.
302
303
UPGRADE
304
=======
305
If you are upgrading from a previous installation of Koha 3, you can
306
use the following:
307
308
 perl Makefile.PL --prev-install-log /path/to/koha-install-log
309
 make
310
 make test
311
 sudo make upgrade
312
313
Uninstall Instructions
314
=============================
315
1) Stop Services:
316
   $ sudo a2dissite koha
317
   $ sudo rm /etc/apache2/sites-available/koha
318
   $ sudo apache2ctl restart
319
320
   $ sudo update-rc.d koha-zebra-daemon remove
321
   $ sudo rm /etc/init.d/koha-zebra-daemon
322
323
2) Remove Database and Indexes
324
325
   # MySQL
326
   $ mysql -u<kohauser> -p<kohapassword>
327
   > drop database koha;
328
329
   # Zebra Indexes
330
   $ zebraidx -c <prefix>/etc/zebradb/zebra-biblios.cfg -g iso2709 -d biblios init
331
   $ zebraidx -c <prefix>/etc/zebradb/zebra-authorities.cfg -g iso2709 -d authorities init
332
333
3) Remove Koha Install Directories and Configuration Files
334
   Don't forget about any crontab entries
335
336
Tested on the following operating environments
337
==============================================
338
- Ubuntu Jaunty Jackalope 9.04
339
340
Installer Bug reports
341
=====================
342
Please log any installer bug reports at http://bugs.koha-community.org
343
344
Other Notes
345
=====================
346
This file is part of Koha
347
348
Koha is free software; you can redistribute it and/or modify it under the
349
terms of the GNU General Public License as published by the Free Software
350
Foundation; either version 2 of the License, or (at your option) any later
351
version.
352
353
Koha is distributed in the hope that it will be useful, but WITHOUT ANY
354
WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
355
A PARTICULAR PURPOSE.  See the GNU General Public License for more details.
356
You should have received a copy of the GNU General Public License along
357
with Koha; if not, write to the Free Software Foundation, Inc.,
358
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
(-)a/install_misc/ubuntu-pkg-check.sh (+19 lines)
Line 0 Link Here
1
#!/bin/sh
2
3
UBUNTU_PACKAGES=`dirname $0`/ubuntu.packages
4
5
# sanity checks
6
7
if [ ! -e $UBUNTU_PACKAGES ]; then
8
  echo ERROR:  Could not find $UBUNTU_PACKAGES file for running check.
9
  exit
10
fi
11
12
# main
13
14
UBUNTU_PACKAGES_LIST=`awk '{print $1}' $UBUNTU_PACKAGES | grep -v '^\s*#' | grep -v '^\s*$'`
15
for F in $UBUNTU_PACKAGES_LIST; do
16
  UBUNTU_PKG_POLICY=`apt-cache policy $F | grep "Installed:"`
17
  UBUNTU_PKG_VERSION=`echo $UBUNTU_PKG_POLICY | awk '{print $2}'`
18
  echo "$F = $UBUNTU_PKG_VERSION"
19
done
(-)a/install_misc/ubuntu.packages (-89 / +120 lines)
Lines 1-89 Link Here
1
at install
1
apache2					install
2
apache2 install
2
at					install
3
daemon install
3
daemon					install
4
libgcrypt11 install
4
gcc					install
5
libgcrypt11-dev install
5
gettext					install
6
make install
6
make					install
7
gcc install
7
8
gettext install
8
# mysql packages
9
mysql-server install
9
10
libcgi-session-perl	install
10
mysql-server				install
11
libclass-factory-util-perl	install
11
libmysqlclient16			install
12
libdate-calc-perl install
12
libmysqlclient16-dev			install
13
libdate-manip-perl install
13
14
libdate-ical-perl	install
14
# yaz packages
15
libdatetime-format-mail-perl install
15
16
libgraphics-magick-perl install
16
yaz					install
17
libmail-sendmail-perl install
17
yaz-doc					install
18
liblingua-ispell-perl	install
18
libyaz3					install
19
liblingua-stem-perl install
19
libyaz3-dev				install
20
libdbd-mysql-perl install
20
21
idzebra-2.0	install
21
# zebra packages
22
idzebra-2.0-common	install
22
23
idzebra-2.0-doc	install
23
idzebra-2.0				install
24
idzebra-2.0-utils	install
24
idzebra-2.0-common			install
25
libclass-factory-util-perl	install
25
idzebra-2.0-doc				install
26
idzebra-2.0-utils			install
27
libidzebra-2.0-0			install
28
libidzebra-2.0-dev			install
29
libidzebra-2.0-mod-alvis		install
30
libidzebra-2.0-mod-grs-marc		install
31
libidzebra-2.0-mod-grs-regx		install
32
libidzebra-2.0-mod-grs-xml		install
33
libidzebra-2.0-mod-text			install
34
libidzebra-2.0-modules			install
35
36
# crypto packages
37
38
libgcrypt11				install
39
libgcrypt11-dev				install
40
41
# xml/xslt packages
42
43
libxml2					install
44
libxml2-dev				install
45
libxml2-utils				install
46
libxslt1.1				install
47
libxslt1-dev				install
48
49
# perl packages
50
51
libalgorithm-checkdigits-perl		install
52
libauthen-cas-client-perl		install
53
libbiblio-endnotestyle-perl		install
54
libcgi-session-perl			install
55
libcgi-session-serialize-yaml-perl	install
56
libclass-factory-util-perl		install
57
libdata-ical-perl			install
58
libdate-calc-perl			install
59
libdate-ical-perl			install
60
libdate-manip-perl			install
61
libdatetime-perl			install
62
libdatetime-format-mail-perl		install
26
libdatetime-format-strptime-perl	install
63
libdatetime-format-strptime-perl	install
27
libdatetime-format-w3cdtf-perl	install
64
libdatetime-format-w3cdtf-perl		install
28
libdatetime-locale-perl	install
65
libdatetime-locale-perl			install
29
libdatetime-perl	install
66
libdatetime-timezone-perl		install
30
liblist-moreutils-perl	install
67
libdbd-mysql-perl			install
31
libdatetime-timezone-perl	install
68
libdbd-sqlite2-perl			install
32
libdbi-perl	install
69
libdbi-perl				install
33
libidzebra-2.0	install
70
libemail-date-perl			install
34
libidzebra-2.0-dev	install
71
libgd-barcode-perl			install
35
libidzebra-2.0-mod-alvis	install
72
libgraphics-magick-perl			install
36
libidzebra-2.0-mod-grs-marc	install
73
libhtml-scrubber-perl			install
37
libidzebra-2.0-mod-grs-regx	install
74
libhtml-template-pro-perl		install
38
libidzebra-2.0-mod-grs-xml	install
75
liblingua-ispell-perl			install
39
libidzebra-2.0-mod-text	install
76
liblingua-stem-perl			install
40
libidzebra-2.0-modules	install
77
liblingua-stem-snowball-perl		install
41
libmysqlclient15-dev install
78
liblist-moreutils-perl			install
42
libnet-ldap-perl	install
79
liblocale-gettext-perl			install
43
liblist-moreutils-perl	install
80
liblocale-po-perl			install
44
liblocale-gettext-perl	install
81
libmail-sendmail-perl			install
45
liblocale-po-perl	install
82
libmarc-charset-perl			install
46
libpdf-api2-perl	install
83
libmarc-crosswalk-dublincore-perl	install
47
libmime-lite-perl       install
84
libmarc-record-perl			install
48
libpoe-perl	install
85
libmarc-xml-perl			install
49
libtext-csv-perl	install
86
libmime-lite-perl			install
50
libtext-charwidth-perl	install
87
libmodule-install-perl			install
51
libtext-iconv-perl	install
88
libnet-ldap-perl			install
52
libtext-wrapi18n-perl	install
89
libnet-server-perl			install
53
libtime-duration-perl	install
90
libnet-z3950-zoom-perl			install
54
libtime-format-perl	install
91
libnumber-format-perl			install
55
libtimedate-perl	install
92
libpdf-api2-perl			install
56
libunix-syslog-perl	install
93
libpdf-reuse-perl			install
57
libxml-dom-perl	install
94
libpdf-reuse-barcode-perl		install
58
libxml-dumper-perl	install
95
libpdf-table-perl			install
59
libxml-namespacesupport-perl	install
96
libpoe-perl				install
60
libxml-parser-perl	install
97
libschedule-at-perl			install
61
libxml-perl	install
98
libsms-send-perl			install
62
libxml-simple-perl install
99
libtext-charwidth-perl			install
63
libxml-regexp-perl	install
100
libtext-csv-perl			install
64
libxml-xslt-perl	install
101
libtext-iconv-perl			install
65
libxml-libxml-perl	install
102
libtext-wrapi18n-perl			install
66
libxml-libxslt-perl	install
103
libtimedate-perl			install
67
libxml2	install
104
libtime-duration-perl			install
68
libxml2-dev	install
105
libtime-format-perl			install
69
libxml2-utils	install
106
libuniversal-require-perl		install
70
libxslt1-dev	install
107
libunix-syslog-perl			install
71
libxslt1.1	install
108
libxml-perl				install
72
libyaml-syck-perl install
109
libxml-dom-perl				install
73
libyaz	install
110
libxml-dumper-perl			install
74
libyaz-dev	install
111
libxml-libxml-perl			install
75
yaz	install
112
libxml-libxslt-perl			install
76
yaz-doc	install
113
libxml-namespacesupport-perl		install
77
libcgi-session-serialize-yaml-perl install
114
libxml-parser-perl			install
78
libdata-ical-perl install
115
libxml-regexp-perl			install
79
libhtml-template-pro-perl install
116
libxml-rss-perl				install
80
libmarc-charset-perl install
117
libxml-sax-writer-perl			install
81
bmarc-record-perl install
118
libxml-simple-perl			install
82
libmarc-xml-perl install
119
libxml-xslt-perl			install
83
libnet-z3950-zoom-perl install
120
libyaml-perl				install
84
libpdf-reuse-perl install
121
libyaml-syck-perl			install
85
libpdf-reuse-barcode-perl install
86
libsms-send-perl install
87
libschedule-at-perl install
88
libxml-rss-perl install
89
libmime-lite-perl install
90
- 

Return to bug 5217