
Babar Junaid
Co-founder and Chief Technology Officer, Koha Solutions
Babar Junaid is the co-founder and Chief Technology Officer of Koha Solutions. He leads the engineering behind Koha Cloud, including its AI chatbot and AI search. His articles come from that work: installing, running and troubleshooting library systems, and answering the questions libraries bring when something stops working.
- Koha installation and administration
- Library system engineering
- Library data migration
- AI search for libraries
Knowledge base articles
- HTTPS for Koha's OPAC and staff interface with Let's EncryptBoth Koha sites need a certificate, not just the public one. Here is the whole procedure for an existing instance, and the two system preferences that have to be updated or Koha keeps emailing people http:// links.
- Koha returns 502 or 503 after enabling PlackApache is proxying to Plack and cannot reach it. Nearly always two missing Apache modules — koha-plack tells you which, in a warning that scrolls past.
- MySQL or MariaDB for Koha, and which versionInstall MariaDB from your distribution's own repository. Both work — Koha depends on a virtual package that either satisfies — but one of them is what everybody else is running.
- Koha packages or a source install: which one you wantAlmost every library wants the packages. Here is exactly what a source install gives up — the koha-* commands, the upgrade path, and most published answers — and the two cases where it is still right.
- Which Ubuntu or Debian version to install Koha onThe newest Ubuntu LTS or current Debian stable, and nothing else — here is the one command that confirms it before you build the server, and what each other choice actually costs.
- apt cannot install koha-commonUnmet dependencies, NO_PUBKEY, or apt claiming the package does not exist. Four causes, in the order they actually occur, with the one command that tells you which of them you have.
- Apache will not start: Invalid command 'RewriteEngine'Apache refuses to start after enabling a Koha site because mod_rewrite is not enabled. One command fixes it — and the same class of error covers the other three modules Koha needs.
- The Koha web installer returns a 500 error or times outThe installer dies partway through and the browser shows a 500 or a gateway timeout. Read the instance log to find out which step failed, then restart the install cleanly rather than retrying on a half-built database.
- Koha internal server error: finding the line that caused itA 500 page is Koha telling you nothing on purpose. The real message is in that instance's error log — here is which file to read, and the two causes that produce most of them.
- Koha cannot locate the configuration file koha-conf.xmlThe error means the process has no KOHA_CONF set, not that the file is gone. Run the command through koha-shell, and here is how to confirm the file really is where Koha expects it.
- OPACUserCSS and OPACUserJS: what belongs in eachTwo system preferences hold your OPAC’s custom CSS and JavaScript. Here is what goes in each, what does not belong in either, and how to keep it upgrade-proof.
- Finding your Koha instance’s admin password (koha-passwd)The credentials the Koha web installer asks for are generated at install time and printed by koha-passwd. Here is how to find them, and how to reset a staff login.
- Can you install Koha on Windows? (WSL2, VMs, and when not to)There is no Windows build of Koha. You can run it on a Windows machine through WSL2 or a virtual machine — which is fine for evaluation and wrong for a live library.
- Rebuilding the Zebra index when Koha search results go staleA record you can open by its number but cannot find by searching means the index is behind, not that the record is missing. Here is how to rebuild it properly.
- Adding a Z39.50 target to Koha for copy catalogingAdd a remote catalog once and your catalogers stop typing records by hand. Here are the settings, a target that definitely works, and why a search returns nothing.
- Koha cron jobs: which ones matter, and what breaks silently without eachA package install schedules about fifteen jobs. This is what each one does, when it runs, and the exact symptom a library sees when it stops.
- Changing the Koha OPAC header, footer and navigationThe header, footer and side navigation are content, not code. They are edited in Tools → HTML customizations — one region per named location.
- Koha, Apache and port 8080: staff and OPAC on two hostnamesKoha serves two websites from one install. Here is how the OPAC and the staff interface are separated, why staff lands on port 8080, and how to move it off.
- Backing up Koha with koha-dump — and restoring itA package install already backs itself up nightly, keeps two days, and writes to a disk that dies with the server. Here is how to check it, and how to restore.
- Using a Gmail account as Koha’s SMTP serverGmail works as Koha’s mail server, but only with an app password and two-step verification on. Here are the exact settings, and the limits worth knowing before you rely on it.
- How to configure SMTP in Koha so notices actually sendKoha queues every notice and a cron job delivers them. Configure the SMTP server, turn email on for the instance, and check the queue — in that order.
Blog posts
- Ask Your Catalog a Question, Instead of Writing a ReportTraditional Koha reporting means a wizard for the common case and SQL for everything else. Here is what changes when "most borrowed this term" is a sentence instead of a query.
- How AI Cataloging Cuts Copy-Cataloging TimeA real before-and-after: cataloging a title by hand versus letting an AI assistant draft it from an ISBN first. What it saves, what it does not, and why a librarian still checks every field.
- AI in Library Management: What It Actually DoesMost "AI library software" pages describe a demo, not a product. Here is what an AI assistant genuinely does in a live library catalog today — and what is still just a roadmap slide, everywhere, including ours.
- Zebra or Elasticsearch: Choosing Koha’s Search EngineElasticsearch is better at the things Zebra is worst at, and it is a second production service to run. Which one a library should choose, and the honest reasons to stay where you are.
- How Much Server Does Koha Actually Need?Koha will run on very little and fall over on a machine that looked adequate on paper. What actually consumes memory, why records are the smallest thing on the disk, and three starting points you can size against.
- Can You Run Library Circulation From a Phone?There is no official Koha mobile app. Here is what actually works on a phone or tablet today, and how a camera replaces a USB barcode scanner at the desk.
- How to Upgrade Koha Without Breaking ItKoha upgrades are routine if you have a backup you have restored and a staging copy to try it on. Here is the safe sequence, and what usually breaks.
- Koha Cron Jobs: The Ones That Actually MatterKoha’s web interface shows you the library; cron jobs are what make it behave over time. Which are essential, and what silently breaks without each.
- Koha Backup and Restore: A Practical GuideAn untested backup is not a backup. What to back up in Koha, how often, where to keep it, and how to actually restore — including the drill nobody runs.
- Koha Overdue Notices Not Sending? Here’s How to Fix ItNotices fail at one of four points, in a predictable order. Work through them in sequence to find exactly where your overdue emails are stopping.
- Koha RFID Integration: Tags, Readers, Gates and CostsHow RFID actually reaches Koha (it is not direct), what components you need, what tagging a collection really takes, and whether you need RFID at all.
- Koha SIP2 Integration: Connecting Self-Check and Third-Party SystemsConfigure SIP2 in Koha to connect self-check machines, kiosks and sorters — server setup, per-device accounts, testing, security and the common failures.
- Koha Customization: How Far Can You Actually Go?Customizing Koha is a ladder, and every rung up costs more at upgrade time. The five levels, what each can do, and what each will cost you later.
- Koha Data Migration: How to Move From Your Old ILSWhat moves cleanly, what needs mapping, what gets rebuilt — a practical Koha migration guide with a go-live checklist and the failures to plan for.
- Koha Cloud Hosting: Benefits, Risks and How to Set It UpRunning Koha in the cloud — the two very different things people mean by it, the real benefits, and the risks nobody mentions until you hit them.
- Koha Hosting Cost: Monthly and Annual Pricing ExplainedWhat Koha hosting actually costs per month and per year by library size — self-managed versus managed, and the recurring costs most quotes leave out.
- Koha Hosting Guide: On-Premise, VPS, or Managed?The three ways to host Koha compared — server sizing, backups, security and upgrade responsibility for each, plus the questions to ask before you sign.
- Koha Installation Cost: What It Really Costs in 2026Koha software is free; installing it is not. A breakdown of real installation costs — server, setup, migration, training — with three worked examples.
- Koha vs Other ILS: An Honest 2026 ComparisonHow Koha compares to FOLIO, Evergreen, Alma and Sierra on cost, features and lock-in — including an honest look at where Koha is the wrong choice.
On the Koha Cloud blog
- No Desktop, No Scanner: Full Mobile Circulation Is HereThe library world is moving fast — checkouts and returns no longer need a desktop or a dedicated barcode scanner. Do it all from your phone.
- Introducing Urdu Voice SearchSearch your library's catalog by speaking in Urdu — no typing required.
- QR Codes in the Library: Reach Your Catalog From Any PhoneThree ways Koha Cloud uses QR codes to take a reader from a poster, a screen or a label straight to the catalog on their phone.

