CentOS 部署 wiki.js 开源维基页面

警告
本文最后更新于 2021-09-23,文中内容可能已过时。

QAQ 两小时建站, 因为我 Nginx 的配置文件忘记打后缀了一直没配进去.

官网安装教程

首先按照要求, 安装 node.js. 由于 yum 源的 node.js 比较老, 需要换成新版 node.js 的源, 比如 14.

curl -sL https://rpm.nodesource.com/setup_14.x | sudo bash -

然后安装

yum install -y nodejs

检查版本:

node -v && npm -v

一个数据库, 官网推荐使用.

现已推出13版本, 直接安装13玩.

官网CentOS安装页面

按照他的一步步来就行, 然后初始化并启动服务, 同时配置开机自启

postgresql-setup --initdb
systemctl enable postgresql.service
systemctl start postgresql.service

这个数据库不太会玩.

按官网上说的来

下载并解压到某文件夹下:

wget https://github.com/Requarks/wiki/releases/download/2.5.214/wiki-js.tar.gz
mkdir wiki
tar xzf wiki-js.tar.gz -C ./wiki
cd ./wiki

拷贝配置文件:

cp config.sample.yml config.yml

参照官网进行一系列配置.

(搞到死)

使用 postgresql, 配置如下:

db:
  type: postgres

   PostgreSQL / MySQL / MariaDB / MS SQL Server only:
  host: localhost
  port: 5432
  user: wikijs
  pass: wikijsrocks
  db: wiki
  ssl: false

当然这里的数据库, 用户, 密码什么的都可以改. 本文按照上述进行测试.

然后需要创建用户并赋予权限, 之后创建数据库.

进入 postgres 用户(这个用户是安装 postgresql 后创建的高级用户)

su - postgres

然后进入数据库管理系统, 并执行命令, \q 退出

psql
CREATE USER wikijs WITH PASSWORD 'wikijsrocks(passwd)';
ALTER USER wikijs createdb;
\q

然后建立属于这个用户的, host 为本机的, 端口开放在 5432 的, 名为 wiki 的数据库. 这个去 linux 命令行搞:

createdb -h localhost -p 5432 -U wikijs wiki

可以进入 psql\l 查看一下

./wiki 目录下, 执行

node server

按照提示去 http://localhost:3000 进行进一步配置, 略.

由于这玩意在 localhost:3000 上开的, 需要反代一下.

Nginx 的配置如下:

(可视情况配置 SSL)

server {
 listen [::]:443 ssl http2;
 listen 443 ssl http2;
listen [::]:80;
listen 80;

server_name example.com;

charset utf-8;
client_max_body_size 50M;

 ssl_certificate /etc/letsencrypt/example.com/fullchain.pem;
 ssl_certificate_key /etc/letsencrypt/example.com/private.key;

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;
}
}