Removed the dependency on Set::Scalar.
[wip/koha-chris_n.git] / INSTALL
1 Koha - Requirements and quick-start installation guide
2
3 INSTALL document included with [Koha]
4
5 For information on how to install Koha without requiring multiple virtual servers - See KohaAllInOne. 
6 For additional information on how your Configuration files should look see the Hints file.
7
8 Important....
9 To successfully use Koha you need some additional software:
10
11 A webserver (It was built to work with Apache, but there is no reason it shouldnt work with any other webserver). 
12 Mysql (You could intead use postgres, or another sql based database) 
13 Perl (mod_perl isnt needed, tho koha should work with mod_perl but this hasnt been tested yet). 
14
15 Perl Modules:
16
17 Date::Manip 
18 DBI 
19 DBD::mysql (or whatever database system you use) 
20 AuthenDBI (if you want to use Database based authentication) 
21 CDK (for the telnet interface not nessecary if you plan to use the web based circulation module) also requires installation of the C CDK libraries http://www.vexus.ca/CDK.html ( CDKModuleHasProblems ) 
22 File::Spec (Required for HTML::Template)
23 HTML::Template
24
25 --------------------------------------------------------------------------------
26
27
28 Quick-start Installation Guide
29 (Assumes the Use of MySQL and Apache)
30
31 1. Create a new mysql database called for example Koha
32 From command line: mysqladmin -uroot -ppassword create Koha 
33 There is a databse installation shell script included with the Koha tarball.
34
35 2. Set up a koha user and password in mysql
36 Log in to mysql: mysql -uroot -ppassword 
37
38 To create a user called "koha" who has full administrative rights to the "Koha" database when autheicting from "localhost", enter the following on mysql command line:
39
40 grant all privileges on Koha.* to koha@localhost identified by 'kohapassword'; 
41
42 Press ENTER, and if you see no errors then enter \q to quit mysql.
43
44
45 3. Use the mysql script to create the tables
46 mysql -uusername -ppassword Koha < koha.mysql 
47
48 3.1 Update your database tables
49 perl updatedatabase -I /pathtoC4 
50
51 4. Edit koha.conf
52         This file resides on the web server and tells the Koha scripts
53    how to access the database, and where scripts and documents are
54    installed. It is of the form:
55         # This is a comment
56         variable = value
57         foo = bar   # This is also a comment
58
59         The following variables are currently supported:
60    database
61         Name of the Koha database that you created in step 1 above.
62    user
63    pass
64         Name and password of the Koha database user that you creted in
65         step 2
66    includes
67         Directory where you plan to install the include files (*.inc)
68         in step 6.
69
70         The "database", "user", and "pass" settings are required.
71
72 5. Install koha.conf
73         By default, Koha looks for its configuration file in
74    /etc/koha.conf, though you may override this by setting the
75    $KOHA_CONF environment variable to the path to a different file.
76         If you are using Apache 1.1 or later, with virtual hosts, you
77    can use the SetEnv directive to use a different configuration file
78    for each virtual host.
79
80         Security note: /etc/koha.conf must be readable by the UID
81    under which the web server is running, and any other users running
82    Koha-related scripts or programs. It need not be writable.
83
84 6. Create directories for scripts and html documents.
85 Here you need to decide where your scripts and html are going to live.
86 And edit C4/Output.pm to reflect that.
87 Set $path= where your includes live,
88 for example: $path="/usr/local/www/koha/htdocs/includes";
89
90 You do not need to do that if you have already entered the includes path in koha.conf (see example above) 
91
92 Next copy the C4 directory (in scripts/) to somewhere in your perl path
93 eg /usr/local/lib/site_perl/i386-linux/
94
95 If you do not have sufficient access to copy the files to the default perl folder (maybe you are using your ISPs hosting server) then you can copy the modules to any other location and add a line to apache.conf like:
96
97 SetEnv PERL5LIB "/usr/local/www/koha/modules"
98
99 Copy the C4 directory into the modules folder (see detailed example in KohaHints)
100
101
102 7. Set up your Online Public Access Catalogue (OPAC)
103
104 Set up a webspace for the OPAC: For example: You might make /usr/local/www/opac ... and set a virtual host in apache to use that dir 
105 In your opac dir make a dir called htdocs, and copy everything in opac-html/ to it. 
106 Again in your opac dir make a dir called cgi-bin and copy all the files in scripts/ that have a .pl extension to it, eg copy scripts/*.pl /usr/local/www/opac/cgi-bin/koha/ 
107 Your virtual host should be set up to use these dirs, some thing like this: 
108
109
110    <VirtualHost opac.your.site>                         
111    ServerAdmin webmaster@your.site                            
112    DocumentRoot /usr/local/www/opac/htdocs                     
113    ServerName opac.your.site                      
114    ErrorLog logs/opac-error_log       
115    TransferLog logs/opac-access_log               
116
117    SetEnv KOHA_CONF /usr/local/etc/koha.conf
118    </VirtualHost>
119
120
121 When finished, restart apache and point your browser at opac.your.site and it should be all go (of course - if you dont have any data in the database there wont be much to see!) 
122
123 Find supplementary information and config examples in KohaHints
124
125 8. Set up the intranet/librarian interface
126
127 Create new directories and additional httpd.conf changes to Set up another webspace. Lets call it koha. 
128 For example:
129
130 In the dir you have just created make an htdocs dir and a cgi-bin dir 
131 Copy everything in intranet-html/ to the htdocs dir 
132 Copy all the .pl files in scripts/ to the cgi-bin/koha dir 
133 Make sure your virtual host is set up to use these dirs 
134 Restart apache point your browser at koha.your.site and it should work 
135
136
137 9. Configure SECURITY for the Librarians/Intranet Interface
138 If you are using AuthenDBI to do your authentication, you will need to add some users to the users table in the koha database. And edit your apache conf file to use AuthenDBI on the intranet site.
139
140 Otherwise, set up htaccess files in both koha/htdocs/ and koha/cgi-bin You can use general .htaccess based security. It is important though to password protect the librarians interface because from it you can delete and add items, remove borrowers fines and generally case havoc.
141
142
143 10. Set up Issues, Returns and Telnet interface.
144 Since we have already copied the files in scripts/C4 into somewhere in our perl source tree
145
146 We just need to now copy the scripts from scripts/telnet/ into somewhere in the executable path, eg /usr/local/bin
147
148 Then its done: type circ and your away, ready to issue and return.
149
150 In release 1.1.0 on there is now a webbased circulation module, So issues and returns can be done from there, or from circ.
151
152
153 You will find some Koha config examples in KohaHints 
154
155
156 Check out KohaMiniFAQ for general, supplementary information.