本文仅用于记录Centos8 安装Wiki.js,避免日后踩坑。
简述下Wiki.js的优缺点吧:
| 优点 | 缺点 |
|---|---|
| 开源免费 | 国外开发,汉化不完全,设置界面基本中英混杂 |
| 界面简洁清爽 | 添加用户操作繁琐 |
| 程序轻巧,资源占用不高 | 安装部署需手动,教程更新不及时 |
| 支持多种编辑模式 | 编辑器功能功能不全 |
| 介绍支持LDAP以及第三方登录 | 找不到LDAP设置入口 |
| 支持插件安装 | 然鹅,目前无法安装新的扩展。此功能将在未来版本中推出。 |
一、更新系统并设定时区
yum -y update
#更新缓慢,可以考虑改成国内的镜像源
timedatectl list-timezones
timedatectl set-timezone Asia/Shanghai
ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime二、安装Nodejs
yum module list nodejs
#先查看Yum仓库是否有nodejsyum仓库一般包含Nodejs10,但是最新的wiki.js要求nodejs12以上方可,否则在启动环节会报错[MASTER] error: globalThis is not defined
如果仓库包含NodeJs12,那么直接安装。
yum install -y nodejs:12如果仓库不包含nodejs12,那么可以尝试更换源,替换国内源,一般都有nodejs10\12\14\16。
还有一种情况,如果你的服务器已经安装了低版本的nodejs,这时候先要清理安装,再重置模块,然后再重新安装。
yum remove nodejs
#删除nodejs
yum module reset nodejs
#重置模块
yum install nodejs:12
安装nodejs 12三、安装其他依赖环境
yum install -y epel-release git vim wget curl unzip socat redis @mariadb四、创建wiki用户以及数据库等
groupadd --system wiki
useradd -s /sbin/nologin --system -g wiki wiki
#创建用户
systemctl enable --now mariadb
#启动数据库
mysql_secure_installation
#配置数据库,请参照提示配置
mysql -u root -p
#登录数据库
CREATE DATABASE wiki;
#创建wiki数据库
GRANT ALL PRIVILEGES ON wiki.* TO 'wikijs'@'localhost' IDENTIFIED BY '[email protected]';
#将wifi收据库授权给wikijs用户
set password for wikijs@localhost = password('123456');
#设置wijijs用户密码
FLUSH PRIVILEGES;
#刷新授权
QUIT;
#退出数据库
systemctl enable --now redis
#启动Redis
chown -R wiki:wiki /wiki
#将wiki工作目录授权给wiki用户方便启动五、安装Wiki.js
wget https://github.com/Requarks/wiki/releases/download/2.5.255/wiki-js.tar.gz
#下载最新的Wiki.js
mkdir wiki
#创建wiki目录
tar xzf wiki-js.tar.gz -C /wiki
#解压wiji源码
cd /wiki
#进入安装目录
cp config.sample.yml config.yml && vim config.yml
#复制默认配置文件并修改数据库配置
#需要修改内容如下:
# type: mariadb
# port: 3306
# user: wikijs
# pass: 123456
# db: wiki到这里Wiki.js的配置就已经完成了。
接下来启动测试wiki
node server
#如果输出正常并且无报错
systemctl stop firewalld.service && systemctl disable firewalld.service
#关闭防火墙然后通过浏览器访问Wiki.js:http://IP:3000
如果网页可以正常打开,则配置正确。
六、配置服务
接下来将wiki.js添加为服务
vim /etc/systemd/system/wiki.service
#输入一下内容
[Unit]
Description=Wiki.js
After=network.target
[Service]
Type=simple
ExecStart=/usr/bin/node server
Restart=always
User=wiki
Environment=NODE_ENV=production
WorkingDirectory=/wiki
[Install]
WantedBy=multi-user.target
#以上为wiki.js服务的内容
systemctl daemon-reload
systemctl enable --now wiki.service
#重新加载systemd服务,并启动wiki服务
status wiki
#检查wiki服务器运行是否正常七、配置ningx反向代理
systemctl enable --now nginx
#启动nginx服务
vim /etc/nginx/conf.d/wikijs.conf
#创建配置
server {
listen 80;
server_name wiki.com;
#这里请记得将域名修改为自己的域名
location / {
proxy_set_header Host $http_host;
proxy_set_header X-Real-IP $remote_addr;
proxy_pass http://127.0.0.1:3000;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_next_upstream error timeout http_502 http_503 http_504;
}
}
#以上为Wiki.js配置
nginx -t
#测试nginx配置是否正确。如果提示正确,重载nginx
systemctl restart nginx如果以上配置没问题,那么访问配置的域名即可。