如何在CentOS 8上安装Wiki.js
Wiki.js是一个用Node.js编写的免费开源Wiki应用程序。 它简单,轻巧,并使用Markdown文件保存所有内容。 您可以将内容直接保存到Markdown文件中,然后将其与Git存储库同步。 它提供了丰富的功能集,包括集成的访问控制,内置的搜索引擎,并支持外部身份验证。
在本教程中,我们将向您展示如何在CentOS 8上安装Wiki.js。
先决条件
- CentOS 8 VPS。
- 访问root用户帐户(或访问具有root特权的管理员帐户)
步骤1:登录到服务器并更新服务器操作系统软件包
首先,以root用户身份通过SSH登录到CentOS 8服务器:
ssh [email protected]_Address -p Port_number
您将需要用服务器各自的IP地址和SSH端口号替换“ IP_Address”和“ Port_number”。 此外,如有必要,将“ root”替换为管理员帐户的用户名。
在开始之前,您必须确保服务器上安装的所有CentOS软件包都是最新的。 您可以通过运行以下命令来执行此操作:
dnf update -y
步骤2:安装Node.js和Redis
Wiki.js建立在Node.js之上。 因此,您将需要在系统中安装Node.js。 首先,使用以下命令安装所有必需的依赖项:
dnf install epel-release git curl unzip -y
安装所有依赖项后,使用以下命令添加Node.js存储库:
curl -sL https://rpm.nodesource.com/setup_12.x | bash -
接下来,使用以下命令安装Node.js和Redis:
dnf install nodejs -y dnf install redis -y
安装两个软件包之后,启动Redis服务,并使用以下命令使其在系统重新引导时启动:
systemctl start redis systemctl enable redis
步骤3:安装Nginx和MariaDB
接下来,需要将Nginx Web服务器和MariaDB数据库服务器安装到您的系统。 您可以使用以下命令安装两个软件包:
dnf install nginx @mariadb -y
一旦安装了两个软件包,请启动Nginx和MariaDB服务,并使用以下命令在系统重新引导时启动它们:
systemctl start nginx systemctl start mariadb systemctl enable nginx systemctl enable mariadb
安装完成后,通过运行以下命令来保护MariaDB安装:
mysql_secure_installation
回答如下所示的所有问题,以设置MariaDB root密码并确保安装安全:
Enter current password for root (enter for none): Set root password? [Y/n] Y New password: Re-enter new password: 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安全,请使用以下命令登录到MariaDB控制台:
mysql -u root -p
登录后,使用以下命令为Wiki.js创建数据库和用户:
MariaDB [(none)]> CREATE DATABASE wikidb; MariaDB [(none)]> GRANT ALL PRIVILEGES ON wikidb.* TO 'wiki'@'localhost' IDENTIFIED BY 'password';
接下来,刷新特权并使用以下命令从MariaDB退出:
MariaDB [(none)]> FLUSH PRIVILEGES; MariaDB [(none)]> EXIT;
配置MariaDB后,您可以继续安装Wiki.js。
步骤4:安装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 -
接下来,为Wiki.js创建目录,并将下载的文件解压缩到/ 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
定义您的MariaDB数据库详细信息,如下所示:
db: type: mariadb # PostgreSQL / MySQL / MariaDB / MS SQL Server only: host: localhost port: 3306 user: wiki pass: password db: wikidb ssl: false
保存并关闭文件,然后使用以下命令更改Wiki目录的所有权:
chown -R wiki:wiki /var/www/html/wiki
接下来,使用以下命令验证Wiki.js:
node server
如果一切正常,您应该获得以下输出:
Loading configuration from /var/www/html/wiki/config.yml... OK 2020-11-09T08:16:24.205Z [MASTER] info: ======================================= 2020-11-09T08:16:24.207Z [MASTER] info: = Wiki.js 2.5.170 ===================== 2020-11-09T08:16:24.207Z [MASTER] info: ======================================= 2020-11-09T08:16:24.207Z [MASTER] info: Initializing... 2020-11-09T08:16:24.801Z [MASTER] info: Using database driver mysql2 for mariadb [ OK ] 2020-11-09T08:16:24.805Z [MASTER] info: Connecting to database... 2020-11-09T08:16:24.834Z [MASTER] info: Database Connection Successful [ OK ] 2020-11-09T08:16:27.571Z [MASTER] warn: DB Configuration is empty or incomplete. Switching to Setup mode... 2020-11-09T08:16:27.572Z [MASTER] info: Starting setup wizard... 2020-11-09T08:16:27.747Z [MASTER] info: Starting HTTP server on port 3000... 2020-11-09T08:16:27.747Z [MASTER] info: HTTP Server on port: [ 3000 ] 2020-11-09T08:16:27.751Z [MASTER] info: HTTP Server: [ RUNNING ] 2020-11-09T08:16:27.751Z [MASTER] info: 🔻🔻🔻🔻🔻🔻🔻🔻🔻🔻🔻🔻🔻🔻🔻🔻🔻🔻🔻🔻🔻🔻🔻🔻🔻🔻🔻🔻🔻 2020-11-09T08:16:27.751Z [MASTER] info: 2020-11-09T08:16:27.751Z [MASTER] info: Browse to http://YOUR-SERVER-IP:3000/ to complete setup! 2020-11-09T08:16:27.751Z [MASTER] info: 2020-11-09T08:16:27.751Z [MASTER] info: 🔺🔺🔺🔺🔺🔺🔺🔺🔺🔺🔺🔺🔺🔺🔺🔺🔺🔺🔺🔺🔺🔺🔺🔺🔺🔺🔺🔺🔺
步骤5:为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守护程序:
systemctl daemon-reload
接下来,启动Wiki服务,并使用以下命令启用它以在系统重新引导时启动:
systemctl start wiki systemctl enable wiki
步骤6:将Nginx配置为反向代理
接下来,您需要将Nginx配置为反向代理,以访问端口80上的Wiki.js。首先,使用以下命令创建Nginx虚拟主机配置文件:
nano /etc/nginx/conf.d/wikijs.conf
添加以下行:
server { listen 80; server_name wiki.example.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; } }
保存并关闭文件,然后重新启动Nginx服务以应用更改:
systemctl restart nginx
步骤7:访问Wiki.js
现在,打开您的Web浏览器,并使用URL http://wiki.example.com访问Wiki.js。 您将被重定向到以下页面:
提供您的管理员电子邮件,密码,站点URL,然后单击 安装 按钮。 您将被重定向到Wiki.js登录屏幕:
提供您的管理员电子邮件,密码,然后点击 日志记录 在 按钮。 您应该在以下屏幕中看到Wiki.js仪表板:
当然,如果您使用我们的托管CentOS托管计划之一,则不必在CentOS 8上安装Wiki.js,在这种情况下,您可以简单地要求我们的Linux专业管理员为您在CentOS 8上安装Wiki.js。 它们全天候24×7可用,将立即处理您的要求。
PS。 如果您喜欢这篇有关如何在CentOS 8上安装Wiki.js的文章,请使用左侧的按钮在社交网络上与您的朋友分享,或者在下面保留答复。 谢谢。