0


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

更快捷

# 新建文件夹 librekb 和 子目录mkdir-p /volume2/docker/librekb/www

# 进入 librekb 目录cd /volume2/docker/librekb

# 运行容器docker run -d\--restart unless-stopped \--name librekb \-p8954:80 \-v$(pwd)/www:/var/www/html \
   php:8.1-apache

也可以用

docker-compose

安装,将下面的内容保存为

docker-compose.yml

文件

version:'3'services:php-apache-environment:image: php:8.1-apache
    container_name: librekb
    volumes:- ./www:/var/www/html/
    ports:- 8954:80

然后执行下面的命令

# 新建文件夹 librekb 和 子目录mkdir-p /volume2/docker/librekb/www

# 进入 librekb 目录cd /volume2/docker/librekb

# 将 docker-compose.yml 放入当前目录# 一键启动docker-compose up -d

上传代码

因为还没上传代码,所以在浏览器中输入

http://群晖IP:8954

只能看到错误页

可以在本地解压后上传

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

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

config.php

设置代码的修改

还需要重命名

config.example.php

文件为

config.php

,并修改其中数据库连接和邮件设置,邮件是用于密码重置的

下面👇是一个示例,其中

192.168.0.199

为群晖主机的

IP

,其他参数比较简单,就不一一说明

<?phprequire'vendor/phpmailer/src/Exception.php';require'vendor/phpmailer/src/PHPMailer.php';require'vendor/phpmailer/src/SMTP.php';classConfig{publicfunction__construct(){/* Database Configuration */$this->db_host='192.168.0.199:3307';$this->db_user='librekb';$this->db_pass='123456';$this->db_name='librekb';/* System Configuration */$this->systemURL='http://192.168.0.199:8954/';//example https://kb.example.com/ or https://example.com/kb/$this->updateCheck='yes';//change this to no if you wish to disable the update check. /* Email Configuration */$this->mailHost='smtp.88.com';//Set the SMTP server to send through$this->mailSMTPAuth=true;//Enable SMTP authentication$this->mailUsername='[email protected]';//SMTP username$this->mailPassword='<第三方邮件客户端密码>';//SMTP password$this->mailSMTPSecure='ssl';//Enable implicit TLS encryption$this->mailPort=465;//TCP port to connect to; use 587 if you have set `SMTPSecure = PHPMailer::ENCRYPTION_STARTTLS`$this->mailFrom='[email protected]';}}require_once('classes/Database.php');require_once('classes/Search.php');require_once('classes/Email.php');require_once('classes/Article.php');require_once('classes/Category.php');require_once('classes/Setting.php');require_once('classes/User.php');?>

安装驱动

虽然设置已完成,涉及到数据库的页面会显示错误

Connection failed: could not find driver

,因为默认

php:8.1-apache

没有带数据库

PDO MySQL

驱动

所以要执行👇下面的命令来安装,这里假设你容器的名称未做修改,就叫

librekb
# 安装 PDO MySQL 驱动dockerexec-it librekb /bin/bash docker-php-ext-install pdo_mysql

# 重新启动容器docker restart librekb

Bug 代码的修改

虽然老苏不是程序员,但是还是觉得

/admin/index.php

应该是有

bug

的,在创建分类时会报错

Warning: Undefined array key "slug" in /var/www/html/admin/index.php on line 161 
  
Warning: Undefined array key "icon" in /var/www/html/admin/index.php** on line 163 
  
Warning: Cannot modify header information - headers already sent by (output started at /var/www/html/admin/index.php:161) in /var/www/html/admin/index.php on line 175

查看了一下代码

而在页面中实际上并没有找到

slug

icon

,可能是下一版作者准备添加的内容吧

新建文章时同样也会报错

Warning: Undefined array key "slug" in /var/www/html/admin/index.php on line 377  
  
Warning: Undefined array key "featured" in **/var/www/html/admin/index.php** on line 382 
  
Warning: Cannot modify header information - headers already sent by (output started at /var/www/html/admin/index.php:377) in /var/www/html/admin/index.php on line 393

所以老苏修改了一下,其实也就是把报错的几行做了注释,可以在 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/LibreKB

LibreKB
地址:https://librekb.com/

Categories - docs.librekb.com
地址:https://docs.librekb.com/


本文转载自: https://blog.csdn.net/wbsu2004/article/details/140313029
版权归原作者 杨浦老苏 所有, 如有侵权,请联系我们删除。

“Web知识库应用程序LibreKB”的评论:

还没有评论