Bug 11826: (follow-up) run perltidy on Koha/XSLT_Handler.pm
[koha.git] / INSTALL.opensuse
1 = Installation Guide for Installing Koha 3.0.0 on openSUSE 11.3 =
2
3 Original version for openSUSE 11.0 created by Ricardo Dias Marques - koha@ricmarques.net
4 Version for openSUSE 11.3 adapted by Freek de Kruijf - freek -at- opensuse -dot- org
5
6 No liability for the contents of this document can be accepted.
7
8 Feedback/bug reports: Koha Developer's List:
9
10 http://lists.koha-community.org/cgi-bin/mailman/listinfo/koha-devel
11
12 This document last modified: 20 Mar 2012
13
14 == Installation Instructions ==
15
16 This document was prepared in order to help you discover (or test) Koha (Integrated Library System).
17
18 The installation of Linux system described below is a basic, it is not designed for a production server (e.g., security, load balancing ... are not described).
19
20 This document describes the different stages of installing the software Koha 3 on the openSUSE 11.3 Linux distribution in a "new" computer, the author uses a VirtualBox virtual machine, that is, a virtual computer that will have its virtual hard disk contents COMPLETELY ERASED to install openSUSE and Koha!
21
22 In this example, the virtual machine uses a bridged network connection, which mimics a separate computer in the local network, it's assumed that your server gets an IP address by DHCP that later will be changed to 192.168.1.16.
23
24 You'll have to change this to the real IP address that your machine should get (or use DHCP, if that's the case).
25
26 This tutorial assumes a Koha installation that does NOT use Zebra ("Zebra is a high-performance, general-purpose structured text indexing and retrieval engine" - http://www.indexdata.dk/zebra/). Additional steps would be required to set up Zebra for Koha, however it will be installed.
27
28 === LINUX System Installation ===
29
30 Download openSUSE 11.3 DVD from [http://software.opensuse.org/ here].
31
32 Place the DVD in the drive and restart the machine. In the case of a virtualmachine the iso image is still on the disc and you connect it as a DVD to the virtual machine.
33
34 After the "Welcome" screen, you'll get a First menu, with the following options:
35
36 ----
37 Boot from Hard Disk
38
39 Installation
40
41 Repair Installed System
42
43 Rescue System
44
45 Firmware Test
46
47 Memory Test
48 ----
49
50 You may want to change the screen size to 1024 x 768 by pressing F3.
51 Choose "Installation" (second command)
52
53 ==== "Initializing" screen ====
54
55 (Dialog box appears saying "Probing Mouse")
56
57 ==== "Welcome" screen ====
58
59 You'll see two Dropdown Lists: "Language" and "Keyboard Layout"
60
61 This depends of your place and preference, naturally.
62 I live in The Netherlands, and we use the English (US) Keyboard Layout but I prefer an Operating System in English.
63 So I leave the default option selected for "Language"  and "Keyboard Layout" to (English (US)).
64
65 Check the "I Agree to the License Terms" checkbox (under the "License Agreement" textbox).
66
67 Click the "Next" button.
68
69 ==== "System Probing" screen ====
70
71 [just watch it...]
72
73 ==== "Installation Mode" screen ====
74
75 Leave "New Installation" radio button checked
76
77 I prefer not to have the "Automatic Configuration" so this option is unchecked.
78 It gives you the possibility to specify the name of the system and the network setup.
79
80 Click the "Next" button
81
82 ==== "Initializing" screen ====
83
84 [just watch it...]
85
86 ==== "Clock and Time Zone" screen ====
87
88 I do this work in Yemen, so I select the following options:
89
90 "Region" listbox: click on "Asia"
91
92 "Time Zone" listbox: click on "Aden"
93
94 I leave the "Hardware Clock Set To UTC" checkbox checked.
95
96 Click the "Next" button
97
98 ==== "Desktop Selection" screen ====
99
100 You should see three radio buttons: "GNOME Desktop", "KDE Desktop" and "Other".
101
102 Click on the "Other" radio button.
103
104 Four radio buttons should become visible then:
105
106 "XFCE Desktop"
107
108 "LXDE Desktop"
109
110 "Minimal X Window"
111
112 "Minimal Server Selection (Text Mode)"
113
114 click on this last "Minimal Server Selection (Text Mode)" radio button.
115
116 Click the "Next" button
117
118 ==== "Suggested Partitioning" screen ====
119
120 Partitioning choices are really up to you. In this example, I started with a 8 GB virtual disc and I will create a 1000 MB swap partition and the rest is the root "/" partition.
121
122 So, to do this I click on the "Create Partition Setup..." button.
123
124 ===== "Preparing Hard Disk: Step 1" screen =====
125
126 I click on the first radio button:
127 "1: 1.IDE 8.0 GB,/dev/sda"
128
129 I click the "Next" button
130
131 ===== "Preparing Hard Disk: Step 2" screen =====
132
133 I uncheck the "Propose separate Home Partition" checkbox.
134
135 I click the "Next" button.
136
137 This takes me back to the Suggested Partitioning screen.
138
139 ===== "Suggested Partitioning" screen =====
140
141 In my case, I now have this:
142
143 - Create swap volume /dev/sda1 (1004.06 MB)
144
145 - Create root volume /dev/sda2 (7.02 GB) with ext4
146
147 I click the "Next" button.
148
149 ==== "Create New User" screen ====
150
151 I use this screen to create a regular user.
152
153 User's full name: Your Full name (e.g: John Smith)
154
155 Username: Your preferred username (e.g.: jsmith)
156
157 Password:
158
159 Confirm Password:
160
161 I uncheck the "Use this password for System Administrator" checkbox.
162
163 I check the "Receive System Mail"
164
165 I uncheck the "Automatic Login" checkbox.
166
167 I click the "Next" button (you may be "nagged" with a dialog box by the YAST2 installer warning that you selected a password that it considers to be too simple. Click "Yes" to keep the password you chose, or "No" to change it).
168
169 ==== Password for the System Administrator "root" screen ====
170
171 Enter your password (in the "Password for root User" text box) and repeat it (in the "Confirm Password" text box).
172
173 Click the "Next" button to proceed to the "Installation Settings" screen.
174
175 ==== "Installation Settings" screen ====
176
177 Click on the "Software" link
178
179 ==== "Software Selection and System Tasks" screen ====
180
181 Scroll down the listbox (that begins with the "Base Technologies" group) until you find the "Server Functions" group.
182
183 In that "Server Functions" group click on the "Web and LAMP Server" checkbox (to check it)
184
185 Click on the "OK" button to return to "Installation Settings"
186
187 ==== "Installation Settings" screen ====
188
189 Click on the "Install" button (placed in the same place where usually appear the "Accept" or "Next" button).
190
191 You should see a "Confirm Installation" dialog box. Click on the "Install" button of that dialog box.
192
193 ==== "Preparing Your Hard Disk" screen ====
194
195 [just watch it...]
196
197 ==== "Deploying Installation Images" screen ====
198
199 [just watch it... ]
200
201 ==== "Package Installation" screen ====
202
203 [just watch it... or click on the "Details" tab if you want to see what packages are being installed.]
204
205 ==== "Finishing Basic Installation" screen ====
206
207 [just watch it... ]
208
209 After some time you'll see a dialog box warning that the system will reboot in 10 seconds.
210
211 ==== After reboot ====
212
213 Leave "Boot from Hard Disk" selected and press ENTER
214
215 You'll have to wait a while (or press ESC to see what the operating system is "doing"). After some moments, you'll be taken to the "Yast2 - installation @ Linux" screen (a text installer).
216
217 On the screen you will see Hostname and Domain Name with a textbox below.
218 The cursor is in the textbox below Hostname.
219 Press the Backspace to delete the name there and insert the name of your system, e.g. koha-server.
220 Pres Tab and Backspace to delete "site" and enter the domain name, e.g. "univ.org".
221 Press Tab go to Change Hostname via DHCP en press Space to remove the "x".
222 Leave the "x" in Assign Hostname to Loopback IP.
223 Press <Alt>+N to activate "Next". Now you enter:
224
225 ==== Network Configuration ====
226
227 Press ALT+C to Change Network Settings. Use the Arrow Keys to Highlight "Firewall" and press RETURN.
228 Proceed to Firewall and press RETURN. Go to "Allowed Services" and press RETURN. Press TAB several times to highlight "HTTP Server".
229 Press ALT+A to add HTTP Server to the list. Press ALT+S to choose the next Service to Allow.
230 Press the Down Arrow and a drop down box will appear and press the Down Arrow several times to select Secure Shell Server and press RETURN.
231 Press ALT+A to Add.
232 We also need port 8080 for the management of Koha to be open, so press ALT+D to activate (Advanced...).
233 Press ALT+T to go to TCP Ports and enter 8080 in the textbox.
234 Pressing Alt+O for OK, brings you back to the Firewall Configuration.
235 Pressing Alt+O for OK, brings you back to Network Configuration, but now you see the SSH port is open, the 8080 port is not shown.
236 Press Alt+N for Next, which brings you to: Saving Network Configuration and finally to:
237
238 ==== Test Internet Connection ====
239
240 Press RETURN to activate Next and do the test.
241 If all is well you should see "Test Result: Success".
242 Press RETURN to activate Next.
243 Now the meta data of some repositories will be downloaded and the next screen will appear:
244
245 ==== Online Update ====
246
247 Here you can choose to do an online update or not.
248 Press RETURN to activate Next and the update will be done.
249 In my case the update even replaced the kernel. Press ALT+A to Accept the update.
250 After that you press RETURN to activate Next.
251 A warning may appear saying that the system will reboot.
252
253 You will see the first screen of booting of the DVD again, but again you choose Boot from Hard Disk, which will also happen when you do not do anything.
254
255 After that you will see the normal system boot screen and you do not need to do anything, but you may press RETURN to speed up the start of booting from the disc.
256 In my case, after booting, the installtion went on and showed a screen of the YaST2 Package Manager showing the Release Notes.
257 Press RETURN to continue.
258 Now a screen asking about Hardware Configuration appeared. Press RETURN to continue.
259
260 Next a screen appears showing Installation Completed.
261 Press RETURN to continue and you will see the startup log messages and at the end the following:
262
263 |--------------------
264 Welcome to openSUSE 11.3 "Teal" - Kernel 2.6.34.7-0.3-desktop (tty1)
265
266 koha-server login:
267 |--------------------
268
269 You may now login with your "root" user.
270
271 ==== Changing the Hostname and Domain Name ====
272
273
274 Maybe you want to change the hostname, domain name and switch from DHCP to a Static IP address.
275 Changing the hostname and domain name will not be shown here, because we assume that was done according to your whishes during installation.
276
277 This is how you can do it. You give the command yast (the setup tool) on the command prompt:
278 |--------------------
279 koha-server:~ # yast
280 |--------------------
281
282 Yast should appear.
283
284 On the listbox of the left hand side select "Network Devices" (press TAB to turn focus on that listbox, and press the down arrow key several times to reach it).
285 Then, on the listbox of the right hand side, select "Network Settings" (you'll have again to press TAB to turn focus on that listbox, and press the down arrow key several times to reach it).
286
287 Press the ENTER key.
288
289 ==== "Initializing Network Configuration" screen ====
290
291 [just watch it...]
292
293 ==== "Network Settings" screen ====
294
295 I want to disable IPv6, so I first go to the "Global Options" section (by pushing the key combination ALT+G to press the "G" letter in Global Options that is highlighted).
296 In the next screen, I push ALT+E to uncheck the "Enable IPv6" checkbox.
297 I'll get a dialog box with a Warning saying that "To apply this change a reboot is needed.".
298 I just press ENTER on that dialog box, but I do NOT reboot (at least not yet).
299
300 Then I press Alt+V to go to the "Overview" (still in "Network Settings").
301 Then I press ALT+I to "Edit" the information for this Network Card.
302
303 ==== "Network Card Setup" screen ====
304
305 I check the "Statically assigned IP Address" checkbox, and enter the following info for "IP Address", "Subnet Mask" and "Hostname" (you should use the values defined by your network administrator):
306
307 IP Address: 192.168.1.16
308 Subnet Mask: 255.255.255.0
309 Hostname: koha-server.univ.org
310
311 Then I press ALT+N to click the "Next" button. After a few seconds, I will be taken again to the "Network Settings" screen.
312
313 ==== "Network Settings" screen ====
314
315 I press ALT+S to go to the "Hostname/DNS" screen.
316
317 Press ALT+I and the Arrow Key to choose "Only Custom Policy" by pressing Enter, press Tab to choose "Custom Policy Rule" and select "STATIC".
318 Enter the IP Address of the Domain Name Server in the "Name Server 1" text box:
319
320 Name Server 1: 192.168.1.254
321
322 Then I press ALT+U to go to the "Routing" configuration.
323
324 ==== "Routing" screen ====
325
326 In the "Default Gateway" text box, I enter the IP Address of my Default Gateway:
327
328 Default Gateway: 192.168.1.254
329
330 Then I press ALT+O for OK to Finish
331
332 ==== "Saving Network Configuration" screen ====
333
334 [just watch it...]
335
336 After a few seconds, you should be taken back to the "YaST2 Control Center" screen.
337 Press ALT+Q to Quit YaST2.
338
339 ==== Making the ssh-daemon to start at system start ====
340
341 We need a ssh-daemon that does not accept Environment parameters from the remote user.
342 So we have to disable accepting these.
343 For this you use vim to change the config file of sshd.
344
345 |--------------------
346 # cp /etc/ssh/sshd_config /etc/ssh/sshd_config.ORIG
347 # vi /etc/ssh/sshd_config
348 |--------------------
349
350 Find the lines starting with AcceptEnv and insert a # in front of these, There are three lines.
351 Afterwards these lines will look like:
352 |--------------------
353 #AcceptEnv LANG LC_CTYPE LC_NUMERIC LC_TIME LC_COLLATE LC_MONETARY LC_MESSAGES
354 #AcceptEnv LC_PAPER LC_NAME LC_ADDRESS LC_TELEPHONE LC_MEASUREMENT
355 #AcceptEnv LC_IDENTIFICATION LC_ALL
356 |--------------------
357
358 In order to make the ssh-daemon start at system boot, you have to enable this by giving:
359 |--------------------
360 # chkconfig sshd on
361 |--------------------
362
363 You can check the status with the command "chkconfig -l sshd".
364 The output should look like this:
365 |--------------------
366 # sshd                      0:off  1:off  2:off  3:on   4:off  5:on   6:off
367 |--------------------
368
369 Also you need to start the sshd service in order to generate the security keypair for sshd.
370 |--------------------
371 # service sshd start
372 |--------------------
373
374 This time seems to be a good time to reboot your server:
375 |--------------------
376 # reboot
377 |--------------------
378 After rebooting the machine, if you wish, you may go to another machine and connect to your newly created server using a SSH (Secure Shell) client. In Windows, I like to use putty to do ssh sessions to my Linux servers.
379
380 === Configure Software Repositories ===
381
382 After the system has rebooted, log in as root.
383
384 Later on, you will need to add some software packages from the openSUSE 11 Distribution.
385 Some of those packages are NOT available in the openSUSE 11.3 DVD (libyaz-devel is one of those packages).
386 However we already added these repositories to the system after configuring the network.
387 In case you did not have a network setup at that time, it is now time to setup these repositories, but you can skip this if this has been done already.
388
389 First, run the yast command in the Linux command line (shell):
390
391 |--------------------
392 # yast
393 |--------------------
394
395 Inside yast, select Software -> Software Repositories
396
397 ==== "Configured Software Repositories" screen ====
398
399 When on this screen, you already see a table that has:
400
401 * as configured repositories (in the "Name" column)
402 ** "Updates for openSUSE 11.3 11.3-1.82"
403 ** "openSUSE-11.3 11.3-1.82"
404 ** "openSUSE-11.3-Debug"
405 ** "openSUSE-11.3-Non-Oss" "openSUSE-11.3-Oss" ...
406 * at least the following repositories have an "x" in the "Enabled" column
407 ** "Updates for openSUSE 11.3 11.3-1.82"
408 ** "openSUSE-11.3-Oss"
409 * you still have to add the folowing repositiory to this list
410 ** "openSUSE BuildService - devel:languages:perl"
411 Press ALT+A to Add Repositories.
412
413 ==== "Media type" screen ====
414
415 Select Community Repositories by pressing ALT+I and apply Next (press ALT+X).
416
417 You will see a message that data will be downloaded.
418 After that you will get a list of Repositories and the above mentioned, but not yet available, will be in this list.
419 Select the one you need by using the Arrow Keys and press Space to select (an x will appear in front of the Repository).
420 After that apply OK. You may see some activity and you may get asked to import GnuPG keys, just do so.
421
422 You may see the following screen.
423
424 ==== "License Agreement" screen ====
425
426 Check the "Yes, I Agree to the License Agreement" radio button.
427
428 Click on the "Next" button to return to the "Configured Software Repositories" screen.
429
430 ==== "Configured Software Repositories" screen ====
431
432 You should see now the "openSUSE 11.3-Oss" listed as an entry.
433 You can Disable "openSUSE-11.3-Source" and its Autorefresh, if present.
434
435 Click on the "OK" button.
436
437 When you get sent back to the "Yast Control Center" click on the "Quit" button (to return to the shell).
438
439 === Install some useful / necessary programs ===
440
441 By this time, you have to install some of the programs which are regularly used, by using zypper (the command line mode packet manager):
442
443 To install locate, ncftp (command-line ftp client), make and gcc you give the following command:
444 |--------------------
445 # zypper install findutils-locate ncftp make gcc
446 |--------------------
447 Zypper reports that it will install 18 packages; confirm with RETURN.
448
449 == Download Koha ==
450
451 |--------------------
452 # wget http://download.koha-community.org/koha-3.00.00.tar.gz
453 |--------------------
454 You will receive 49,266,888 bytes.
455
456 == Extract Koha ==
457
458 |--------------------
459 # tar -xzvf koha-3.00.00.tar.gz
460 |--------------------
461
462 == Set up Locale for root user ==
463
464 If you run the locale command, you'll probably get this output:
465 |--------------------
466 # locale
467 LANG=POSIX
468 LC_CTYPE=en_US.UTF-8
469 LC_NUMERIC="POSIX"
470 LC_TIME="POSIX"
471 LC_COLLATE="POSIX"
472 LC_MONETARY="POSIX"
473 LC_MESSAGES="POSIX"
474 LC_PAPER="POSIX"
475 LC_NAME="POSIX"
476 LC_ADDRESS="POSIX"
477 LC_TELEPHONE="POSIX"
478 LC_MEASUREMENT="POSIX"
479 LC_IDENTIFICATION="POSIX"
480 LC_ALL=
481 |--------------------
482
483 We want to have en_US.UTF-8 in all LC_* variables. So, we'll do the following:
484 |--------------------
485 # yast
486 |--------------------
487 System -> Language
488
489 The "Languages" screen should appear.
490
491 In the first section (Primary Language Settings):
492
493 Leave "English (US)" selected as the option for Primary Language
494
495 Click on the "Details..." link
496
497 Change the Locale Settings for user root from the default option ("ctype Only") to "Yes"
498
499 Make sure the "Use UTF-8 Encoding" checkbox is checked (it should already be).
500
501 Leave the "Detailed Locale Setting" en_US selected
502
503 Click on the OK button to return to the "Languages" screen
504
505 Click on the "OK" button.
506
507 When you get back to the "Yast2 Control Center" screen, click on the "Quit" button
508
509 == Putty configuration to use Unicode (UTF-8 encoding) ==
510
511 If you use Putty, set up Putty to use UTF-8 encoding.
512 To do this, click on the upper left corner of the PuTTy window, to expand the menu.
513 Scrol down until you find the "Change Settings..." command and click on it.
514
515 This should open the "PuTTy Reconfiguration" screen. Here expand the "Window" category and click on "Translation"
516
517 When you do this, you'll see that the "Received data assumed to be in which character set" dropdown list probably reads:
518
519 "ISO-8859-1:1998 (Latin-1, West Europe)
520
521 change it to: "UTF-8"
522
523 Click on the "Apply" button
524
525 Now, it's a good time to SAVE this PuTTy session.
526 To do this, click again on the upper left corner of the PuTTy window, to expand the menu, and click on the "Change Settings..." command like you did before.
527
528 This should open the "PuTTy Reconfiguration" screen. Go to the right hand side of that screen and type a name in the "Saved Sessions" textbox (e.g: koha).
529 Then click on the "Save" button and, after doing that, click on the "Apply" button.
530
531 IMPORTANT!!! Now it's the time to EXIT the login shell, by typing the exit command:
532 |--------------------
533 # exit
534 |--------------------
535
536 Now you'll reopen PuTTy, but when you do that, open the Saved Session that you have created in order to use the "UTF-8" configuration you have done.
537
538 You may not need to do the above after the change, made earlier, in /etc/ssh/sshd_config. Check it and if so you can modify this wiki page.
539
540 After logging in again with the root user, type the locale command again. Now it should read like the following:
541
542 |--------------------
543 # locale
544 LANG=en_US.UTF-8
545 LC_CTYPE="en_US.UTF-8"
546 LC_NUMERIC="en_US.UTF-8"
547 LC_TIME="en_US.UTF-8"
548 LC_COLLATE="en_US.UTF-8"
549 LC_MONETARY="en_US.UTF-8"
550 LC_MESSAGES="en_US.UTF-8"
551 LC_PAPER="en_US.UTF-8"
552 LC_NAME="en_US.UTF-8"
553 LC_ADDRESS="en_US.UTF-8"
554 LC_TELEPHONE="en_US.UTF-8"
555 LC_MEASUREMENT="en_US.UTF-8"
556 LC_IDENTIFICATION="en_US.UTF-8"
557 LC_ALL=
558 |--------------------
559
560 == Apache configuration (for UTF-8) ==
561
562 Create a file called /etc/apache2/httpd.conf.local with vim (or your preferred text editor):
563 |--------------------
564 myhost:~ # vim /etc/apache2/httpd.conf.local
565 |--------------------
566 Add this line:
567 |--------------------
568 AddDefaultCharset UTF-8
569 |--------------------
570
571 == Configure Apache to start at boot time and start the service ==
572 |--------------------
573 # chkconfig apache2 on
574
575 # service apache2 start
576 Starting httpd2 (prefork)                                            done
577 |--------------------
578
579 Go to a browser and type:
580
581 http://192.168.1.16
582
583 You should see a page that reads:
584
585 "It works!"
586
587 == MySQL configuration ==
588
589 1 - Configure MySQL to start at boot time and start the service:
590 |--------------------
591 # chkconfig mysql on
592
593 # service mysql start
594 |--------------------
595 The system will issue a warning that '--skip-locking' is deprecated, but for now we accept that.
596
597 2 - Change the password for the "root" user of MySQL:
598 |--------------------
599 # /usr/bin/mysqladmin -u root password 'chosenpassword'
600 |--------------------
601 After starting MySQL also it is recommended to give the command:
602 <tt> # /usr/bin/mysqladmin -u root -h koha-server.univ.org password 'chosenpassword'</tt>
603 However this gives an error message. This is left for the more advanced MySQL administrator.
604
605 3 - Check the encoding variables of MySQL
606
607 To check the encoding variables of MySQL, will type the show variables like 'char%'; command in a mysql prompt:
608 |--------------------
609 # mysql -p
610 Enter password:
611 Welcome to the MySQL monitor.  Commands end with ; or \g.
612 Your MySQL connection id is 7
613 Server version: 5.1.46-log SUSE MySQL RPM
614
615 Copyright (c) 2000, 2010, Oracle and/or its affiliates. All rights reserved.
616 This software comes with ABSOLUTELY NO WARRANTY. This is free software,
617 and you are welcome to modify and redistribute it under the GPL v2 license
618
619 Type 'help;' or '\h' for help. Type '\c' to clear the buffer.
620
621 mysql> show variables like 'char%';
622 +--------------------------+----------------------------+
623 | Variable_name            | Value                      |
624 +--------------------------+----------------------------+
625 | character_set_client     | utf8                       |
626 | character_set_connection | utf8                       |
627 | character_set_database   | utf8                       |
628 | character_set_filesystem | binary                     |
629 | character_set_results    | utf8                       |
630 | character_set_server     | utf8                       |
631 | character_set_system     | utf8                       |
632 | character_sets_dir       | /usr/share/mysql/charsets/ |
633 +--------------------------+----------------------------+
634 8 rows in set (0.00 sec)
635
636 mysql> quit
637 Bye
638 |--------------------
639
640 The above looks OK, so we can skip 1 and 2 and continue with 2a, but if not you can follow the following procedure.
641
642 We want to have utf8 in the above character_set_* variables above (and NOT latin1)!
643
644 In order to do this:
645
646 1 - Create a backup of the MySQL configuration file (my.cnf):
647 |--------------------
648 # cd /etc
649 myhost:/etc # cp my.cnf my.cnf.ORIG
650 |--------------------
651
652 2 - Use vim to add these 3 lines in the section [mysqld] of the my.cnf file:
653 |--------------------
654 default-character-set = utf8
655 character-set-server = utf8
656 skip-character-set-client-handshake
657 |--------------------
658 In openSUSE 11.3 and the provided mysql packet only the default-character-set can be set, the other 2 should not be added.
659
660 2a - If you are unfamilar with SQL you should remove the #-character in front of safe-updates in that same section.
661
662 3 - Restart MySQL:
663 |--------------------
664 myhost:/etc # service mysql restart
665 Restarting service MySQL
666 Shutting down service MySQL                                           done
667 Starting service MySQL                                                done
668 |--------------------
669
670 Now, let's type again the show variables like 'char%' mysql command to see if
671 the character_set_variables have changed from latin1 to utf8 (character_set_filesystem
672 will still read "binary" but I think that's OK:
673 |--------------------
674 myhost:/etc # mysql -p
675 Enter password:
676 Welcome to the MySQL monitor.  Commands end with ; or \g.
677 Your MySQL connection id is 1
678 Server version: 5.1.46-log SUSE MySQL RPM
679
680 Type 'help;' or '\h' for help. Type '\c' to clear the buffer.
681
682 mysql> show variables like 'char%';
683 +--------------------------+----------------------------+
684 | Variable_name            | Value                      |
685 +--------------------------+----------------------------+
686 | character_set_client     | utf8                       |
687 | character_set_connection | utf8                       |
688 | character_set_database   | utf8                       |
689 | character_set_filesystem | binary                     |
690 | character_set_results    | utf8                       |
691 | character_set_server     | utf8                       |
692 | character_set_system     | utf8                       |
693 | character_sets_dir       | /usr/share/mysql/charsets/ |
694 +--------------------------+----------------------------+
695 8 rows in set (0.01 sec)
696
697 mysql> quit
698 Bye
699 |--------------------
700
701 == Create the Koha database ==
702
703 === Create the koha database and user with associated privileges ===
704 |--------------------
705 # mysqladmin -uroot create koha -p
706 |--------------------
707 (you may name the koha database something different from koha)
708
709 === Grant privileges to a MySQL user to the koha database ===
710
711 Assuming that you want to have a MySQL user called "kohaadmin" to administer a database called "koha" with the password "kohapassword", you'd enter this:
712 |--------------------
713 myhost:~ # mysql -p
714 Enter password:
715 Welcome to the MySQL monitor.  Commands end with ; or \g.
716 Your MySQL connection id is 3
717 Server version: 5.1.46-log SUSE MySQL RPM
718
719 Type 'help;' or '\h' for help. Type '\c' to clear the buffer.
720
721 mysql> grant all on koha.* to 'kohaadmin'@'localhost' identified by 'kohapassword';
722 Query OK, 0 rows affected (0.00 sec)
723
724 mysql> flush privileges;
725 Query OK, 0 rows affected (0.08 sec)
726
727 mysql> quit
728 Bye
729 |--------------------
730
731 == Test your SAX Parser and correct where necessary ==
732
733   * Install the XML::SAX and XML::LibXML perl Modules:
734
735 |--------------------
736 # zypper install perl-XML-SAX perl-XML-LibXML
737 Loading repository data...
738 Reading installed packages...
739 'perl-XML-SAX' is already installed.
740 There is an update candidate for 'perl-XML-SAX', but it is from different vendor. Use 'zypper install perl-XML-SAX-0.96-13.1.x86_64' to install this candidate.
741 'perl-XML-LibXML' is already installed.
742 There is an update candidate for 'perl-XML-LibXML', but it is from different vendor. Use 'zypper install perl-XML-LibXML-1.70-6.1.x86_64' to install this candidate.
743 Resolving package dependencies...
744
745 Nothing to do.
746 |--------------------
747
748 In the above you see that these two packets have been installed during system installation.
749 You also installed a repository for the language perl.
750 The message about a different vendor is about this repository.
751 You have to use "zypper dup" to install the newer versions from this repository, but this outside this tutorial.
752
753 You must be sure you're using the XML::LibXML SAX parser, not Expat or PurePerl, both of which have outstanding bugs (in 2008) with pre-composed characters. You can test your SAX parser by running:
754 |--------------------
755 # cd /root/koha-3.00.00/
756
757 myhost:~/koha-3.00.00 # misc/sax_parser_print.pl
758 |--------------------
759
760 You will probably see this:
761 |--------------------
762 XML::SAX::PurePerl=HASH(0x8356a4c)
763 |--------------------
764
765 If you're using PurePerl (you probably are) or Expat, you'll need to edit your ParserDetails.ini file to use the LibXML Parser.
766 To find the ParserDetails.ini file, you may use locate.
767 To do this, first update the locate database by running the updatedb command:
768 |--------------------
769 # updatedb
770 |--------------------
771
772 Then find ParserDetails.ini using locate:
773 |--------------------
774 # locate ParserDetails.ini
775 /usr/lib/perl5/vendor_perl/5.12.1/XML/SAX/ParserDetails.ini
776 |--------------------
777
778 OK. So, let's first do a backup of this ini file:
779 |--------------------
780 # cd /usr/lib/perl5/vendor_perl/5.12.1/XML/SAX/
781
782 myhost:/usr/lib/perl5/vendor_perl/5.10.0/XML/SAX # cp ParserDetails.ini ParserDetails.ini.ORIG
783 |--------------------
784
785 Edit this ParserDetails.ini file (with vim or other editor)
786
787 See if the first line contains this:
788 |--------------------
789 [XML::SAX::PurePerl]
790 |--------------------
791 If it does, replace this first line by the following:
792 |--------------------
793 [XML::LibXML::SAX::Parser]
794 |--------------------
795
796 Run the /root/koha-3.00.00/misc/sax_parser_print.pl command again.
797 This time, you should get the following output:
798 |--------------------
799 XML::LibXML::SAX::Parser=HASH(0x8356e0c)
800 |--------------------
801
802 == Install the Zebra package ==
803
804 Zebra is already in the standard repository of openSUSE 11.3, so it seems better to install it.
805 In the next chapter a question will be asked whether it is installed, so you better install it; no harm done.
806 Because you may need the documentation, that will also be installed.
807 Note that the package name is idzebra.
808
809 |--------------------
810 # zypper install idzebra idzebra-doc
811 |--------------------
812 You will notice that a few dependencies need to be resolved, so a few other packages are also installed.
813
814 == Run Koha's perl installer ==
815 |--------------------
816 myhost:/usr/lib/perl5/vendor_perl/5.10.0/XML/SAX # cd /root/koha-3.00.00
817 |--------------------
818 After installation of a number of CPAN/perl packages we will run perl Makefile.PL to run the Koha installer.
819
820
821 === Using zypper to install CPAN modules ===
822
823 The author of the openSUSE 11.0 version of this page did a trial run with the Makefile.PL module, which showed a lot of unstalled perl modules and other software packages.
824 He used the names of these packages and installed the missing ones.
825 I collected all the missing packets and put them in the list below to install these packages before running Makefile.PL.
826 Doing the way he did provides more inside in the process, however it is tedious and I want to avoid that.
827 You still can go [[Koha_3.0.0_on_openSUSE_11.0#Run_Koha's_perl_installer|there]] and learn from that experience.
828
829 The commands show below need to be given one by one, because zypper will always ask for confirmation. However you can als also put more than one module name after the "zypper install" command.
830 |--------------------
831 # zypper install perl-Algorithm-CheckDigits
832 # zypper install perl-Biblio-EndnoteStyle
833 # zypper install perl-CGI-Session-Serialize-yaml
834 # zypper install perl-CGI-Session
835 # zypper install perl-Class-Accessor
836 # zypper install perl-Class-Factory-Util
837 # zypper install perl-DBD-mysql
838 # zypper install perl-Data-ICal
839 # zypper install perl-Date-Calc
840 # zypper install perl-Date-ICal
841 # zypper install perl-Date-Manip
842 # zypper install perl-DublinCore-Record
843 # zypper install perl-Email-Date
844 # zypper install perl-GD
845 # zypper install perl-GD-Barcode
846 # zypper install perl-HTML-Scrubber
847 # zypper install perl-HTML-Template-Pro
848 # zypper install perl-Lingua-Stem
849 # zypper install perl-MARC-Charset
850 # zypper install perl-MARC-Crosswalk-DublinCore
851 # zypper install perl-MARC-File-XML
852 # zypper install perl-MARC-Record
853 # zypper install perl-MIME-Lite
854 # zypper install perl-Mail-Sendmail
855 # zypper install perl-Net-LDAP
856 # zypper install perl-Net-Z3950-ZOOM
857 # zypper install perl-PDF-API2
858 # zypper install perl-PDF-Reuse
859 # zypper install perl-PDF-Reuse-Barcode
860 # zypper install perl-32bit
861 # zypper install perl-SMS-Send
862 # zypper install perl-Schedule-At
863 # zypper install perl-Text-CSV
864 # zypper install perl-Text-Iconv
865 # zypper install perl-XML-Dumper
866 # zypper install perl-XML-LibXSLT
867 # zypper install perl-XML-RSS
868 # zypper install perl-Text-CSV_XS
869 # zypper install perl-PerlMagick
870 # zypper install perl-Carp-Assert
871 # zypper install gd gd-devel
872 # zypper install xorg-x11-libXpm-devel
873 # zypper install libjpeg-devel
874 # zypper install fontconfig-devel
875 # zypper install libpng-devel
876 # zypper install libyaz-devel
877 |--------------------
878
879 == Running the Makefile.PL module to configure Koha ==
880
881 My installation is a UNIMARC installation, so I'm answering unimarc to the "MARC format for Zebra indexing (marc21, unimarc) [marc21]" question below.
882 If your Library uses the MARC21 format instead of UNIMARC, you should press ENTER to accept the default (which is marc21).
883
884 Because my bibliographic catalog will have mainly records in English and Arabic, I'm answering "en" (English) to the "Primary language for Zebra indexing (en, fr) [en]" question below.
885
886 Although I'm NOT using Zebra, I'm answering "yes" (the default choice) to the "Install the Zebra configuration files? (no, yes) [yes]" so I can set up Zebra later, if I decide to.
887
888 Also note that Zebra has been installed in this case.
889
890 Below is the result of running the "perl Makefile.PL" command (including my answers to the several questions):
891 |--------------------
892 myhost:~/koha-3.00.00 # perl Makefile.PL
893
894 By default, Koha can be installed in one of three ways:
895
896 standard: Install files in conformance with the Filesystem
897           Hierarchy Standard (FHS).  This is the default mode
898           and should be used when installing a production
899           Koha system.  On Unix systems, root access is
900           needed to complete a standard installation.
901
902 single:   Install files under a single directory.  This option
903           is useful for installing Koha without root access, e.g.,
904           on a web host that allows CGI scripts and MySQL databases
905           but requires the user to keep all files under the user's
906           HOME directory.
907
908 dev:      Create a set of symbolic links and configuration files to
909           allow Koha to run directly from the source distribution.
910           This mode is useful for developers who want to run
911           Koha from a git clone.
912
913 Installation mode (dev, single, standard) [standard]
914
915 Please specify the directory under which most Koha files
916 will be installed.
917
918 Note that if you are planning in installing more than
919 one instance of Koha, you may want to modify the last
920 component of the directory path, which will be used
921 as the package name in the FHS layout.
922
923 Base installation directory [/usr/share/koha]
924
925 Since you are using the 'standard' install
926 mode, you should run 'make install' as root.
927 However, it is recommended that a non-root
928 user (on Unix and Linux platforms) have
929 ownership of Koha's files, including the
930 Zebra indexes if applicable.
931
932 Please specify a user account.  This
933 user account does not need to exist
934 right now, but it needs to exist
935 before you run 'make install'.  Please
936 note that for security reasons, this
937 user should not be the same as the user
938 account Apache runs under.
939
940 User account [koha]
941
942 Please specify the group that should own
943 Koha's files.  As above, this group need
944 not exist right now, but should be created
945 before you run 'make install'.
946
947 Group [koha]
948
949 Please specify which database engine you will use
950 to store data in Koha.  The choices are MySQL and
951 PostgreSQL; please note that at the moment
952 PostgreSQL support is highly experimental.
953
954 DBMS to use (Pg, mysql) [mysql]
955
956 Please specify the name or address of your
957 database server.  Note that the database
958 does not have to exist at this point, it
959 can be created after running 'make install'
960 and before you try using Koha for the first time.
961
962 Database server [localhost]
963
964 Please specify the port used to connect to the
965 DMBS [3306]
966
967 Please specify the name of the database to be
968 used by Koha [koha]
969
970 Please specify the user that owns the database to be
971 used by Koha [kohaadmin]
972
973 Please specify the password of the user that owns the
974 database to be used by Koha [katikoan] kohapassword
975
976 Koha can use the Zebra search engine for high-performance
977 searching of bibliographic and authority records.  If you
978 have installed the Zebra software and would like to use it,
979 please answer 'yes' to the following question.  Otherwise,
980 Koha will default to using its internal search engine.
981
982 Please note that if you choose *NOT* to install Zebra,
983 koha-conf.xml will still contain some references to Zebra
984 settings.  Those references will be ignored by Koha.
985
986 Install the Zebra configuration files? (no, yes) [yes]
987
988 Unable to find the Zebra programs 'zebrasrv' and 'zebraidx'
989 in your PATH or in some of the usual places.  If you haven't
990 installed Zebra yet, please do so and run Makefile.PL again.
991
992 Since you've chosen to use Zebra with Koha,
993 you must specify the primary MARC format of the
994 records to be indexed by Zebra.
995
996 Koha provides Zebra configuration files for MARC 21
997 and UNIMARC.
998
999 MARC format for Zebra indexing (marc21, unimarc) [marc21] unimarc
1000
1001 Koha supplies Zebra configuration files tuned for
1002 searching either English (en) or French (fr) MARC
1003 records.
1004
1005 Primary language for Zebra indexing (en, fr) [en] fr
1006
1007 Koha can use one of  two different indexing modes
1008 for the MARC authorities records:
1009
1010 grs1 - uses the Zebra GRS-1 filter, available
1011        for legacy support
1012 dom  - uses the DOM XML filter; offers improved
1013        functionality.
1014
1015 Authorities indexing mode (dom, grs1) [grs1] dom
1016
1017 Please specify Zebra database user [kohauser]
1018
1019 Please specify the Zebra database password [zebrastripes] zebrapassword
1020
1021 Since you've chosen to use Zebra, you can enable the SRU/
1022 Z39.50 Server if you so choose, but you must specify a
1023 few configuration options for it.
1024
1025 Please note that if you choose *NOT* to configure SRU,
1026 koha-conf.xml will still contain some references to SRU
1027 settings.  Those references will be ignored by Koha.
1028
1029 Install the SRU configuration files? (no, yes) [yes] no
1030
1031 Since you've chosen to use Zebra, you can also choose to
1032 install PazPar2, which is a metasearch tool.  With PazPar2,
1033 Koha can perform on-the-fly merging of bibliographic
1034 records during searching, allowing for FRBRization of
1035 the results list.
1036
1037 Install the PazPar2 configuration files? [no] no
1038
1039 Would you like to run the database-dependent test suite? (no, yes) [no]
1040
1041 Koha will be installed with the following configuration parameters:
1042
1043 AUTH_INDEX_MODE          dom
1044 DB_HOST                  localhost
1045 DB_NAME                  koha
1046 DB_PASS                  kohapassword
1047 DB_PORT                  3306
1048 DB_TYPE                  mysql
1049 DB_USER                  kohaadmin
1050 INSTALL_BASE             /usr/share/koha
1051 INSTALL_MODE             standard
1052 INSTALL_PAZPAR2          no
1053 INSTALL_SRU              no
1054 INSTALL_ZEBRA            yes
1055 KOHA_GROUP               koha
1056 KOHA_INSTALLED_VERSION   3.00.00.096
1057 KOHA_USER                koha
1058 RUN_DATABASE_TESTS       no
1059 ZEBRA_LANGUAGE           fr
1060 ZEBRA_MARC_FORMAT        unimarc
1061 ZEBRA_PASS               zebrapassword
1062 ZEBRA_USER               kohauser
1063
1064 and in the following directories:
1065
1066 DOC_DIR                  /usr/share/koha/doc
1067 INTRANET_CGI_DIR         /usr/share/koha/intranet/cgi-bin
1068 INTRANET_TMPL_DIR        /usr/share/koha/intranet/htdocs/intranet-tmpl
1069 INTRANET_WWW_DIR         /usr/share/koha/intranet/htdocs
1070 KOHA_CONF_DIR            /etc/koha
1071 LOG_DIR                  /var/log/koha
1072 MAN_DIR                  /usr/share/koha/man
1073 MISC_DIR                 /usr/share/koha/misc
1074 OPAC_CGI_DIR             /usr/share/koha/opac/cgi-bin
1075 OPAC_TMPL_DIR            /usr/share/koha/opac/htdocs/opac-tmpl
1076 OPAC_WWW_DIR             /usr/share/koha/opac/htdocs
1077 PAZPAR2_CONF_DIR         /etc/koha/pazpar2
1078 PERL_MODULE_DIR          /usr/share/koha/lib
1079 SCRIPT_DIR               /usr/share/koha/bin
1080 SCRIPT_NONDEV_DIR        /usr/share/koha/bin
1081 ZEBRA_CONF_DIR           /etc/koha/zebradb
1082 ZEBRA_DATA_DIR           /var/lib/koha/zebradb
1083 ZEBRA_LOCK_DIR           /var/lock/koha/zebradb
1084 ZEBRA_RUN_DIR            /var/run/koha/zebradb
1085
1086 To change any configuration setting, please run
1087 perl Makefile.PL again.  To override one of the target
1088 directories, you can do so on the command line like this:
1089
1090 perl Makefile.PL PERL_MODULE_DIR=/usr/share/perl/5.8
1091
1092 You can also set different default values for parameters
1093 or override directory locations by using environment variables.
1094
1095 For example:
1096
1097 export DB_USER=my_koha
1098 perl Makefile.PL
1099
1100 or
1101
1102 DB_USER=my_koha DOC_DIR=/usr/local/info perl Makefile.PL
1103
1104 If installing on a Win32 platform, be sure to use:
1105 'dmake -x MAXLINELENGTH=300000'
1106
1107 Checking if your kit is complete...
1108 Looks good
1109 Writing Makefile for koha
1110
1111 myhost:~/koha-3.00.00 #
1112 |--------------------
1113
1114 == Create the Koha User and Group ==
1115
1116 |--------------------
1117 # useradd koha
1118
1119 # passwd koha
1120 Changing password for koha.
1121 New Password:
1122 Reenter New Password:
1123 Password changed.
1124
1125 # groupadd koha
1126 |--------------------
1127
1128 == Run make test ==
1129 |--------------------
1130 myhost:~/Koha # make test
1131 cp koha-tmpl/opac-tmpl/prog/famfamfam/silk/error_go.png blib/OPAC_TMPL_DIR/prog/famfamfam/silk/error_go.png
1132 cp opac/opac-changelanguage.pl blib/OPAC_CGI_DIR/opac/opac-changelanguage.pl
1133 cp koha-tmpl/intranet-tmpl/prog/img/itemtypeimg/liblime-kids/card.gif blib/INTRANET_TMPL_DIR/prog/img/itemtypeimg/liblime-kids/card.gif
1134 cp koha-tmpl/opac-tmpl/prog/famfamfam/mini/note.gif blib/OPAC_TMPL_DIR/prog/famfamfam/mini/note.gif
1135
1136 [many more lines beginning with "cp" should appear...]
1137
1138 t/Amazon.t .................. ok
1139 t/Barcodes_PrinterConfig.t .. ok
1140 t/Bookfund.t ................ ok
1141 t/Bookseller.t .............. ok
1142 t/Boolean.t ................. ok
1143 t/Branch.t .................. ok
1144 t/Calendar.t ................ ok
1145 t/Charset.t ................. ok
1146 t/Debug.t ................... # BEFORE use:     $debug is not defined
1147 # BEFORE use: $cgi_debug is not defined
1148 t/Debug.t ................... 1/3 #  AFTER use:     $debug is 0
1149 #  AFTER use: $cgi_debug is 0
1150 # Done.
1151 t/Debug.t ................... ok
1152 t/dummy.t ................... ok
1153 t/Input.t ................... ok
1154 t/Koha.t .................... ok
1155 t/Languages.t ............... ok
1156 t/Maintainance.t ............ ok
1157 t/Output.t .................. ok
1158 t/Record.t .................. ok
1159 t/Review.t .................. ok
1160 t/Scrubber.t ................ 1/10 # Note: scrubber test output will have whitespace collapsed for readability
1161 # done.
1162 t/Scrubber.t ................ ok
1163 t/Stats.t ................... ok
1164 All tests successful.
1165 Files=19, Tests=47,  3 wallclock secs ( 0.06 usr  0.08 sys +  2.12 cusr  0.25 csys =  2.51 CPU)
1166 Result: PASS
1167 |--------------------
1168 So here it shows all is OK. I don't expect any problems to appear, otherwise you may need to read the document on installing Koha on openSUSE 11.0.
1169
1170 == Run "make install" ==
1171
1172 Now, we will run make install:
1173
1174 |--------------------
1175 myhost:~/Koha # make install
1176 |--------------------
1177 [Several lines starting with "Manifying" and many lines starting with "Installing" will scroll by...]
1178 |--------------------
1179 Installing /usr/share/koha/man/man3/serials::serial-issues.3pm
1180 Installing /usr/share/koha/man/man3/C4::Context.3pm
1181 Installing /usr/share/koha/man/man3/cataloguing::value_builder::unimarc_field_123f.3pm
1182 Installing /usr/share/koha/man/man3/cataloguing::addbiblio.3pm
1183 Installing /usr/share/koha/man/man3/cataloguing::value_builder::unimarc_field_128c.3pm
1184 Installing /usr/share/koha/man/man3/tools::viewlog.3pm
1185 Installing /usr/share/koha/man/man3/admin::branches.3pm
1186
1187 Koha's files have now been installed.
1188
1189 In order to use Koha's command-line batch jobs,
1190 you should set the following environment variables:
1191
1192 export KOHA_CONF=/etc/koha/koha-conf.xml
1193 export PERL5LIB=/usr/share/koha/lib
1194
1195 For other post-installation tasks, please consult the README.
1196
1197 # cd /etc
1198 myhost:/etc #
1199 |--------------------
1200
1201 == Create /etc/bash.bashrc.local ==
1202 Create a file called bash.bashrc.local in the /etc directory:
1203 |--------------------
1204 myhost:/etc # vim /etc/bash.bashrc.local
1205 |--------------------
1206 Add these 2 lines in the file:
1207 |--------------------
1208 export KOHA_CONF=/etc/koha/koha-conf.xml
1209 export PERL5LIB=/usr/share/koha/lib
1210 |--------------------
1211
1212 Exit the shell and log back in.
1213 |--------------------
1214 myhost:/etc # exit
1215 |--------------------
1216 After logging back in, type the following commands to check if
1217 the KOHA_CONF and PERL5LIB environment variables have been correctly set:
1218 |--------------------
1219 myhost:~ # env | grep KOHA
1220 KOHA_CONF=/etc/koha/koha-conf.xml
1221
1222 myhost:~ # env | grep PERL5LIB
1223 PERL5LIB=/usr/share/koha/lib
1224 |--------------------
1225
1226 == Koha's Web Installer ==
1227
1228 Access Koha's web installer at:
1229
1230 http://192.168.1.16:8080/
1231
1232 Your browser will probably say that:
1233 |--------------------
1234 " The server at 192.168.1.16 is taking too long to respond."
1235 |--------------------
1236 OK... It seems that we have still have to do something.
1237
1238 == Create a symbolic link to /etc/koha/koha-httpd.conf ==
1239
1240 Let's create a symbolic link to the /etc/koha/koha-httpd.conf file in the /etc/apache2/vhosts.d directory
1241 :
1242 |--------------------
1243 myhost:~ # cd /etc/apache2/vhosts.d/
1244
1245 myhost:/etc/apache2/vhosts.d # ln -s /etc/koha/koha-httpd.conf koha-httpd.conf
1246 |--------------------
1247
1248   * Restart Apache
1249 |--------------------
1250 myhost:/etc/apache2/conf.d # service apache2 restart
1251 Syntax error on line 28 of /etc/apache2/conf.d/koha-httpd.conf:
1252 Invalid command 'RewriteEngine', perhaps misspelled or defined by a module
1253 not included in the server configuration
1254 |--------------------
1255
1256 == Enable the mod_rewrite Apache module ==
1257
1258 OK... It seems that we need to enable the mod_rewrite Apache module:
1259 |--------------------
1260 myhost:/etc/sysconfig # a2enmod rewrite
1261 |--------------------
1262 If the above command seems NOT to work, for some reason, do this - edit /etc/sysconfig/apache2 and add the word "rewrite" (without the quotes) at the end of the APACHE_MODULES line, right before the right quote
1263 |--------------------
1264 myhost:/etc/sysconfig # service apache2 restart
1265 Syntax OK
1266 Shutting down httpd2 (waiting for all children to terminate)         done
1267 Starting httpd2 (prefork)                                            done
1268 |--------------------
1269
1270 == Change koha-httpd.conf ==
1271
1272 If you browsed again to http://192.168.1.16:8080 you would still get no answer. This is because we still have to do some changes to the koha-httpd.conf file. Unless you did not follow this tutorial and port 8080 is not open. Look back in this page to find out how.
1273
1274 First, let's create a backup of this file:
1275 |--------------------
1276 myhost:/etc/apache2/vhosts.d # cp koha-httpd.conf koha-httpd.conf.ORIG
1277
1278 myhost:/etc/koha # vim koha-httpd.conf
1279 |--------------------
1280
1281 At the beginning of the koha-httpd.conf file, under the commented NameVirtualHost line, add the following line:
1282 |--------------------
1283 Listen 8080
1284 |--------------------
1285 In that file, you should find two VirtualHost sections: one for the OPAC area of Koha and the other one for the Intranet.
1286 If the two virtualHost directives - the lines that start with <nowiki><VirtualHost</nowiki> - in that file are set for the IP Address 127.0.0.2, replace them by the correct IP address of your server.
1287
1288 That file will have 2 ServerName directives (one for each of the 2 VirtualHosts).
1289 In those directives, you should have the IP of your server -or- the FQDN of your server (example: ServerName koha-server.univ.org).
1290
1291 Now, restart again Apache:
1292 |--------------------
1293 myhost:/etc/koha # service apache2 restart
1294 Syntax OK
1295 Shutting down httpd2 (waiting for all children to terminate)         done
1296 Starting httpd2 (prefork)                                            done
1297 |--------------------
1298
1299 Try to access the web page:
1300
1301 http://192.168.1.16/
1302
1303 If you get again the "It Works!" web page, you'll probably have to Refresh/Reload the page in your browser (press the F5 key).
1304
1305 After reloading the page, you should get the following error:
1306 |--------------------
1307 Forbidden
1308
1309 You don't have permission to access / on this server.
1310
1311 Additionally, a 403 Forbidden error was encountered while trying to use an
1312 ErrorDocument to handle the request.
1313 Apache/2.2.4 (Linux/SUSE) Server at 192.168.1.16 Port 8080
1314 |--------------------
1315
1316 OK. Let's add then the following directive at the end of the koha-httpd.conf file:
1317 |--------------------
1318 <Directory /usr/share/koha>
1319   Order allow,deny
1320   Allow from all
1321 </Directory>
1322 |--------------------
1323
1324 Restart Apache:
1325 |--------------------
1326 myhost:/etc/apache2/vhosts.d # service apache2 restart
1327 Syntax OK
1328 Shutting down httpd2 (waiting for all children to terminate)         done
1329 Starting httpd2 (prefork)                                            done
1330 |--------------------
1331
1332 OK. Load again the following page in your web browser:
1333
1334 http://192.168.1.16
1335
1336
1337 After some seconds you should be redirected to:
1338
1339 http://192.168.0.2/cgi-bin/koha/maintenance.pl
1340
1341 and see a Koha page with the following text:
1342 "System Maintenance... we'll be back soon! If you have any questions, please contact the Site Administrator"
1343
1344 This is actually GOOD NEWS!  :)  It's now time to set up Koha in the Intranet interface.
1345
1346 To do that, browse to:
1347
1348 http://192.168.0.2:8080
1349
1350 You should see a page with the title "Welcome to the Koha Web Installer", and with a "Username" and a "Password" textboxes.
1351
1352 If not you may have forgotten to open the 8080 port.
1353
1354
1355 You may now login with your koha administrator username and password and reply to the several questions you will be asked.
1356
1357 == Add Zebra Indexer ==
1358
1359 Add an entry in Koha user crontab to process scheduled added/updated/deleted records
1360 indexing by Zebra. <script_dir>cronjobs/crontab.example contains examples for these cron jobs (and many more).
1361
1362 NOTE: The cronjobs should be setup under the kohauser (the default is 'koha', but
1363 this is the user you set up in section 'Create the Koha User and Group').
1364
1365 Edit the crontab for the koha user by running
1366     $ sudo -u <kohauser> crontab -e
1367
1368 For Zebra indexing, you are looking for the example that begins with
1369
1370     # ZEBRA INDEX UPDATES with -z option, incremental index updates throughout the day
1371     # for both authorities and bibs
1372
1373 It may be easiest to copy/paste the example into your own crontab and modify as necessary.
1374
1375 You can also configure zebra-indexing as an background daemon, see http://wiki.koha-community.org/wiki/Background_indexing_with_Zebra