Web知识库应用程序LibreKB
什么是 LibreKB ?
LibreKB是一款知识库Web应用程序。免费、开源、自托管,基于PHP/MySQL。
官方并没有 Docker 镜像,老苏这次图省事,并没有像往常一样构建一个镜像,而是基于 Docker 搭建了一个 LAMP 环境,其中 LAP 由镜像 php:8.1-apache 完成,M 由群晖的 MariaDB 10 完成
之所以这么干,是因为上次应网友要求折腾 acg-faka 没成功,留下了一个现成的环境,干掉之前,怎么也得利用一下,发挥点作用吧
准备工作
建数据库
老苏用了群晖自带的 MariaDB 10 数据库。

在 phpMyAdmin 中创建名为 librekb 的空数据库。
为便于说明,假设数据库密码为
123456

所以根据上面的设置,最后得到的数据库相关的参数如下:
- 数据库主机:
192.168.0.199 - 数据库端口:
3307; - 数据库用户:
librekb - 数据库密码:
123456 - 数据库库名:
librekb,因为勾选了与用户同名;
下载代码
下载地址:https://github.com/michaelstaake/LibreKB/releases

安装
安装镜像
在群晖上以 Docker 方式安装。
之所以没用图形界面安装,是因为后续还要在命令行安装数据库驱动
如果你熟悉命令行,可能用 docker cli 更快捷
1 | # 新建文件夹 librekb 和 子目录 |
也可以用 docker-compose 安装,将下面的内容保存为 docker-compose.yml 文件
1 | version: '3' |
然后执行下面的命令
1 | # 新建文件夹 librekb 和 子目录 |
上传代码
因为还没上传代码,所以在浏览器中输入 http://群晖IP:8954只能看到错误页

可以在本地解压后上传

代码上传完成后,应该下面👇这个样子的

直接刷新页面是会报错,因为还要修改设置文件 config.php

设置代码的修改
还需要重命名 config.example.php 文件为 config.php,并修改其中数据库连接和邮件设置,邮件是用于密码重置的
下面👇是一个示例,其中 192.168.0.199 为群晖主机的 IP,其他参数比较简单,就不一一说明
1 |
|
安装驱动
虽然设置已完成,涉及到数据库的页面会显示错误Connection failed: could not find driver,因为默认 php:8.1-apache 没有带数据库 PDO MySQL 驱动
所以要执行👇下面的命令来安装,这里假设你容器的名称未做修改,就叫 librekb
1 | # 安装 PDO MySQL 驱动 |

Bug 代码的修改
虽然老苏不是程序员,但是还是觉得 /admin/index.php 应该是有 bug 的,在创建分类时会报错
1 | Warning: Undefined array key "slug" in /var/www/html/admin/index.php on line 161 |
查看了一下代码

而在页面中实际上并没有找到 slug 和 icon,可能是下一版作者准备添加的内容吧

新建文章时同样也会报错
1 | Warning: Undefined array key "slug" in /var/www/html/admin/index.php on line 377 |

所以老苏修改了一下,其实也就是把报错的几行做了注释,可以在 https://github.com/wbsu2003/synology/blob/main/LibreKB/index.php 找到,替换掉 /admin 目录中的 index.php 即可

运行
上面这些都做完之后,终于可以打开 http://群晖IP:8954/install.php 进行安装了
后端
第一步要创建管理员

安装完成

打开页面 http://群晖IP:8954/admin,或者直接点页面上的 admin

登录成功后的主界面

为了安全,需要删除 install.php 和 update.php,不然页面上会有提示

点 Create Category 创建类别

完成之后

可以在该分类下 Create Article

完成之后

前端
回到前端的首页 http://群晖IP:8954

进入分类

查看文档

参考文档
michaelstaake/LibreKB: Knowledge Base Web App - Free, Open Source, Self Hosted, PHP/MySQL
地址:https://github.com/michaelstaake/LibreKBLibreKB
地址:https://librekb.com/Categories - docs.librekb.com
地址:https://docs.librekb.com/