Installation Alternative Options Installing without Root To install Koha without access to superuser/root/sysadmin level privileges, ask your system administrator to arrange for a user called opac and then set the user in the OPAC virtual host. This will permit all of the cgi scripts to be executed as 'user' opac. The Virtualhost then may suexec to the user installing Koha, and koha.conf can then be written by that user, avoiding the need for the chown command, which is restricted to a superuser. It is then extremely important to set PERL5LIB environment variable to point at the libraries you have installed:
SetEnv PERL5LIB /some/path/to/modules
Installation without Virtual Hosts Koha is designed to be installed as two separate services - each having a unique web address and folder structure (two virtual web hosts). Both services access a single SQL database which may be hosted on the same server or on a remote server. Following the steps below reconfigure koha (the intranet and opac) to run on a single, non-virual server.
NB: In the examples below, pathto = /usr/local/www
Create new /etc/koha.conf database=kohadb
hostname=localhost user=kohadbuser pass=xxxxxxxx includes=/pathto/html/koha/includes
Create a general purpose web site:
/pathto/html
/pathto/cgi-bin
Create koha web installations folders:
/pathto/html/koha/includes
/pathto/html/koha/oadmin
/pathto/html/koha/opac
Create koha cgi-bin folders:
/pathto/cgi-bin/opac
/pathto/cgi-bin/koha
/pathto/cgi-bin/koha/C4
Copy koha distro opac-html\* into /pathto/koha/opac/*
Copy koha distro intranet-html\* into /pathto/koha/oadmin/*
koha distro koha\* into /pathto/cgi-bin/oadmin (including C4 directory and its contents).
Copy member.pl + seach.pl into /pathto/cgi-bin/opac
Move /pathto/koha/opac/images/* into /pathto/images/opac/*
Move /pathto/koha/oadmin/images/* into /pathto/images/oadmin/*
Rename opac *.inc files so that they all have opac-* prefix ie
rename “join-top.inc” to “opac-join-top.inc”
and rename “members-top.inc” to “opac-members-top.inc”
Move ALL includes from koha distro into /pathto/koha/includes [(It is preferable that any new includes for opac should be named using the “opac-” prefix convention (or similar)].
Example excerpts from apache httpd.conf:
ServerName library.example.org ServerPath /usr/local/www DocumentRoot /usr/local/www/html # Alias /images/ "/usr/local/www/html/images/" SetEnv PERL5LIB "/usr/local/www/cgi-bin/koha"
<Directory /var/www/html > # This is the root of general purpose website # NO server side includes! AllowOverride None Options -Includes -FollowSymlinks -Indexes Order Deny,Allow Allow From All </Directory>
# ======== Use Server Side Includes Here ======= <Directory /usr/local/www/html/koha/opac> AllowOverride None Options +Includes -FollowSymlinks -Indexes AddHandler server-parsed .html </Directory> # <Directory "/usr/local/www/html/koha/oadmin"> # AllowOverride None # # First, you must enable +Includes or +IncludesNoExec # in "Options"... Options +Includes -FollowSymlinks -Indexes # # Allow server-parsed content (SSI) for files AddHandler server-parsed .html # # Optional simple server based authentication.... # Authtype Basic # AuthName Koha-Online-Admin # AuthUserFile /usr/local/www/ok_users/koha-users # AuthGroupFile /usr/local/www/ok_groups/koha-groups # <Limit GET POST PUT DELETE> # require user koha-admin group lib-admins # </Limit> </Directory> </VirtualHost>
Note: You will also need to change the include files to reflect the new “root” directory – if you don't do this, everything will work until you click on a section button at the top of a page.