In this section we'll learn about:
What components we will need to install
What installation tools to use and when
The implications of choosing one Linux distribution over another
Where to get help when you run into installation problems
First, let us take a quick look at Koha's architecture. Koha runs on the Linux, Apache2, MySQL, Perl (LAMP) platform:
Linux: The operating system
Apache2: The web server
MySQL: The database server
Perl: Koha is written in the Perl programming language
We will install various packages related to:
The Koha architecture above—Linux, Apache, MySQL, and Perl
The Koha application itself
Build and compiler programs that help with the installation
Various Perl and non Perl packages that Koha uses, along with their own prerequisites
Let us take a look at the various tools we will use to install Koha's software stack. These tools are:
Package manager: To install Linux packages
Make utility: To install Perl modules
CPAN shell: To install Perl modules that are not available as Linux packages
Git: To download the Koha application
A package manager makes installation easy by automatically installing prerequisites, tracking versions and updates, and verifying checksums. Your choice of the package manager will usually depend on the Linux distribution you use. Here are some popular package managers:
APT: On Debian or Ubuntu
YaST: On openSuSE
YUM: On CentOS
Perl programs such as Koha or the various Perl modules it uses can be installed using a series of commands:
perl Makefile.PL
: This command checks for prerequisites and creates a configuration file needed by makemake
: This compiles the software and creates executablesmake
test
: It runs test cases to ensure proper installation, flags errors, and warnings in case of problemsmake
Install
: This installs the executable files into proper directories in the server
CPAN (Comprehensive Perl Archive Network)—is an archive of Perl modules.
The CPAN shell is a tool that automates the download and installation of Perl modules from the archive including the execution of the perl Makefile.PL
, make
, make
test
, and make
install commands given above.
Learn more about CPAN here: http://www.cpan.org/.
Git is Koha's version control system. Git simplifies and automates the download of software from Koha's online repository. We use Git not only during installation, but also while installing software updates. If you wish to make software changes of your own, Git will help merge those changes with new versions of Koha.
Learn more about Git here: http://git-scm.com/.
CPAN is the largest archive of Perl modules. Perl modules are always available on CPAN. Many, but not all of Koha's Perl prerequisites are available as packages in a distribution's sources.
The recommended approach in such a scenario is to use Linux packages where available. If you don't find packages for a certain module, then use CPAN to install it.
The Linux package manager can manage all prerequisites of a module. CPAN only knows about Perl prerequisites, and cannot install any non-Perl prerequisites. For this reason, you will likely have smoother installations with the package manager in comparison to CPAN.
It appears that Debian is the most popular when it comes to Koha. Some of the installation tasks are simpler in this distribution. Also you might get better community support from a large pool of Debian Koha users.
However, if you are skilled on another distribution, it might make sense to use that. Installation on Ubuntu is very similar to that on Debian. There are many Koha users on Fedora, CentOS, or openSuSE. Installation documents, live CDs, and other sorts of help are becoming available for these distributions as well.
In any case, once you are past the installation stage, it does not really matter distribution you are on.
If you face trouble with the installation, Koha's community resources can be of excellent help:
Mailing lists: Koha's mailing lists are very active and you are likely to get timely help. Join the mailing lists via this page: http://koha-community.org/support/koha-mailing-lists/.
Mailing lists archives: Many of the discussions are indexed by search engines. If you run into trouble, it is likely someone else had a similar problem before you, so just search for solutions using your favourite search engine.
IRC chat: Many of Koha's developers are available on this live chat forum. Join here: http://koha-community.org/support/.
Wiki: Koha's wiki might have useful material - http://wiki.koha-community.org/.
Installation documents: Up-to-date installation documents are available in Koha's application folder.