You are currently viewing Koha Installation Guide on AWS

Koha Installation Guide on AWS

Koha is the first fully-featured, scalable free software library automation package. The library management system is sponsored by distinct libraries of varying types and sizes, volunteers, and support companies worldwide.

Koha is the first free software library automation package.

Koha is an open-source integrated library system (ILS), used world-wide by public, school, and special libraries.

Koha has most of the features that would be expected in an ILS, including:

Various Web 2.0 facilities like tagging, comment, social sharing, and RSS feeds

  • Union catalog facility
  • Customizable search
  • Online circulation
  • Bar code printing 


 Installation Guide

We have used the following AMI on AWS –

Debian 10 (HVM), SSD Volume Type – ami-059a9b1093495222c (64-bit x86) / ami-03b05547d5c0bbfe4 (64-bit Arm)


Step 1: Access your Server

ssh root@{your server’s ip address here}


Step 2: Add the Koha Repositories to Ubuntu Sources.List

echo ‘deb 21.05 main’ | sudo tee /etc/apt/sources.list.d/koha.list

wget -q -O- | sudo apt-key add –

These commands do the following:

  1. Add the Koha Repository to the Ubuntu sources
  2. Add the Koha Key to Ubuntu
  3. Update the package list

sudo apt-get update

sudo apt-get upgrade

sudo apt-get clean

sudo apt-get install gnupg2


Step 3: Install Koha

Run the following command to install Koha:

$ sudo apt-get install koha-common

This command will install Koha along with any dependencies it requires. It will prompt you for more information about mail servers, configure the first prompt with the Fully Qualified Domain name (or localhost if you are using an IP address to access the server).


Step 4: Run following command to enable the Apache rewrite and CGI module:

$ sudo a2enmod rewrite

$ sudo a2enmod cgi

$ sudo service apache2 restart


Step 5: Allow port number in ports.conf file of Apache

Vim /etc/apache2/ports.conf

Listen 8080

And then restart the Apache process.


Step 4a: Configure Koha for Web Access with an IP address

This step shows you how to configure Koha with access though an IP address, if you are using a Domain Name, skip to Step 4b. Access the Koha Config file by typing the following command:

sudo nano /etc/koha/koha-sites.conf

You should see the following. If not, add this to the file:

DOMAIN=“”  # Change this to be your domain. Any instance will be a subdomain of this string.

INTRAPORT=“8080”  # TCP listening port for the administration interface

INTRAPREFIX=””  # For administration interface URL: Prefix to be added to the instance name.

INTRASUFFIX=”-intra”  # For administration interface URL: Suffix to be added to the instance name.

DEFAULTSQL=””  # a value is generally not needed.

OPACPORT=”80″  # TCP listening port for the users’ interface (if you skip this, the apache default of 80 will be used)

OPACPREFIX=””  # For users’ interface URL: Prefix to be added to the instance name.

OPACSUFFIX=””  # For users’ interface URL: Suffix to be added to the instance name.

ZEBRA_MARC_FORMAT=”marc21″  # Specifies format of MARC records to be indexed by Zebra. Possible values are ‘marc21’, ‘normarc’ and ‘unimarc’

ZEBRA_LANGUAGE=”en”  # Primary language for Zebra indexing. Possible values are ‘en’, ‘fr’ and ‘nb’

This config file says the Staff Interface can be accessed at [YOUR IP ADDRESS]:8080 and the OPAC can be accessed at [YOUR IP ADDRESS]:80.


Step 6: Setup the Database and Apache


sudo dpkg -i mysql-apt-config*

apt-get update

apt-get install mysql-server

To set the root password for mysql, enter the detail in this file:

touch /root/.my.cnf


Step 7: Time to create your Koha instance! Issue the following commands at the command line:

koha-create –create-db [YOUR INSTANCE NAME HERE]

E.g. koha-create –create-db fastcurve

After creating the db, run following command –

a2enmod deflate

a2ensite fastcurve

sudo service apache2 restart


Step 8: Configure Koha from the Web

First, get your password:

xmlstarlet sel -t -v ‘yazgfs/config/pass’ /etc/koha/sites/fastcurve/koha-conf.xml

Note: The Username is koha_[INSTANCE NAME]. Now in your web browser’s address bar, enter:

E.g. username is – koha_fastcurve


Step 9: Access the web interface

Open a web browser, and point it to your staff interface, by going to http://Public_IP, or whatever you manually configured.


Note: If you’re not able to access the web page on port 80 and it’s giving you the default Apache page, then you’ve to remove the default. conf of apache2 and then reload the Apache service.

Admin page can be accessed on port 8080.


When you see the login for the Koha installer, the username and password are in the koha-conf.xml file for the instance.


Contact us:

Contact for leveraging AWS cloud migration, infrastructure, analytics, machine learning, or Internet of Things (IoT) to build and orchestrate business solutions. Connect at:


Quick Response Channel:




Leave a Reply