Learning Koha 02: Decisions

I’ve been meaning to post this for the last week or so, but Life has gotten in the way. I’ve been onboarding new team members at work, I’ve started uni again, and my father is currently in hospital.

There are some decisions you needed to make before you install Koha.

This is a slightly fraught experience for me. I know a bit about Linux systems, and I have over 20 years experience working in IT. But the last 8 or 9 of those have been as a manager, and management is where tech skills go to die.

So I know enough to understand what the decisions are you need to make, but I won’t claim to fully understand the repercussions.

My advice in these situations is: unless you have a compelling reason not to, go with the default option.

If the documentation recommends one choice over another, use that. If the documentation doesn’t recommend one or the other, use what the developers are using. Linux is a squiggly maze of subtle differences that can make your system crash if things aren’t configured just so. Save yourself the headache. Use what the developers recommend.

Right. On to the decisions.

Decision 1: Physical or virtual server?

Should I set up Koha on an actual computer sitting in my study? Or should I set it up on a cloud hosted virtual machine (which is the technical term for a software program that pretends to be a computer (virtual server) running on an actual computer in someone else’s data centre (cloud hosted) )?

I decided I didn’t want the hassle of having to maintain a physical box. The beauty of virtual machines is that they are essentially no different to an Excel spreadsheet: you can copy them, you can move them, you can make a snapshot before you make changes and revert back if those changes go belly up.

I asked my sysadmin friends on Facebook to recommend a cheap-ish virtual machine hosting company. The main suggestions were Linode and Digital Ocean. I went with a 1 GB Droplet from Digital Ocean, mostly because a friend had a $100 credit code for them.

Bribery. It works.

Which OS: Debian or Ubuntu?

The operating system is the fundamental program that tells a computer how to be a computer: things like how respond to user commands, run programs and manage files. Windows, MacOS and Android are all versions of operating systems.

Koha is programmed to work on the Linux operating system, and Linux comes in many different versions called distributions.

The Koha download page says “Debian is what most people use”.

The Installing with packages page lists instructions for both Debian and Ubuntu.

I’ve used Ubuntu in the past. But that was three years ago, and mostly involved me typing the commands exactly as written in the documentation. My Linux knowledge isn’t deep enough for me to make an informed decision between the two. Nor am I so familiar with one version that I’ll get tripped up by a different one.

Digital Ocean supports both, including documentation for Ubuntu and Debian.

With no compelling reason to choose one over the other I decided to follow the crowd and use Debian.

Which web server: Apache or NGINX?

A web server is a computer program that “broadcasts” a web site to the internet. Koha is a web-based application, meaning it’s a very interactive web site that you access through your browser.

I’m not actually sure why I wrote this down as a decision. I think read somewhere that nGinx was the default webserver in Debian?

But it’s not. Debian 9 comes with Apache installed. The Koha documentation assumes you’re using Apache.

This is a non-decision: use Apache.

Which database management system: MySQL or MariaDB?

A database management system (DBMS) is a program that handles the storage and access to a large amount of data (like patron records and collection catalogues, in the case of Koha.)

The Koha download page says you can use either MySQL or MariaDB. I didn’t really know the difference, so I did some Googling.

They’re both open source DBMSes.

MySQL is the more widely-used one, and seems to be better at fixing bugs, but it’s owned by Oracle, and there are those who think Oracle limit the speed of MySQL so that it doesn’t compete with their commercial offerings. They also restrict some of the more advanced functions to their commercial MySQL Enterprise Edition.

MariaDB was created as a fork of MySQL by the sort of people who don’t trust Oracle. It basically takes the same commands as MySQL, and returns the same results, but the engine under the hood is faster and includes features for really big databases. The downside is that bugs don’t get patched as fast as MySQL and there may not be complete compatibility between the two into the future.

Since my library will only have a few hundred items at most, I’m not too worried about speed. I also assume that compatibility and bugs are really only issues for large databases and high-performance sites.

My rule of thumb here dictates that I should choose MySQL as the most-popular option.

But my heart overruled my head here. I decided to choose the plucky underdogs over the large corporation and installed MariaDB instead.


My decisions were:

  • Server: virtual machine – 1GB Droplet on Digital Ocean
  • OS: Debian
  • Web server: Apace
  • DBMS: MariaDB

Next steps…

Once I’d made all these technical decisions, the next step was to actually set up my server and install all the software.

Which is easy, right? You just follow the instructions and everything works!


I say again: ha.

But that’s a story for another blog.

Other news:

The State Library of Victoria have decided to retire the Centre for Youth Literature “sub-brand” as part of their Vision 2020 project. This upset a lot of people in the Australian YA community. Former program manager Mike Shuttleworth wrote an article arguing that Victoria needs an independent Centre for Youth Literature.

Speaking of YA: Adele Walsh has launched a new weekly YA and children’s lit newsletter.

Shaun Tan has a new exhibition opening this weekend at Beinart Gallery in Brunswick. Some 8,000 people said on Facebook that they were attending the opening night.

I visited the Australian Lesbian and Gay Archives on Friday night as part of a newCardigan’s #cardiParty. We heard some history of the Archive, a talk about the work volunteers do, and (most exciting for me) a talk from the volunteer who is running the project to find a suitable online catalogue/digital repository for the collection. Normally, I’d live-tweet the heck out of a talk like that, but my phone battery was almost flat. I took a few pictures, though.


About davidwitteveen

IT person. Zine Maker. Level 0 Library Nerd. Doctor Who fan.
This entry was posted in library nerding and tagged , . Bookmark the permalink.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s