江苏智简云计算网络安全小知识—如何在 CentOS 8 服务器上安装和配置 Wiki.js

发布时间:2022-11-19 12:26

Wiki.js 是一个基于 Node.js 构建的免费开源 wiki 应用程序。它使用 Markdown 文件来保存可以直接保存到 Markdown 文件并与 Git 存储库同步的内容。

Wiki.js 提供集成访问控制、适当的资产管理以及内置搜索引擎等功能。

本指南概述了在 CentOS8 云服务器上安装 Wiki.js 所需的步骤:

要求:

  • 更新 CentOS8 服务器

  • Node.js、GIT 和 Redis

  • NGINX 和 MariaDB

更新服务器中的操作系统包

  1. 通过 SSH 登录服务器并执行以下命令更新操作系统包。

    # dnf update -y

安装 Node.js、GIT 和 Redis

Node.js 需要安装在服务器中,因为 Wiki.js 是在它上面构建的。

  1. 在继续安装 Node.js 之前,运行以下命令来安装所有必需的依赖项。

    # dnf install epel-release git curl unzip -y
  2. 使用以下命令添加 Node.js 存储库。

    # curl -sL https://rpm.nodesource.com/setup_12.x | bash -
  3. 通过运行以下命令安装 Node.js 和 Redis。

    # dnf install nodejs redis -y
  4. 启动并启用 Redis 服务以在系统重启时启动

    # systemctl start redis  # systemctl enable redis

安装 NGINX 和 MariaDB

Wiki.js 需要一个 Web 服务器和一个数据库服务器才能运行。

  1. 运行以下命令在云服务器中安装 NGINX Web 服务器和 MariaDB 数据库服务器。

    # dnf install nginx @mariadb -y
  2. 启动 NGINX 和 MariaDB 服务,并让它们在系统重启时启动。

    # systemctl start nginx  # systemctl start mariadb  # systemctl enable nginx  # systemctl enable mariadb
  3. 通过运行以下命令来保护 MariaDB 安装并完成如下设置。

    # mysql_secure_installation
    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 根密码的密码。

  4. 一旦 MariaDB 数据库服务器受到保护,就可以通过执行以下命令来访问它。

    # mysql -u root -p

    输入在上述步骤中为 MariaDB 服务器设置的 root 密码,然后按 Enter 访问数据库服务器命令行。

  5. 通过在 MariaDB 命令提示符下执行以下命令,创建可用于安装 Wiki.js 的数据库和相关数据库用户。

    在本指南的上下文中,使用的数据库名称是lswikidblswikiuser是关联的数据库用户名。

    CREATE DATABASE lswikidb;GRANT ALL PRIVILEGES ON lswikidb.* TO 'lswikiuser'@'localhost' IDENTIFIED BY 'password';  FLUSH PRIVILEGES;  EXIT;

    注:更换密码与实际密码需要为数据库用户设置上面的命令。

    一旦服务器中安装了所有必需的服务,就可以继续安装 Wiki.js。

安装 Wiki.js

  1. 为 Wiki.js 服务创建一个单独的新用户和组。本指南上下文中使用的用户和组是wikijs

    # groupadd --system wikijs# useradd -s /sbin/nologin --system -g wikijs wikijs
  2. 通过执行以下命令从官方网站下载最新版本的 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.tar.gz的存档。

  3. 为 Wiki.js 创建一个文件夹,然后将下载的存档文件的内容解压缩到该文件夹中。在本指南的上下文中,名为lswiki的文件夹在路径/var/www/html.

    # mkdir -p /var/www/html/lswiki# tar zxf wiki-js.tar.gz -C /var/www/html/lswiki
  4. 切换到该文件夹lswiki,然后复制示例配置文件config.sample.yml并将其重命名为config.yml.

    # cd /var/www/html/lswiki# cp config.sample.yml config.yml
  5. config.yml使用任何选择的编辑器打开该文件,并在以下格式的文件中使用已创建的 MariaDB 数据库和数据库用户的详细信息更新数据库详细信息。

    db:type: mariadb# PostgreSQL / MySQL / MariaDB / MS SQL Server only:host: localhostport: 3306user: lswikiuserpass: passworddb: lswikidbssl: false

    输入上述详细信息后,保存并关闭配置文件。

  6. 为新创建的用户wikijs分配lswiki文件夹的用户权限。

    # chown -R wikijs.wikijs /var/www/html/lswiki
  7. 通过执行以下命令验证 Wiki.js 安装。

    # node server

    如果安装顺利,执行上述命令时会显示类似下面的输出。

为 Wiki.js 创建 Systemd 服务文件

配置 Wiki.js 的下一步是为其创建一个 systemd 服务文件,以便管理该服务。为此,请按照以下步骤操作。

  1. /etc/systemd/system文件夹下为 Wiki.js 创建 systemd 服务文件。

    # vi /etc/systemd/system/wiki.service
  2. 在新创建的wiki.service systemd 文件中添加以下条目。

    [Unit]Description=Wiki.jsAfter=network.target[Service]Type=simpleExecStart=/usr/bin/node serverRestart=alwaysUser=wikijsEnvironment=NODE_ENV=productionWorkingDirectory=/var/www/html/lswiki[Install]WantedBy=multi-user.target

    注意:用实际配置的设置替换UserWorkingDirectory值。

    输入上述详细信息后,保存并关闭 systemd 服务文件。

  3. 重新加载 systemd 守护进程,然后通过执行以下命令启动并启用 wiki 服务以在系统重新启动时启动。

    # systemctl daemon-reload# systemctl start wiki# systemctl enable wiki

将 NGINX 配置为反向代理

需要将 NGINX web 服务配置为反向代理,才能在云服务器的 80 端口访问 Wiki.js。

  1. 使用以下命令为 Wiki.js 服务创建一个新的 NGINX 虚拟主机配置文件。

    # vi /etc/nginx/conf.d/wikijs.conf
  2. 在配置文件中添加以下条目,保存文件,然后关闭文件。

    server {listen  80;server_name wiki.zitian.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.zitian.com替换为需要安装Wiki.js的实际域名。域名也应正确解析为云服务器 IP 地址。

  3. 重新启动 NGINX 服务以应用更改。

    # systemctl restart nginx

访问 Wiki.js

  1. 现在可以使用 NGINX 配置文件中配置的网站名称通过浏览器访问已安装的 Wiki.js 服务。

    在本指南的上下文中,URL 如下所示:

    http://wiki.zitian.com*

    该 URL 将被重定向到类似于下面的页面。输入管理员电子邮件地址、管理员密码(两次)、站点 URL,然后单击Install按钮:

  2. 安装完成后,页面将被重定向到 Wiki.js 登录页面。提供在上述步骤中设置的管理员电子邮件地址和密码进行登录。

  3. 登录后,Wiki.js 仪表板将显示如下,从中可以进一步管理服务并用于创建 wiki 页面。

  4. 公司主页:www.idc31.com
    公司全称:江苏智简云计算有限公司

    -----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

    ### 江苏智简江苏智简云江苏智简云计算idc31.comwww.idc31.com徐州华为云徐州服务器租用徐州服务器托管徐州数据中心徐州云服务器徐州网站建设徐州APP搭建徐州小程序开发徐州APP开发徐州网络安全徐州网络维护徐州网站维护徐州网站搭建徐州网络搭建徐州网络攻击解决方案徐州租用服务器徐州托管服务器徐州电信机房徐州联通机房徐州移动机房徐州单线机房徐州双线机房徐州多线机房徐州BGP线路机房徐州系统安装徐州VPS徐州虚拟空间徐州域名注册徐州网站下载 徐州idc公司徐州网络公司徐州IDC公司排名徐州网络公司排名徐州互联网公司徐州互联网公司排名江苏华为云江苏服务器租用江苏服务器托管江苏数据中心江苏云服务器江苏网站建设江苏APP搭建江苏小程序开发江苏APP开发江苏网络安全江苏网络维护江苏网站维护江苏网站搭建江苏网络搭建江苏网络攻击解决方案江苏租用服务器江苏托管服务器江苏电信机房江苏联通机房江苏移动机房江苏单线机房江苏双线机房江苏多线机房江苏BGP线路机房江苏系统安装江苏VPS江苏虚拟空间江苏域名注册江苏网站下载 江苏idc公司江苏网络公司江苏IDC公司排名江苏网络公司排名江苏互联网公司江苏互联网公司排名企业服务器租用游戏服务器租用华为云服务器阿里云服务器腾讯云服务器百度云服务器 虚拟云主机网站备案云虚拟主机徐州电信高防IP免费永久服务器云服务器网站企业云服务器网站云服务器### 

客户热线:0516-85619661

客户服务中心