Koha 介绍与选型指南
开源图书馆管理系统 Koha(Perl ILS)认知篇:项目定位与毛利语命名、26.05/25.11/25.05/24.11 版本线与半年发布节奏、Plack+Apache+MariaDB+Zebra/Elasticsearch 多组件架构、功能域全景、官方 koha-docker 快速开始、适用场景与限制,及与 Evergreen/FOLIO/inlisp 的量化选型对比(来源均标注查询日期 2026-11-01)。
Koha 介绍与选型指南
目标:给出开源图书馆管理系统 Koha(Perl ILS)的完整认知与选型依据——项目定位、版本线与发布节奏、组件架构、功能域全景、最小部署入口,以及与 Evergreen/FOLIO/inlisp 的选型对比。本篇为联网溯源认知篇,全部事实标注来源与查询日期(2026-11-01)。
一、环境信息
本篇为认知篇(介绍与选型),全部事实来自公开渠道联网溯源,不含本地部署实测。关键信息源与查询日期如下:
| 信息源 | 用途 | 查询日期 |
|---|---|---|
| koha-community.org/about/ | 项目定位与简介 | 2026-11-01 |
| download.koha-community.org 目录列表 | 各版本源码包与发布日期 | 2026-11-01 |
| debian.koha-community.org/koha/dists/ | APT 仓库版本线(stable/oldstable 等) | 2026-11-01 |
| GitLab koha-community/docker/koha-docker README | 官方容器镜像与多服务编排说明 | 2026-11-01 |
| img.shields.io/github/stars/Koha-community/Koha | GitHub 星数徽章 | 2026-11-01 |
| evergreen-ils.org、folio.org、inlisp.org | 同类项目定位 | 2026-11-01 |
目标读者环境假设:一台可运行 Docker Compose 的 Linux 服务器(如 Ubuntu 22.04/24.04),为图书馆或资料室自建业务系统做选型评估。
二、软件概述
Koha 是 Koha Community 开发的开源图书馆管理系统(ILS,Integrated Library System),官方站点自述为「the first free software library automation package」——第一个自由软件的图书馆自动化包,在全球范围内被各类图书馆使用,由不断增长的用户社区共同主导功能演进(来源:koha-community.org/about/,查询日期 2026-11-01)。项目名「koha」在毛利语中意为「礼物」,源于其诞生地新西兰。
技术上 Koha 以 Perl 为主体实现业务逻辑,运行在 Linux + Apache + MariaDB/MySQL 的经典栈上,检索层支持 Zebra 与 Elasticsearch 两种引擎,采用 GPLv3 开源许可(来源:Koha-community/Koha 仓库 LICENSE 与官方文档,查询日期 2026-11-01)。
版本节奏为每年两版(5 月、11 月,版本号即 年.月)。截至查询日期 2026-11-01:
| 版本线 | 角色 | 最新补丁 | 证据 |
|---|---|---|---|
| 26.05 | stable(当前稳定) | 26.05.05(2026-10-29 发布) | download.koha-community.org 目录列表;koha-latest.tar.gz Last-Modified 2026-10-29 |
| 25.11 | oldstable | 25.11.10 | 同上目录列表 |
| 25.05 | oldoldstable | 25.05.16 | 同上目录列表 |
| 24.11 | 仍在维护 | 24.11.21 | 同上目录列表 |
APT 仓库 debian.koha-community.org/koha/dists/ 同步维护 stable→26.05、oldstable→25.11、oldoldstable→25.05 及 24.11 组件(查询日期 2026-11-01)。官方 Docker 镜像 koha/koha 为每个维护版本发布多架构(amd64/arm64)镜像,并提供 stable 滚动标签始终指向当前稳定版(来源:koha-docker README,查询日期 2026-11-01)。GitHub 星数 597(shields.io 徽章,查询日期 2026-11-01)。
三、核心架构
Koha 采用「单实例多租户」架构:一台服务器可以创建多个相互隔离的图书馆实例(instance),每个实例拥有独立的数据库、配置目录(/etc/koha/sites/<实例>/koha-conf.xml)、索引目录与日志目录,通过 Apache 虚拟主机区分 OPAC(读者接口)与 Intranet(馆员工作界面)两个站点。
主要组件分工(来源:官方 koha-docker 编排与 Debian 包结构说明,查询日期 2026-11-01):
| 组件 | 角色 | 说明 |
|---|---|---|
| Plack/Starman | 应用服务器 | Koha 业务逻辑(Perl/Mojolicious::Lite 混合)常驻进程,OPAC 与 Intranet 的后端 |
| Apache 2.4 | 反向代理/静态站点 | 按虚拟主机把 8080/8081 端口流量转发到 Plack,mpm-itk 按实例用户降权 |
| MariaDB/MySQL | 主数据库 | 书目、借阅、读者、流通规则等全部业务数据 |
| Zebra 或 Elasticsearch | 检索引擎 | 书目/权威记录索引,二选一;Elasticsearch 为官方容器栈默认 |
| Memcached | 缓存 | 系统参数、会话等热数据缓存 |
| background jobs worker | 异步任务 | default 与 long_tasks 两个队列,处理批量邮件、编目修改等 |
| cron | 计划任务 | 到期通知、罚款、数据清理等 cronjobs/*.pl 脚本 |
| SIP2 / Z39.50/SRU / NCIP / OAI-PMH / REST API | 对外协议 | 自助借还机、馆际互查、联合编目、元数据收割、程序化接口 |
官方容器镜像基于 Debian bookworm,通过 koha-core 元包安装(与裸机安装的 koha-common 同源的 koha-* 管理命令族,但剔除 RabbitMQ、memcached、Apache、Zebra 等可独立编排的依赖,来源:koha-docker README,查询日期 2026-11-01)。
四、功能特性
Koha 覆盖图书馆业务全流程,核心功能域(来源:koha-community.org 功能页与官方维基,查询日期 2026-11-01):
- 采编编目:MARC21 与 UNIMARC 双标准框架,权威记录(规范文档)控制,Z39.50/SRU 套录,批量导入导出;
- 流通管理:借还、续借、预借(hold)、过期与罚款规则引擎、自助借还(SIP2)对接;
- 读者服务:OPAC 检索(分面、书脊、封面、列表、征购建议)、读者账户与隐私控制;
- 连续出版物:期刊预测与签收(serials);
- 采访与资产:订购、到馆、供应商、预算、发票核销;
- 统计报表:内置 SQL 报表工具(reports)与 Circulation/Statistics 模块;
- 多馆多分支:单实例内多分馆(branch)、跨馆预借与归还路由;
- 国际化:多语言界面(
koha-translate维护语言包),中文等语言由社区翻译; - 开放接口:REST API(OpenAPI 规范)、OAI-PMH 收割、NCIP(馆际协议);
- 插件体系:plugin hook 机制扩展界面与流程。
五、快速开始(最小可用示例)
官方推荐的容器化最小路径是使用 koha-docker 仓库自带的多服务 Compose 栈(来源:koha-docker README,查询日期 2026-11-01):
git clone https://gitlab.com/koha-community/docker/koha-docker.git --depth 1 --branch main
cd koha-docker
docker compose --profile es up -d
一次性 init 服务会自动创建实例(数据库、koha-create、语言包),随后访问 Intranet 站点完成 web 安装器与 onboarding(建馆、建超管账号)即可使用。OPAC 与 Intranet 默认分别监听 8080/8081,主机名 kohadev.myDNSname.org / kohadev-intra.myDNSname.org。
本专栏的《Koha 26.05 Docker Compose 部署指南》对该官方栈做了逐服务落地实测(含端口、子网、持久化与安装器全程回显),生产落地请直接参照该篇。
六、适用场景与限制
适用:
- 公共图书馆、学校图书馆、机构资料室等需要完整 ILS 业务闭环(采编-流通-检索-统计)的场景;
- 多分馆/联盟场景:单实例多分支 + 跨馆预借,或一机多实例隔离多馆;
- 需要 MARC 标准编目、Z39.50 馆际互查、SIP2 自助借还等图书馆行业协议的场景;
- 有专职或兼职 Linux 运维、接受 Perl/MariaDB 技术栈的自建(self-hosted)用户。
限制与成本:
- 组件多(Plack、Apache、检索引擎、缓存、worker、cron),最小可用栈约 9 个服务进程,资源与运维复杂度显著高于单容器应用;
- 业务数据模型重(数百张表、数百项系统参数),上手与培训成本高;
- 检索引擎二选一:Elasticsearch 需要独立 JVM 资源(官方容器栈默认),Zebra 轻量但运维工具更老;
- 升级跟随半年版本线,需按官方 schema 升级流程(
koha-upgrade-schema)逐版本推进。
七、同类选型对比
开源图情领域常见方案对比(各项目定位来源:各自官网,查询日期 2026-11-01;Koha 量化数据来源见上文各表):
| 维度 | Koha | Evergreen | FOLIO | inlisp |
|---|---|---|---|---|
| 定位 | 通用 ILS,「第一个自由软件图书馆自动化包」 | 联盟型开源 ILS(公共图书馆联盟为主) | 新一代图书馆服务平台(LSP,微服务化) | 轻量开源 ILS(中文社区较新) |
| 主技术栈 | Perl + MariaDB/MySQL + Apache | Perl + C + JavaScript + PostgreSQL | Java(Spring)微服务 + PostgreSQL | Python(FastAPI)+ Vue |
| 检索 | Zebra 或 Elasticsearch | 自研检索(PostgreSQL 全文) | Elasticsearch | Elasticsearch |
| 版本节奏 | 每年 2 版(26.05/25.11…),4 条维护线 | 每年约 2 版 | 按模块独立发版 | 不定期 |
| 社区热度(可查证) | GitHub 597 星(shields.io,2026-11-01);商业支持方全球数百家 | 北美公共图书馆联盟为主 | 学术图书馆联盟(Big Ten 等)主导 | 新兴项目,规模较小 |
| 协议支持 | MARC21/UNIMARC、SIP2、Z39.50/SRU、NCIP、OAI-PMH、REST | MARC21、SIP2、Z39.50 | MARC、REST 为主 | MARC21、REST |
| 部署形态 | Debian 包 / 官方 Docker Compose 多服务栈 | 包/容器,联盟托管为主 | k8s/微服务,公有云 SaaS 可选 | Docker Compose |
选型建议:
- 需要完整 ILS 且社区/文档/商业支持最成熟 → Koha(全球部署量最大的开源 ILS,官方容器栈成熟);
- 北美公共图书馆联盟、重视开源联盟治理 → Evergreen;
- 大型学术图书馆、计划上微服务/云原生 LSP → FOLIO(实施复杂度最高);
- 中文小馆、只求轻量借还+编目、接受功能子集 → inlisp;
- 注意区分:Koha/Evergreen/FOLIO/inlisp 是「图书馆管理系统(ILS)」,与机构知识库(DSpace 等)职责不同,后者参见《DSpace 介绍与选型指南》。
参考链接
- Koha 官网:https://koha-community.org/(含 /about/,查询日期 2026-11-01)
- 源码包发布目录:https://download.koha-community.org/(查询日期 2026-11-01)
- Debian APT 仓库:http://debian.koha-community.org/koha/dists/(查询日期 2026-11-01)
- 官方容器项目 koha-docker:https://gitlab.com/koha-community/docker/koha-docker(查询日期 2026-11-01)
- GitHub 仓库:https://github.com/Koha-community/Koha(星数经 shields.io 取证,查询日期 2026-11-01)
- Koha 用户手册:https://koha-community.org/manual/
- Evergreen:https://evergreen-ils.org/about/;FOLIO:https://folio.org/;inlisp:https://www.inlisp.org/(均查询于 2026-11-01)