BookStack v26.09.1 介绍与选型指南
BookStack v26.09.1(2026-09-29 发布)官方渠道核实版介绍与选型:定位、架构、功能、运行要求逐项溯源,并与 Wiki.js/MediaWiki/DokuWiki/Docmost 从社区活跃度、版本节奏、兼容矩阵三维度量化对比(查询日期 2026-10-18)。
BookStack v26.09.1 介绍与选型指南
目标:面向准备搭建团队知识库/文档站的工程师,介绍 BookStack v26.09.1 的定位、架构、功能与运行要求,并给出与 Wiki.js、MediaWiki、DokuWiki、Docmost 的量化选型对比。本文所有版本与社区数据均从官方渠道联网核实(查询日期 2026-10-18);本地部署实操见《BookStack Docker Compose 部署指南》。
一、环境信息
本篇为认知类文档(软件介绍与选型),依据官方公开资料联网溯源编写,不做本地安装实测(部署实测属部署指南职责);所有关键论断均标注来源与查询日期,版本结论可按 1.1 节的方法随时复核。
- 信息基准(查询日期):2026-10-18
- 版本依据:GitHub Releases 最新稳定版 v26.09.1(发布于 2026-09-29,非预发布、非草稿)
- 项目主页:https://www.bookstackapp.com
- 代码仓库:https://github.com/BookStackApp/BookStack(GitHub 为公开同步仓库,主开发仓库在 Codeberg:https://codeberg.org/bookstack/bookstack)
- 官方文档站:https://www.bookstackapp.com/docs/
- 官方安装文档:https://www.bookstackapp.com/docs/admin/installation/
- 许可证:MIT(来源:GitHub 仓库 License 元数据,查询日期 2026-10-18)
- 核心运行要求(官方 Requirements):PHP ≥ 8.2;MySQL ≥ 8.0 或 MariaDB ≥ 10.6
1.1 版本核实记录(2026-10-18)
通过 GitHub API 查询 BookStackApp/BookStack 仓库的最新稳定 Release,命令与实测回显如下:
curl -s https://api.github.com/repos/BookStackApp/BookStack/releases/latest \
| grep -E '"tag_name"|"name"|"published_at"|"prerelease"|"draft"'
"tag_name": "v26.09.1",
"name": "BookStack v26.09.1",
"draft": false,
"prerelease": false,
"published_at": "2026-09-29T14:24:29Z",
关键结论:draft: false 且 prerelease: false,说明 v26.09.1 是当前(查询日 2026-10-18)最新正式稳定版。该版发布说明包含一项由社区负任披露的安全修复——ZIP 导入功能在解压前增加"实际解压后大小校验",防止压缩炸弹类风险;另含审计日志时区、翻译更新与多项缺陷修复(来源:Release 说明原文,查询日期 2026-10-18)。
💡 说明:BookStack 自 v21.08 起采用「年份.月份」版本号方案(如 v26.09 即 2026 年 9 月大版本),紧急修复以第三段补丁号追加(如 v26.09.1)。这与 Semantic Versioning(主.次.修订)不同:从版本号本身即可读出发布时间,便于判断新旧。
1.2 官方来源清单
本文引用的全部官方资料入口如下,便于读者溯源:
| 资料 | 地址 | 用途 |
|---|---|---|
| GitHub Releases | https://github.com/BookStackApp/BookStack/releases | 版本核实 |
| 官方安装文档 | https://www.bookstackapp.com/docs/admin/installation/ | 运行要求、安装方式 |
| 官方文档站 | https://www.bookstackapp.com/docs/ | 功能、配置、认证方案 |
| 官方更新文档 | https://www.bookstackapp.com/docs/admin/updates/ | 升级方式与版本节奏 |
| 官方演示站 | https://demo.bookstackapp.com | 功能试用 |
| Codeberg 主仓库 | https://codeberg.org/bookstack/bookstack | 源码与 Issue 跟踪 |
上表覆盖了版本、要求、功能、升级四个信息面,均为一手官方来源;下文引用时不再逐一重复给出。
二、软件概述
BookStack 是一个开源(MIT 许可)的「结构化知识库/文档平台」,使用 PHP(基于 Laravel 框架)编写,MySQL/MariaDB 存储。它以"书(Book)→ 章节(Chapter)→ 页面(Page)"的层级组织内容,类似一本本真实的书,因此得名 BookStack。项目由 Dan Brown 于 2015 年发起并持续维护至今(官网版权声明为 "Copyright 2015-2026 Dan Brown",查询日期 2026-10-18),是目前自托管知识库领域最成熟、文档最完善的选项之一。
2.1 项目定位与特点
- 面向结构化文档而非自由 Wiki:与 MediaWiki、DokuWiki 的"自由页面 + 链接"模式不同,BookStack 强制"书架 → 书 → 章节 → 页面"的树形组织,天然适合团队手册、运维文档、产品说明这类结构明确的内容。
- 开箱即用的管理界面:图形化完成用户、角色、权限、上传、邮件等全部管理动作,无需手工编辑配置文件。
- 企业级认证集成:官方内置 OpenID Connect、SAML 2.0、LDAP 三种企业认证方案与 GitHub/Google/GitLab 等第三方社交登录。
- 完整 REST API:内容与用户的增删改查均提供 REST API,便于与自动化流水线集成。
- 文档与社区成熟:官方文档站覆盖安装、安全、认证、备份、升级全流程,并有官方视频教程与 Reddit 社区。
2.2 维护模式与社区治理
- 主开发在 Codeberg(codeberg.org/bookstack/bookstack),GitHub 与 source.bookstackapp.com 均为同步仓库;Issue 与 PR 主要在 Codeberg 处理(本文 1.1 节 Release 说明中引用的 PR 编号即 Codeberg 链接)。
- 官方提供付费支持计划(Support Plans),同时项目完全免费开源,无核心功能商业锁定。
- 版本节奏稳定:以 2025-12 至 2026-09 期间为例,大版本按 v25.12(2025-12-24)→ v26.03(2026-03-15)→ v26.05(2026-05-28)→ v26.09(2026-09-24)推进,约每年 3~4 个大版本,期间穿插补丁(数据来源:GitHub Releases 列表,查询日期 2026-10-18)。
三、核心架构
3.1 技术栈与运行形态
BookStack 是典型的 PHP 单体 Web 应用,架构简单清晰:
| 层次 | 组件 | 说明 |
|---|---|---|
| 应用层 | PHP ≥ 8.2(Laravel 框架) | 业务逻辑、模板渲染、API |
| 必需扩展 | curl、dom、gd、iconv、mbstring、mysqlnd、openssl、pdo、pdo_mysql、tokenizer、xml、zip | 官方 Requirements 明确列出 |
| 数据层 | MySQL ≥ 8.0 或 MariaDB ≥ 10.6 | 唯一数据库,应用自行管理表结构(migration) |
| Web 层 | Apache(含 mod_php)或 Nginx(PHP-FPM) | 指向应用 public/ 目录 |
| 依赖管理 | Composer ≥ 2.2.0、Git | 安装与更新用 |
| 认证 | standard / LDAP / SAML2 / OIDC | 由 .env 中 AUTH_METHOD 切换 |
表格解读:依赖面窄(一个 PHP + 一个 MySQL/MariaDB)是 BookStack 相对 Wiki.js(Node.js)、Docmost(Node.js + PostgreSQL + Redis 三组件)的显著优势,意味着备份与迁移的对象更少、排障链路更短。
3.2 内容模型
BookStack 的内容组织为四级树形结构,这是它与多数 Wiki 的核心差异:
Shelf(书架,可选)
└── Book(书)
└── Chapter(章节,可选)
└── Page(页面,最小内容单元)
- Page 是最小内容单元,支持富文本(WYSIWYG)与 Markdown 两种编辑器,内置修订历史、草稿自动保存。
- Book/Chapter 是内容组织层级:Book 相当于"一本手册",Chapter 用于把相关 Page 分组(如"安装篇/配置篇")。
- Shelf 用于把多本"书"再聚合成业务域,例如"运维手册""研发规范"两个书架。
- 全部内容支持
#tags自定义标签、全文搜索、评论、导出(PDF/HTML/纯文本/Markdown)与跨书复制引用。
3.3 权限与安全模型
- 权限体系三层递进:角色(Role) 定义全局能力 → 书架/书/章节 可分别设置查看与编辑角色 → 页面 级可再覆盖,支持精确到单页的可见性控制。
- 页面默认内容经过内容过滤(.env 的 APP_CONTENT_FILTERING,默认
jfha四重过滤:JavaScript、危险 HTML、表单元素、白名单),降低富文本注入风险。 - 内置 MFA(多因素认证)、审计日志(记录登录与内容操作)、回收站(默认保留 30 天)。
- 提供健康检查端点
/status,子系统异常时返回 HTTP ≥ 400,正常返回 200(来源:官方安装文档 High Availability 节,查询日期 2026-10-18)。
3.4 存储与集成
- 上传文件默认存本地文件系统,可选
local_secure(私有目录)或 S3 兼容对象存储(支持 MinIO,通过 STORAGE_S3_ENDPOINT 指定自定义端点)。 - 缓存/会话驱动可选 file、database、memcached、redis,多实例部署时用于共享状态。
- 队列驱动可选 sync、database、redis。
- Webhooks 支持按内容事件推送到外部系统;Draw.io 图表、PDF 渲染均为内置能力。
四、功能特性
以下功能清单依据官方文档站(https://www.bookstackapp.com/docs/ ,查询日期 2026-10-18)与官方功能页整理,均为 v26.09 已具备的能力。
4.1 内容创作
- 双编辑器:所见即所得富文本 + Markdown,页面间可切换。
- 页面模板(Templates)、页面复用(跨书引用内容)、版本修订与回滚。
- Draw.io 图表内嵌编辑、图片管理器、附件管理。
- 导入导出:HTML/Markdown 文本导入,ZIP 打包导入;导出为 PDF/HTML/纯文本/Markdown。
4.2 组织与检索
- 书架/书/章节/页面四级组织,支持拖拽排序与页面内目录。
- 全局全文搜索、按标签过滤、"我的收藏"、"最近查看"。
- 自定义标签系统(名称 + 值)可挂在书、章节、页面上。
4.3 多用户与权限
- 角色权限系统(管理员/编辑者/查看者可自定义任意多角色)。
- 内容级权限覆盖(书架/书/章节/页面四级均可单独授权)。
- 用户个人偏好:语言、界面主题(含暗色模式)、双编辑器选择。
4.4 企业集成
- 认证:OIDC(含自动发现)、SAML 2.0、LDAP 均内置,支持组到角色自动同步;GitHub/Google/GitLab/Azure/Okta 等社交登录开箱即用。
- 自动化:完整 REST API(带每分钟限流参数)、Webhooks。
- 本地化:内置多语言(含简繁中文),默认语言由 APP_LANG 控制。
五、快速上手(官方最小示例)
本节内容引自官方安装文档(https://www.bookstackapp.com/docs/admin/installation/ ,查询日期 2026-10-18),仅作能力预览,未经本地实测;实际部署的逐条实测步骤见《BookStack Docker Compose 部署指南》。
5.1 手动安装主线(官方 Manual 方式)
官方给出的最小安装流程共 7 步(环境要求见 3.1 节表格):
# 1. 克隆 release 稳定分支
git clone https://source.bookstackapp.com/bookstack.git --branch release --single-branch bookstack
cd bookstack
# 2. 安装生产依赖
composer install --no-dev
# 3. 复制并填写 .env(数据库与邮件信息)
cp .env.example .env
# 4. 确保 storage、bootstrap/cache、public/uploads 对 Web 服务进程可写
# 5. 生成应用加密密钥
php artisan key:generate
# 6. 将 Web 根目录指向 public/(Nginx root 或 Apache DocumentRoot)
# 7. 初始化数据库表结构
php artisan migrate
完成后用默认管理员 admin@admin.com / password 登录,官方要求首次登录立即修改。与本文配套部署篇使用统一的管理员账号 admin(密码 q1w2e3r4)。
5.2 一键脚本安装(官方 Ubuntu 脚本方式)
官方为 Ubuntu 26.04 / 24.04 / 22.04 提供全新系统专用安装脚本,以 26.04 为例(脚本会安装 Apache、MySQL 8.4 与 PHP 8.5,只可用于全新系统):
wget https://codeberg.org/bookstack/devops/raw/branch/main/scripts/installation-ubuntu-26.04.sh
chmod a+x installation-ubuntu-26.04.sh
sudo ./installation-ubuntu-26.04.sh
脚本执行中会要求提供管理员邮箱,结束时输出随机初始密码;日志文件输出在当前工作目录。官方明确说明该方式不负责邮件配置与系统安全加固。
⚠️ 注意:官方仅对在支持期内的 Ubuntu LTS 提供脚本与指导;CentOS/RHEL 等发行版只有社区指南(官方声明不受官方支持)。
六、适用场景与限制
6.1 适用场景
- 团队知识库/运维手册:结构化层级 + 角色权限 + 全文搜索的组合最贴合"文档成体系"的诉求。
- 内部产品/接口文档:双编辑器 + 导出 PDF + 页面模板,适合编写并交付正式文档。
- 企业内部 wiki(替代 Confluence):官方将其定位为 Confluence 替代品之一(官网设有 "A Confluence Alternative" 专页),OIDC/SAML2/LDAP 可直接对接企业账号体系。
- 个人/家庭文档库:单一 PHP + MySQL 依赖,低配主机(1~2GB 内存)即可流畅运行。
6.2 官方明示的限制
- 不支持共享 PHP 托管:官方文档明确 "BookStack does not currently support shared PHP hosting",需要自管服务器或支持完整 PHP 应用的环境。
- 高可用无官方保证:官方文档 High Availability 节明确"升级过程不保证可用性"、会话与缓存默认落本地文件系统;多实例需自行改造(数据库/Redis 共享会话、S3 共享上传、
/status健康检查)。 - 单一数据库:仅支持 MySQL ≥ 8.0 / MariaDB ≥ 10.6,不支持 PostgreSQL 与 SQLite;已有 PG 存量的团队需要额外准备 MySQL。
- 升级需停机语义:升级流程包含数据库 migration,官方不承诺升级期间服务可用(对绝大多数小团队无影响)。
七、同类选型对比
本节以 2026-10-18 联网实查数据(GitHub API 与各官网)为基准,从社区活跃度、版本节奏、兼容矩阵三个量化维度对比 BookStack 与四款常见替代品:Wiki.js、MediaWiki、DokuWiki、Docmost。
7.1 候选说明与数据来源
| 候选 | 一句话定位 | 数据来源 |
|---|---|---|
| BookStack v26.09.1 | 结构化书架式知识库(MIT) | github.com/BookStackApp/BookStack |
| Wiki.js v2.5.315 | 现代化通用 Wiki(AGPL-3.0),3.0 开发中 | github.com/requarks/wiki |
| MediaWiki 1.46.2 | 维基百科同款大型协作 Wiki(GPL-2.0+) | mediawiki.org 官网下载页 |
| DokuWiki release-2026-07-14c | 零数据库纯 PHP 文件型 Wiki(GPL-2.0) | github.com/dokuwiki/dokuwiki |
| Docmost v0.96.0 | 实时协作文档平台(AGPL-3.0,Notion/Confluence 风格) | github.com/docmost/docmost |
7.2 社区活跃度对比(查询日期 2026-10-18,GitHub API)
| 指标 | BookStack | Wiki.js | MediaWiki | DokuWiki | Docmost |
|---|---|---|---|---|---|
| Stars | 19,086 | 29,048 | 5,207* | 4,729 | 22,018 |
| Forks | 2,429 | 3,325 | 1,558* | 922 | 1,755 |
| 许可证 | MIT | AGPL-3.0 | GPL-2.0+ | GPL-2.0 | AGPL-3.0 |
| 项目最近推送 | 2026-10-18 | 2026-10-18 | 2026-10-18* | 2026-09-29 | 2026-10-18 |
| 主开发仓库 | Codeberg | GitHub | Gerrit 自托管* | GitHub | GitHub |
| 商业支持 | 官方付费支持计划 | 官方付费支持计划 | Wikitech/Vendor 生态 | 社区 | 官方云服务 |
💡 解读:带 * 者需注意口径——MediaWiki 的 GitHub 只是同步仓库(实际开发在 Wikimedia 的 Gerrit),stars 与推送时间不能完全代表其真实活跃度(Wikimedia 生产集群每天运行),其 stars 仅为参考;Wiki.js 与 Docmost stars 更高但部分源于话题热度,BookStack 的优势在于低噪声 Issue 存量(GitHub 同步仓库 open issues 仅 3)与稳定的商业化维护。五个项目 2026 年均处活跃维护状态,无弃更风险。
7.3 版本节奏对比(查询日期 2026-10-18)
| 产品 | 最新稳定版 | 发布日期 | 近期发布节奏 |
|---|---|---|---|
| BookStack | v26.09.1 | 2026-09-29 | 每年 3~4 个大版本(v25.12→v26.03→v26.05→v26.09)+ 按需补丁 |
| Wiki.js | v2.5.315 | 2026-09-21 | 2.5 维护线约每季度一更;3.0 处于长期 beta(2026-10 已到 beta.672),大版本迁移悬置 |
| MediaWiki | 1.46.2(1.45.6 legacy / 1.43.11 LTS) | 1.46 线为 2026 年版本 | 每半年一个大版本,LTS 每 2 年一档,旧版支持期约 1 年 |
| DokuWiki | release-2026-07-14c | 2026-09-02 | "发布日期"式年版本 + 热修复后缀(a/b/c),节奏偏保守 |
| Docmost | v0.96.0 | 2026-09-08 | 2026 年内 v0.90.1(05-28)→v0.95.0(07-03)→v0.96.0(09-08),月级迭代,仍在 0.x |
💡 解读:版本节奏本质上反映"升级频率预期"。BookStack 的 YY.MM 节奏介于 MediaWiki 的半年制与 Docmost 的月制之间,且补丁版本(第三段)只修缺陷不改结构,跟版压力低;DokuWiki 最省心(一年一个大版本);Docmost 迭代最快但尚未到 1.0,存在数据结构变更风险;Wiki.js 需关注 3.0 何时脱离 beta——现在选 2.5 意味着未来要做一次大版本迁移。
7.4 兼容矩阵对比(来源:各官方文档,查询日期 2026-10-18)
| 维度 | BookStack v26.09.1 | Wiki.js v2.5.315 | MediaWiki 1.46 | DokuWiki 2026-07-14 | Docmost v0.96.0 |
|---|---|---|---|---|---|
| 运行时 | PHP ≥ 8.2 | Node.js | PHP ≥ 8.3.0 | PHP | Node.js |
| 数据库 | MySQL ≥ 8.0 或 MariaDB ≥ 10.6(唯一选项) | PostgreSQL / MySQL / MariaDB / SQLite / MS SQL | MariaDB ≥ 10.3 / MySQL ≥ 5.7 / PostgreSQL ≥ 10 / SQLite ≥ 3.31 | 无需数据库(纯文件) | 仅 PostgreSQL + Redis(官方 compose 含 postgres:18 与 redis:8) |
| 缓存可选 | file/database/memcached/redis | 内置(Redis 可选) | 内置多后端 | 无 | 内置(Redis 必配) |
| 认证集成 | OIDC/SAML2/LDAP + 8 家社交登录 | OIDC/SAML2/LDAP/本地 | LDAP/OIDC/大量扩展 | 插件式 | OIDC/SAML(官方文档) |
| 中文界面 | 内置多语言 | 内置多语言 | 内置多语言 | 内置多语言 | 内置多语言 |
| API | REST API 全量 CRUD | REST + GraphQL | MediaWiki API(成熟庞大) | XML-RPC(扩展) | REST API |
| 许可证 | MIT(商用友好) | AGPL-3.0 | GPL-2.0+ | GPL-2.0 | AGPL-3.0 |
💡 解读:兼容矩阵里最值得注意的三个差异——① BookStack 只认 MySQL/MariaDB,若团队数据库标准是 PostgreSQL,则 Wiki.js 或 Docmost 更顺;② DokuWiki 零数据库,对"只要静态小 wiki、不想养数据库"的场景最轻;③ 许可证上只有 BookStack 是 MIT,AGPL 系(Wiki.js/Docmost)若对外提供网络服务需注意开源义务传染,企业商用敏感场景建议优先 MIT/GPL 判定。
7.5 选型建议
- 如果团队要"结构化文档 + 低维护 + MIT 自由商用",则选 BookStack:唯一 MIT + 单一 PHP/MySQL 依赖 + 完整中文支持。
- 如果已有 PostgreSQL 且追求"多数据库自由/现代 SPA 界面",则选 Wiki.js(注意 3.0 迁移预期)或 Docmost(接受 0.x 阶段与 AGPL)。
- 如果是超大规模协作(万级页面、百科式编辑文化),则选 MediaWiki:它是唯一为维基百科级负载验证过的方案,代价是运维复杂度与界面现代感。
- 如果只想在低配机器上放一个无需数据库的轻量 wiki,则选 DokuWiki。
- 如果看重实时协同编辑(多人同时改一页),则优先 Docmost(原生实时协同),BookStack 的编辑锁定机制只防冲突不协同。
八、参考链接
- BookStack 官网:https://www.bookstackapp.com
- 官方安装文档(Requirements/Manual/Ubuntu 脚本/HA 说明):https://www.bookstackapp.com/docs/admin/installation/
- GitHub Releases(版本核实):https://github.com/BookStackApp/BookStack/releases
- Codeberg 主仓库:https://codeberg.org/bookstack/bookstack
- 官方更新文档:https://www.bookstackapp.com/docs/admin/updates/
- 官方认证文档(OIDC/SAML2/LDAP):https://www.bookstackapp.com/docs/admin/oidc-auth/
- Wiki.js 仓库:https://github.com/requarks/wiki
- MediaWiki 下载页:https://www.mediawiki.org/wiki/Download
- MediaWiki 安装要求:https://www.mediawiki.org/wiki/Manual:Installation_requirements
- DokuWiki 仓库:https://github.com/dokuwiki/dokuwiki
- Docmost 仓库与官方 compose:https://github.com/docmost/docmost
以上外部链接均为官方渠道,文中社区数据(Stars/Forks/版本号/发布日期)查询日期统一为 2026-10-18,时效性以各官方源实时为准。