前言

本文介绍如何使用 Wiki.js 搭建知识库系统。

Wiki.js 官网

安装

前提准备

Wiki.js 几乎可以在任何支持 Node.js 的系统上运行。它可以运行在 Linux 、Windows、macOS等操作系统上,也可以运行在 Docker 、Kubernetes 等容器上。

  • CPU 推荐 2核或者更多

  • 内存 至少 1G

  • 存储 至少 1G

  • 数据库 推荐使用 PostgreSQL,MySQL/MariaDB/MS SQL Server/SQLite 也支持使用

Node 安装

Node.js 中文网

  1. 下载

    wget https://npmmirror.com/mirrors/node/v16.15.0/node-v16.15.0-linux-x64.tar.xz
  2. 解压

    tar -xf node-v16.15.0-linux-x64.tar.xz 
  3. 换名

    mv node-v16.15.0-linux-x64/ node
  4. 建立软连接

    ln -s /data/software/node/bin/node /usr/local/bin/

    也可以使用配置环境变量的方式

  5. 查看版本

     node -v

PostgreSQL 安装

PostgreSQL 官网

  1. 安装

    yum install postgresql-server
  2. 初始化数据库

    cd /usr/bin/
    ./postgresql-setup initdb
  3. 加入 systemctl 服务设置开机自启动

    systemctl enable postgresql.service
  4. 启动

    systemctl start postgresql.service
  5. 进入客户端命令

    sudo -u postgres plsql
  6. 修改密码

    ALTER USER postgres WITH PASSWORD 'postgres';
  7. 数据存储

    PostgreSQL 存储文件、配置文件默认在 /var/lib/pgsql/data/

  8. 开启远程访问权限

    编辑配置文件 postgresql.conf

    vim postgresql.conf 

    修改配置文件中的监听地址

    listen_addresses = '*'  

    在配置文件同级目录下有个文件 pg_hba.conf 最后面添加

    host     all             postgres        0.0.0.0/0               trust

    重启 postgresql 服务

    systemctl restart postgresql.service

    用 Navicat 成功连接

  9. 客户端操作命令

    进入客户端

    sudo -u postgres plsql

    查看数据库

    \l

    新建数据库

    create database wiki;

    退出客户端

    \q

Wiki.js 安装

  1. 下载

    wget https://github.com/Requarks/wiki/releases/latest/download/wiki-js.tar.gz
  2. 解压缩

    mkdir wiki
    tar xzf wiki-js.tar.gz -C ./wiki
    cd ./wiki
  3. 修改配置文件

    配置文件改名

    mv config.sample.yml config.yml

    配置数据库信息(注意:数据库要先创建)

    db:
    type: postgres

     # PostgreSQL / MySQL / MariaDB / MS SQL Server only:
    host: localhost
    port: 5432
    user: postgres
    pass: 123456
    db: wiki
    ssl: false
  4. 启动服务

    在 wiki 目录下

    node server
  5. 加入 systemctl 服务

    /etc/systemd/system/ 下新建 wiki.service 文件

    [Unit]
    Description=Wiki.js
    After=network.target

    [Service]
    Type=simple
    ExecStart=/usr/local/bin/node server
    Restart=always
    # Consider creating a dedicated user for Wiki.js here:
    User=nobody
    Environment=NODE_ENV=production
    WorkingDirectory=/data/software/wiki # 这个要指定你 wiki 的安装地址

    [Install]
    WantedBy=multi-user.target

    重新加载

    systemctl daemon-reload
  6. 设置开机自启动

    systemctl enable wiki
  7. 启动服务

    systemctl start wiki
  8. 查看服务状态

    systemctl status wiki

    如果没有启动成功,可通过如下命令查看日志信息

    journalctl -u wiki

使用

配置管理员

Wiki.js 服务成功启动后,访问 http://ip:3000,出现如下页面:

配置管理员邮箱地址,密码,网站地址,后进行安装,稍等一会,就会出现如下页面:

配置中文

Wiki.js 默认使用英语,可配置中文,方便操作。

  1. 首先选择 后台管理

  2. 安装中文简体

  3. 切换到中文简体

创建页面

  1. 选择 创建主页

  2. Wiki.js 支持多种方式的编辑器,可以自行选择,有的还未开放

  3. 效果展示

  4.  

基于 Wiki.js 搭建知识库系统的更多相关文章

  1. LIGHTX-CMS —— 基于 Node.js,Express.js 以及 SQLite 3 搭建的个人博客系统

    概述 LIGHTX-CMS 是我基于 Node.js,Express.js 以及 SQLite 3 搭建的个人博客发布系统. 项目本身可以拿来部署个人博客网站,同时我认为其也适合用以新手学习 Node ...

  2. 基于 Node.js 的服务器自动化部署搭建实录

    基于 Node.js 的服务器自动化部署搭建实录 在服务器上安装 Node.js 编写拉取仓库.重启服务器脚本 配置 Github 仓库的 Webhook 设置 配置 Node.js 脚本 其他问题 ...

  3. 基于 React.js + Redux + Bootstrap 的 Ruby China 示例 (转)

    一直学 REACT + METEOR 但路由部分有点问题,参考一下:基于 React.js + Redux + Bootstrap 的 Ruby China 示例 http://react-china ...

  4. 基于 Egg.js 框架的 Node.js 服务构建之用户管理设计

    前言 近来公司需要构建一套 EMM(Enterprise Mobility Management)的管理平台,就这种面向企业的应用管理本身需要考虑的需求是十分复杂的,技术层面管理端和服务端构建是架构核 ...

  5. Pomelo:网易开源基于 Node.js 的游戏服务端框架

    Pomelo:网易开源基于 Node.js 的游戏服务端框架 https://github.com/NetEase/pomelo/wiki/Home-in-Chinese

  6. 基于Node.js + jade + Mongoose 模仿gokk.tv

    原文摘自我的前端博客,欢迎大家来访问 http://www.hacke2.cn 关于gokk 大学的娱乐活动基本就是在寝室看电影了→_→,一般都会选择去goxiazai.cc上看,里面的资源多,质量高 ...

  7. 基于Node.js的强大爬虫 能直接发布抓取的文章哦

    基于Node.js的强大爬虫 能直接发布抓取的文章哦 基于Node.js的强大爬虫能直接发布抓取的文章哦!本爬虫源码基于WTFPL协议,感兴趣的小伙伴们可以参考一下 一.环境配置 1)搞一台服务器,什 ...

  8. node.js搭建Web服务器

    Node.js 博客搭建 一. 学习需求 Node 的安装运行 会安装node,搭建node环境 会运行node. 基础模块的使用 Buffer:二进制数据处理模块 Event:事件模块 fs:文件系 ...

  9. koa : Express出品的下一代基于Node.js的web框架

    https://www.liaoxuefeng.com/wiki/001434446689867b27157e896e74d51a89c25cc8b43bdb3000/001434501579966a ...

  10. 使用 Node.js 搭建微服务网关

    目录 Node.js 是什么 安装 node.js Node.js 入门 Node.js 应用场景 npm 镜像 使用 Node.js 搭建微服务网关 什么是微服务架构 使用 Node.js 实现反向 ...

随机推荐

  1. tryhackme_nmap

    https://www.cnblogs.com/-Lucky-/p/17100073.html Nmap基本端口扫描 nmap中考虑的端口状态 Open:表示服务正在侦听指定端口. Closed:表示 ...

  2. C++面试八股文:用过STL吗?

    某日二师兄参加XXX科技公司的C++工程师开发岗位第21面: 面试官:用过STL吗? 二师兄:(每天都用好吗..)用过一些. 面试官:你知道STL是什么? 二师兄:STL是指标准模板库(Standar ...

  3. C++面试八股文:std::array如何实现编译器排序?

    某日二师兄参加XXX科技公司的C++工程师开发岗位第25面: 面试官:array熟悉吗? 二师兄:你说的是原生数组还是std::array? 面试官:你觉得两者有什么区别? 二师兄:区别不是很大,原生 ...

  4. OOP4-6题目集总结

    4-6次题目集,从集合框架,正则表达式,类的继承与多态三个方面展开,在帮助我们了解java常用的工具(集合框架,正则表达式)的同时让我们学着利用类与类之间的关系来减少耦合,第六次题目集侧重于类的继承与 ...

  5. 1.5 编写自定位ShellCode弹窗

    在笔者上一篇文章中简单的介绍了如何运用汇编语言编写一段弹窗代码,虽然简易ShellCode可以被正常执行,但却存在很多问题,由于采用了硬编址的方式来调用相应API函数的,那么就会存在一个很大的缺陷,如 ...

  6. LeetCode 周赛(2023/07/08)渐入佳境

    本文已收录到 AndroidFamily,技术和职场问题,请关注公众号 [彭旭锐] 和 [BaguTree Pro] 知识星球提问. 往期回顾:LeetCode 单周赛第 351 场 · 一场关于子数 ...

  7. 一文了解io包中的discard类型

    1. 引言 io.discard是Go语言标准库提供一个结构体类型,其在丢弃不需要的数据场景下非常好用.本文我们将从io.discard 类型的基本定义出发,讲述其基本使用和实现原理,接着简单描述 i ...

  8. 即构SDK新增焦点语音功能,可实现特定用户语音的聚焦

    2021年,即构SDK每月迭代如期而至.今年,我们会着重介绍每月SDK的重要新增功能,让大家更清晰的了解到这些新功能的特性及应用场景. 重点新增功能 多人语音通话场景下的焦点语音功能 功能介绍 即构S ...

  9. 【最新】Delphi XE7 绿色版下载,亲测可用!

    最后更新时间 2017-12-05. 本文整理自2ccc盒子iny的帖子 → 链接到原贴 破解 → 链接 一.绿色版介绍 绿色版除了不包含 FastReport(RAD Studio自带的FastRe ...

  10. 基准测试工具 --- BenchmarkDotNet

    介绍 今天介绍一个非常强大的基于.Net 的基准测试工具BenchmarkDotNet. BenchmarkDotNet 已经被14300多个项目采用,包括非常多的知名开源项目,例如 dotnet/p ...