WiKi.js文档管理系统的搭建笔记
▲搭建的契机
在主网站优化升级的过程中,遇到了一个小问题,在搜索引擎寻找时,发现了一个博客,起初也没有特别在意,在获得问题的解决方案后就在站内逛了一圈,偶然点进了一片新大陆——一个WIKI系统,当时我以为这是他们一个兴趣小组自行研发的系统,但是却很是羡慕,还抱有一丝能找到类似开源项目的念头。主站的Wizard文档有点简陋,其实并不太满意我的多样化需求。在几天后,我偶然找到了一个相同框架的页面,寻根溯源,总算找到了总框架——WiKi.js。
一、部署操作
①前期准备
Wiki.js支持大部分支持运行Node.js的系统,比较主流的安装方法是使用docker进行安装,但对docker的学习不足,因此本篇不包含docker安装的过程。我的服务器镜像是Ubuntu22.0的,项目要求的服务器配置还是有点中高的,起码吃了我1个G的内存(我只有2G)。
在数据库选择方面,WiKi.js是支持市面上大多数的数据库如MySQL、MariaDB、MS SQL Server、SQLite,但它却准备在下个大版本中停止支持,如果后续有升级3.0版本的建议使用官方强烈推荐的PostgreSQL(这玩意真的不及MySQL的一根毛,烂)。
本人最初用的是宝塔管理界面,直接在软件商城就能找到PostgreSQL管理器并且可以一键安装,但该方法对后续的数据库操作非常不友好,除了方便备份和编辑配置文件,如不能熟练掌握该数据库出了点小问题将非常难解决。如比较了解PostgreSQL,可以自行安装。
该项目支持中文但不支持中文搜索,目前有两种可以实现的中文搜索方法:
一种是使用zhparser中文分词插件,网上有已经安装好插件的PostgreSQL可以开袋即食,或者自己手动安装该插件;
另一种则是安装Elasticsearch,该项目安装和使用都很方便,缺点是系统要求较高,占用内存比较多,推荐2G甚至4G以上内存使用。
0.前置安装
使用docker时无须额外安装Node.js,docker自带
以下安装方法引用自菜鸟网
Ubuntu 源码安装 Node.js
$ sudo git clone https://github.com/nodejs/node.git
Cloning into 'node'...
修改目录权限:
$ sudo chmod -R 755 node
使用 ./configure 创建编译文件,并按照:
$ cd node
$ sudo ./configure
$ sudo make
$ sudo make install
查看 node 版本:
$ node --version
v0.10.25
Ubuntu apt-get 命令安装
命令格式如下:
sudo apt-get install nodejs
sudo apt-get install npm
CentOS 下源码安装 Node.js
1、下载源码,你需要在https://nodejs.org/en/download/下载最新的Nodejs版本,本文以v0.10.24为例:
cd /usr/local/src/
wget http://nodejs.org/dist/v0.10.24/node-v0.10.24.tar.gz
2、解压源码
tar zxvf node-v0.10.24.tar.gz
3、 编译安装
cd node-v0.10.24
./configure --prefix=/usr/local/node/0.10.24
make
make install
4、 配置NODE_HOME,进入profile编辑环境变量
vim /etc/profile
设置 nodejs 环境变量,在 export PATH USER LOGNAME MAIL HOSTNAME HISTSIZE HISTCONTROL 一行的上面添加如下内容:
#set for nodejs
export NODE_HOME=/usr/local/node/0.10.24
export PATH=$NODE_HOME/bin:$PATH
:wq保存并退出,编译/etc/profile 使配置生效
source /etc/profile
验证是否安装配置成功
node -v
输出 v0.10.24 表示配置成功
npm模块安装路径
/usr/local/node/0.10.24/lib/node_modules/
注:Nodejs 官网提供了编译好的 Linux 二进制包,你也可以下载下来直接应用。
1.Ubuntu 安装 postgresql12
目前本人使用的是Ubuntu,数据库是12的版本,建议使用更新的版本进行安装。
sudo apt-get update
sudo apt-get upgrade
2.安装官方的源 curl ca-certificates gnupg
sudo apt-get install curl ca-certificates gnupg
3.创建建文件储存数据库配置
sudo sh -c 'echo "deb http://apt.postgresql.org/pub/repos/apt $(lsb_release -cs)-pgdg main" > /etc/apt/sources.list.d/pgdg.list'
4.添加官方提供的key
wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo apt-key add -
5.安装postgresql
安装版本 sudo apt-get -y install postgresql
指定版本 sudo apt-get install postgresql-12
常用指令
状态 sudo service postgresql status
启动 sudo service postgresql start
停止 sudo service postgresql stop
重启 sudo service postgresql restart
状态 sudo /etc/init.d/postgresql status
启动 sudo /etc/init.d/postgresql start
停止 sudo /etc/init.d/postgresql stop
重启 sudo /etc/init.d/postgresql restart
安装完毕后,系统会创建一个数据库超级用户 postgres,密码为空。
sudo -i -u postgres
这时使用以下命令进入 postgres,输出以下信息,说明安装成功:
~$ psql
psql (9.5.17)
Type "help" for help.
postgres=#
输入\q
命令退出 PostgreSQL 提示符。 PostgreSQL 安装完成后默认是已经启动的,但是也可以通过下面的方式来手动启动服务:
sudo /etc/init.d/postgresql start # 开启
sudo /etc/init.d/postgresql stop # 关闭
sudo /etc/init.d/postgresql restart # 重启
6.下载安装
使用wget下载项目包:
wget https://github.com/Requarks/wiki/releases/download/2.5.300/wiki-js.tar.gz
wget下载慢也可以自行到WiKi.js的项目页进行下载最新版本及历史版本。
解压文件:
mkdir wiki //创建一个下级目录
tar -zxvf wiki-js.tar.gz -C ./wiki //解包到下级目录
重命名解压目录下的config.sample.yml
文件,改成config.yml
:
cd wiki
mv config.sample.yml config.yml
用vim打开config.yml
,修改对应的内容
vim config.yml
#######################################################################
# Wiki.js - CONFIGURATION #
#######################################################################
# Full documentation + examples:
# https://docs.requarks.io/install
# ---------------------------------------------------------------------
# Port the server should listen to
# ---------------------------------------------------------------------
port: 3000 //Wiki.js启动服务的端口,默认3000
# ---------------------------------------------------------------------
# Database
# ---------------------------------------------------------------------
# Supported Database Engines:
# - postgres = PostgreSQL 9.5 or later
# - mysql = MySQL 8.0 or later (5.7.8 partially supported, refer to docs)
# - mariadb = MariaDB 10.2.7 or later
# - mssql = MS SQL Server 2012 or later
# - sqlite = SQLite 3.9 or later
db:
type: postgres //这里填入数据库类型,MySQL就填mysql # PostgreSQL / MySQL / MariaDB / MS SQL Server only:
host: localhost //数据库的地址,本地填localhost
port: 1111 //数据库开放的端口
user: wikijs //数据库用户名
pass: wikijsrocks //数据库密码
db: wiki //数据库名字
ssl: false //是否用ssl连接数据库,默认false即可
vim基础操作
Shift + I 编辑文档
Esc 退出编辑
:q! 关闭文档
:wq! 保存文档并关闭
②运行启动
在运行目录下输入运行node server
即可启动服务。终端提示如下语段即为成功安装
info: HTTP Server: [ RUNNING ]
info: Browse to http://YOUR-SERVER-IP:3000/ to complete setup!
此时输入IP加端口即可访问引导安装界面。可以通过反代理完成域名访问
二、更新版本方法
采用官方提供的方案,按照不同的按照系统(windows系统不收录),基于2.0框架版本:
※Docker
①Standalone Container 独立容器
升级只需使用最新映像版本重新创建容器:
查看代码
# Stop and remove container named "wiki"
docker stop wiki
docker rm wiki
# Pull latest image of Wiki.js
docker pull ghcr.io/requarks/wiki:2
# Create new container of Wiki.js based on latest image
docker run -d -p 8080:3000 --name wiki --restart unless-stopped -e "DB_TYPE=mysql" -e "DB_HOST=db" -e "DB_PORT=3306" -e "DB_USER=wikijs" -e "DB_PASS=wikijsrocks" -e "DB_NAME=wiki" ghcr.io/requarks/wiki:2
②Docker Compose
以下命令将拉取最新映像并重新创建 docker-compose 文件中定义的容器: