如何在 CentOS 8 上安装 Wiki.js

在本教程中,我们将向您展示如何在 CentOS 8 上安装 Wiki.js。对于那些不知道的人,Wiki.js 是一个免费的开源和现代 wiki 应用程序,基于 Node.js、MongoDB、Git、和降价。 Wiki.js 允许将您的内容直接保存到 Markdown (.md) 文件中,并与您的远程 Git 存储库同步。

本文假设您至少具备 Linux 的基本知识,知道如何使用 shell,最重要的是,您将网站托管在自己的 VPS 上。 安装非常简单,假设您在 root 帐户下运行,如果不是,您可能需要添加 ‘sudo‘ 到命令以获取 root 权限。 我将向您展示在 CentOS 8 上逐步安装 Wiki.js 开源 Wiki 软件。

在 CentOS 8 上安装 Wiki.js

第 1 步。首先,让我们首先确保您的系统是最新的。

sudo clean all sudo dnf install epel-release sudo dnf update

步骤 2. 安装 Node.js。

Wiki.js 需要 Node.js,所以我们首先需要安装 Node.js:

curl -sL https://rpm.nodesource.com/setup_12.x | bash - sudo dnf install nodejs

步骤 3. 安装 Redis。

运行以下命令安装 Redis:

sudo dnf install redis

安装后,启动 Redis 服务并使用以下命令使其在系统重新启动时启动:

sudo systemctl start redis sudo systemctl enable redis

步骤 4. 安装 Nginx。

现在我们在 CentOS 系统上安装 Nginx Web 服务器:

sudo dnf install nginx

安装后,启动 Nginx 服务并使用以下命令使其在系统重新启动时启动:

sudo systemctl start nginx sudo systemctl enable nginx

步骤 5. 安装 MariaDB 数据库服务器。

现在我们使用以下命令将 MariaDB 数据库服务器安装到您的系统:

sudo dnf install mariadb

安装后,启动 MariaDB 服务并使用以下命令使其在系统重新启动时启动:

sudo systemctl start mariadb sudo systemctl enable mariadb

默认情况下,MariaDB 未加固。 您可以使用 mysql_secure_installation 脚本。 您应该仔细阅读以下每个步骤,这些步骤将设置 root 密码、删除匿名用户、禁止远程 root 登录、删除测试数据库和访问安全 MariaDB:

mysql_secure_installation

像这样配置它:

- Set root password? [Y/n] y - Remove anonymous users? [Y/n] y - Disallow root login remotely? [Y/n] y - Remove test database and access to it? [Y/n] y - Reload privilege tables now? [Y/n] y

接下来,我们需要登录 MariaDB 控制台并为 Wiki.js 创建一个数据库。 运行以下命令:

mysql -u root -p

这将提示您输入密码,因此输入您的 MariaDB 根密码并点击 Enter. 登录到数据库服务器后,您需要为 Wiki.js 安装创建一个数据库:

MariaDB [(none)]> CREATE DATABASE wikidb; MariaDB [(none)]> GRANT ALL PRIVILEGES ON wikidb.* TO 'wiki'@'localhost' IDENTIFIED BY 'your-password'; MariaDB [(none)]> FLUSH PRIVILEGES; MariaDB [(none)]> EXIT;

步骤 6. 在 CentOS 8 上安装 Wiki.js。

首先,使用以下命令为 Wiki.js 创建一个单独的用户和组:

groupadd --system wiki useradd -s /sbin/nologin --system -g wiki wiki

接下来,使用以下命令下载最新版本的 Wiki.js 表单官网:

curl -s https://api.github.com/repos/Requarks/wiki/releases/latest | grep browser_download_url | grep -v windows | cut -d '"' -f 4 | wget -qi -

之后,将下载的文件解压到 /var/www/html/wiki 目录:

mkdir -p /var/www/html/wiki tar zxf wiki-js.tar.gz -C /var/www/html/wiki

然后,将目录更改为 wiki 并复制示例配置文件:

cd /var/www/html/wiki cp config.sample.yml config.yml

编辑 config.yml 文件并定义您的 MariaDB 数据库:

nano config.yml

添加以下行:

db:   type: mariadb    # PostgreSQL / MySQL / MariaDB / MS SQL Server only:   host: localhost   port: 3306   user: wiki   pass: your-password   db: wikidb   ssl: false

Save 和 close 并允许目录的用户权限:

chown -R wiki:wiki /var/www/html/wiki

通过运行 Wiki.js 测试您的配置:

node server

如果一切正常,您应该得到以下输出:

Loading configuration from /var/www/html/wiki/config.yml... OK 2020-12-09T08:12:26.205Z [MASTER] info: ======================================= 2020-12-09T08:12:26.207Z [MASTER] info: = Wiki.js 2.5.170 ===================== 2020-12-09T08:12:26.207Z [MASTER] info: ======================================= 2020-12-09T08:12:26.207Z [MASTER] info: Initializing... 2020-12-09T08:12:26.801Z [MASTER] info: Using database driver mysql2 for mariadb [ OK ] 2020-12-09T08:12:26.805Z [MASTER] info: Connecting to database... 2020-12-09T08:12:26.834Z [MASTER] info: Database Connection Successful [ OK ] 2020-12-09T08:12:28.571Z [MASTER] warn: DB Configuration is empty or incomplete. Switching to Setup mode... 2020-12-09T08:12:28.572Z [MASTER] info: Starting setup wizard... 2020-12-09T08:12:28.747Z [MASTER] info: Starting HTTP server on port 3000... 2020-12-09T08:12:28.747Z [MASTER] info: HTTP Server on port: [ 3000 ] 2020-12-09T08:12:28.751Z [MASTER] info: HTTP Server: [ RUNNING ] 2020-12-09T08:12:28.751Z [MASTER] info: ????????????????????????????? 2020-12-09T08:12:29.751Z [MASTER] info:  2020-12-09T08:12:29.751Z [MASTER] info: Browse to https://YOUR-SERVER-IP:3000/ to complete setup! 2020-12-09T08:12:29.751Z [MASTER] info:  2020-12-09T08:12:30.751Z [MASTER] info: ?????????????????????????????

步骤 7. 为 Wiki.js 创建 Systemd 服务

现在将 Wiki.js 应用程序配置为作为服务运行:

nano /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=/var/www/html/wiki [Install]  WantedBy=multi-user.target

重新加载 systemd 并开始服务:

sudo systemctl daemon-reload sudo systemctl start wiki sudo systemctl enable wiki

步骤 8. 将 Nginx 配置为反向代理。

现在我们将 Nginx 配置为反向代理来访问 80 端口上的 Wiki.js。首先,使用以下命令创建一个 Nginx 虚拟主机配置文件:

nano /etc/nginx/conf.d/wikijs.conf

添加以下行:

server {      listen      80;      server_name wiki.idroot.us;  location /         {       proxy_set_header Host $http_host;  proxy_set_header X-Real-IP $remote_addr;  proxy_pass https://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;    } }

Save 和 close 该文件然后重新启动 Nginx 服务以应用更改:

sudo systemctl restart nginx

如果你有 firewalld 服务运行,允许服务:

sudo firewall-cmd --add-service=http --permanent sudo firewall-cmd --reload

步骤 9. 在 CentOS 上访问 Wiki.js。

现在,使用您的网络浏览器,导航到 https://wiki.idroot.us,您将被重定向到以下页面并填写必填项 admin 详情然后点击“安装“ 按钮。

恭喜! 您已成功安装 Wiki.js。 感谢您使用本教程在 CentOS 8 系统上安装 Wiki.js 开源 Wiki 软件。 如需其他帮助或有用信息,我们建议您查看 官方 Wiki.js 网站.