在本教程中,我们将向您展示如何在 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 网站.