wiki.js知识库系统安装
官网网址
https://docs.requarks.io/
安装前环境准备
https://docs.requarks.io/install/requirements
CPU:2C+
RAM:1G+
Storage:1G+
Database:PostgreSQL 9.5 orlater、MySQL 8.0 or later (MySQL 5.7.8 is partially supported, read more)、MariaDB 10.2.7 or later、 MS SQL Server 2012 or later、 SQLite 3.9 or later
Node.js:12+,奇数版本不支持
安装Node.js
下载二进制包
https://nodejs.cn/download/
解压二进制包
# CentOS7 3.10.0 node的版本不能太高,不让会报错,需要升级lib
[root@host4 ~]# tar xf node-v14.18.2-linux-x64.tar.gz -C /tamy/softwares/
创建软连接
[root@host4 bin]# ln -s /tamy/softwares/node-v14.18.2-linux-x64/bin/node /usr/local/bin/
[root@host4 bin]# ln -s /tamy/softwares/node-v14.18.2-linux-x64/bin/npm /usr/local/bin/
检查版本
[root@host4 bin]# node -v
v14.18.2
[root@host4 bin]# npm -v
6.14.15
安装MySQL
下载安装包
https://dev.mysql.com/downloads/mysql/
创建工作目录
mkdir -pv /tamy/{softwares,data,logs}/
解压软件包
tar xf mysql-8.0.36-linux-glibc2.12-x86_64.tar.xz -C /tamy/softwares/
创建符号链接(软连接)
cd /tamy/softwares/
ln -s mysql-8.0.36-linux-glibc2.12-x86_64/ mysql80
配置环境变量
cat > /etc/profile.d/mysql80.sh << 'EOF'
#!/bin/bash
export MYSQL_HOME=/tamy/softwares/mysql80
export PATH=$PATH:$MYSQL_HOME/bin
EOF
source /etc/profile.d/mysql80.sh
卸载当前系统自带的MySQL分支
rpm -qa | grep mariadb
yum -y remove mariadb-libs
准备mysql的配置文件
cat > /etc/my.cnf <<'EOF'
# mysql服务端的配置参数
[mysqld]
# 指定mysql服务端的运行用户
user=mysql
# 指定mysql的安装目录
basedir=/tamy/softwares/mysql80
# 指定mysql的数据目录
datadir=/tamy/data/mysql80
# 指定socket套接字文件
socket=/tmp/tamy-mysql80.sock
[mysql]
socket=/tmp/tamy-mysql80.sock
EOF
修改mysql的启动脚本
cp /tamy/softwares/mysql80/support-files/mysql.server /etc/init.d/mysqld
[root@host3 softwares]# egrep "^basedir|^datadir" /etc/init.d/mysqld
basedir=/tamy/softwares/mysql80
datadir=/tamy/data/mysql80
修改文件权限
useradd mysql && chown mysql:mysql -R /tamy/softwares/mysql80/
[root@host3 softwares]# ll /tamy/softwares/mysql80/
total 288
drwxr-xr-x 2 mysql mysql 4096 Dec 13 2023 bin
drwxr-xr-x 2 mysql mysql 38 Dec 13 2023 docs
drwxr-xr-x 3 mysql mysql 282 Dec 13 2023 include
drwxr-xr-x 6 mysql mysql 201 Dec 13 2023 lib
-rw-r--r-- 1 mysql mysql 279356 Dec 13 2023 LICENSE
drwxr-xr-x 4 mysql mysql 30 Dec 13 2023 man
-rw-r--r-- 1 mysql mysql 666 Dec 13 2023 README
drwxr-xr-x 28 mysql mysql 4096 Dec 13 2023 share
drwxr-xr-x 2 mysql mysql 77 Dec 13 2023 support-files
初始化MySQL服务
install -d /tamy/data/mysql80 -o mysql -g mysql
# 姿势1,初学者推荐使用这种方式进行初始化即可。因为这种方式初始化的密码为空。(推荐)
mysqld --user=mysql --basedir=/tamy/softwares/mysql80 --datadir=/tamy/data/mysql80 --initialize-insecure
# 姿势2,不会生成文件,会直接将密码打印到当前终端。
# mysqld --user=mysql --basedir=/tamy/softwares/mysql80 --datadir=/tamy/data/mysql80 --initialize
启动MySQL服务
[root@host3 softwares]# /etc/init.d/mysqld start
Starting MySQL.Logging to '/tamy/data/mysql80/host3.err'.
.. SUCCESS!
[root@host3 softwares]# ss -ntl | grep 3306
LISTEN 0 128 [::]:3306 [::]:*
LISTEN 0 70 [::]:33060 [::]:*
登录测试
[root@host3 softwares]# mysql
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 8
Server version: 8.0.36 MySQL Community Server - GPL
Copyright (c) 2000, 2024, Oracle and/or its affiliates.
Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
mysql> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| mysql |
| performance_schema |
| sys |
+--------------------+
4 rows in set (0.01 sec)
mysql>
安装wiki.js
https://docs.requarks.io/install/linux
下载软件包
wget https://github.com/Requarks/wiki/releases/latest/download/wiki-js.tar.gz
解压软件包
mkdir /tamy/softwares/wiki
tar xf wiki-js.tar.gz -C /tamy/softwares/wiki
修改配置文件
cd /tamy/softwares/wiki
mv config.sample.yml config.yml
[root@host4 wiki]# cat config.yml
...
db:
type: mysql
# PostgreSQL / MySQL / MariaDB / MS SQL Server only:
host: localhost
port: 3306
user: wikijs
pass: wikijsrocks
db: wiki
ssl: false
# Optional - PostgreSQL / MySQL / MariaDB only:
# -> Uncomment lines you need below and set `auto` to false
# -> Full list of accepted options: https://nodejs.org/api/tls.html#tls_tls_createsecurecontext_options
sslOptions:
auto: true
# rejectUnauthorized: false
# ca: path/to/ca.crt
# cert: path/to/cert.crt
# key: path/to/key.pem
# pfx: path/to/cert.pfx
# passphrase: xyz123
启动服务
node server
创建用户及数据库
# 创建用户
CREATE USER 'wikijs'@'%' IDENTIFIED BY 'wikijsrocks';
# 授权
GRANT ALL PRIVILEGES ON *.* TO "wikijs"@"%";
# 创建数据库
create database wiki;
设置中文
在设置页面的locale可以下载中文语言包
创建启动脚本
cat > /etc/systemd/system/wiki.service << EOF
[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=/tamy/softwares/wiki
[Install]
WantedBy=multi-user.target
EOF
systemctl daemon-reload
systemctl enable --now wiki
systemctl status wiki