如何在 Ubuntu 18.04 LTS 上安装 Wiki.js如何在 Ubuntu 18.04 LTS 上安装 Wiki.js如何在 Ubuntu 18.04 LTS 上安装 Wiki.js如何在 Ubuntu 18.04 LTS 上安装 Wiki.js
  • 文章
  • 正则表达式
    • 工具
  • 登录
找到的结果: {phrase} (显示: {results_count} 共: {results_count_total})
显示: {results_count} 共: {results_count_total}

加载更多搜索结果...

搜索范围
模糊匹配
搜索标题
搜索内容
发表 admin at 2025年2月28日
类别
  • 未分类
标签

如何在 Ubuntu 18.04 LTS 上安装 Wiki.js

在此页

  1. 要求
  2. 先决条件
  3. 初始步骤
  4. 第 1 步 - 安装 Node.js 和 npm
  5. 第 2 步 - 安装 MongoDB 数据库
  6. 第 3 步 - 安装 acme.sh 客户端并获取 Let\>)
  7. 第 4 步 - 安装和配置 NGINX
  8. 第 5 步 - 安装和设置 Wiki.js
  9. 第 6 步 - 设置 PM2 流程管理器
  10. 链接

Wiki.js 是一个基于 Node.js、Git 和 Markdown 的开源、现代且功能强大的 wiki 应用程序。 Wiki.js 在速度极快的 Node.js 引擎上运行,并经过优化以节省 CPU 资源。一些值得一提的 Wiki.js 特性是:

  • Markdown 编辑,由 Git 支持
  • 重量轻,但非常强大
  • 为现代网络精心设计
  • 集成访问控制
  • 直观的资产管理
  • 内置搜索引擎

在本教程中,我们将引导您在 Ubuntu 18.04 LTS 操作系统上完成 Wiki.js 版本 1 安装过程,使用 NGINX 作为反向代理服务器,MongoDB 作为数据库服务器,PM2 作为进程管理器,您还可以选择安全传输通过使用 acme.sh 客户端和 Lets Encrypt 证书颁发机构添加 SSL 支持。

要求

运行 Wiki.js 的要求如下:

  • Node.js 6.11.1 到 10.x 是必需的。
  • MongoDB 版本 3.2 或更高版本。
  • Git 版本 2.7.4 或更高版本。
  • 网络服务器软件,例如 NGINX、Apache、Caddy、H2O...
  • 一个空的 Git 存储库(可选)。
  • 至少 512MB RAM。建议使用 1GB 内存。
  • 大约 300MB 的磁盘空间。
  • 设置了 A/AAAA DNS 记录的域名。

先决条件

  • Ubuntu 18.04 LTS 操作系统。
  • 具有 sudo 权限的非根用户。

初始步骤

检查您的 Ubuntu 版本:

lsb_release -ds
# Ubuntu 18.04.1 LTS

设置时区:

sudo dpkg-reconfigure tzdata

更新您的操作系统包(软件)。这是重要的第一步,因为它确保您拥有操作系统默认软件包的最新更新和安全修复程序:

sudo apt update && sudo apt upgrade -y

安装 Ubuntu 操作系统基本管理所需的一些基本软件包:

sudo apt install -y curl wget vim git unzip socat bash-completion apt-transport-https build-essential

第 1 步 - 安装 Node.js 和 npm

Wiki.js 建立在 Node.js 之上。在撰写本文时,我们将为 Wiki.js 安装最新的推荐版本,即版本 10。在 Linux 上,您有几个 Node.js 安装选项:Linux 二进制文件 (x86/x64)、源代码或通过包管理器。我们将使用包管理选项,使安装和更新 Node.js 变得轻而易举。

从 NodeSource 存储库下载并安装最新推荐版本的 Node.js:

curl -sL https://deb.nodesource.com/setup_10.x | sudo -E bash -
sudo apt install -y nodejs

注意:npm 与 Node.js 一起分发 - 这意味着当您下载 Node.js 时,您会自动在系统上安装 npm。

检查 Node.js 和 npm 版本:

node -v && npm -v
# v10.15.1
# 6.4.1

Npm 是一个独立于 Node.js 的项目,并且更新频率更高。因此,即使您刚刚下载了 Node.js(因此也下载了 npm),您也可能需要更新您的 npm。幸运的是,npm 知道如何自我更新!要更新您的 npm,请在您的终端中输入:

sudo npm install -g 

此命令会将 npm 更新到最新的稳定版本。

使用以下命令重新检查 npm 版本:

npm -v
# 6.8.0

它应该返回最新的版本号。

第 2 步 - 安装 MongoDB 数据库

Wiki.js 需要一个数据库来存储它的数据,而目前 Wiki.js 的稳定版本只支持 MongoDB 数据库引擎。据此,我们需要安装 MongoDB 数据库。

下载并安装 MongoDB 数据库:

sudo apt install -y mongodb

检查 MongoDB 版本:

mongo --version | head -n 1 && mongod --version | head -n 1
# MongoDB shell version v3.6.3
# db version v3.6.3

启动并启用(将其设置为在重启时启动)MongoDB 服务(如果尚未启动和启用):

sudo systemctl start mongodb.service
sudo systemctl enable mongodb.service

第 3 步 - 安装 acme.sh 客户端并获取 Lets Encrypt 证书(可选)

没有必要使用 HTTPS 保护您的网站,但这是保护您的网站流量的好习惯。为了从 Lets Encrypt 获得 SSL 证书,我们将使用 acme.sh 客户端。 Acme.sh 是一款纯 UNIX shell 软件,用于零依赖地从 Lets Encrypt 获取 SSL 证书。

下载并安装 acme.sh:

sudo su - root
git clone https://github.com/Neilpang/acme.sh.git
cd acme.sh 
./acme.sh --install --accountemail 
source ~/.bashrc
cd ~

检查 acme.sh 版本:

acme.sh --version
# v2.8.1

为您的域名/主机名获取 RSA 和 ECC/ECDSA 证书:

# RSA 2048
acme.sh --issue --standalone -d example.com --keylength 2048
# ECDSA
acme.sh --issue --standalone -d example.com --keylength ec-256

如果你想要假证书进行测试,你可以在上面的命令中添加 --staging 标志。

要列出您颁发的证书,您可以运行:

acme.sh --list

创建文件夹来存储您的证书。我们将使用 /etc/letsencrypt 但它可以是您喜欢的任何东西来存储 SSL 证书。

mkdir -p /etc/letsencrypt/example.com
mkdir -p /etc/letsencrypt/example.com_ecc

安装/复制证书到 /etc/letsencrypt 目录。

# RSA
acme.sh --install-cert -d example.com \
--cert-file /etc/letsencrypt/example.com/cert.pem \
--key-file /etc/letsencrypt/example.com/private.key \
--fullchain-file /etc/letsencrypt/example.com/fullchain.pem \
--reloadcmd "sudo systemctl reload nginx.service"

# ECC/ECDSA
acme.sh --install-cert -d example.com --ecc \
--cert-file /etc/letsencrypt/example.com_ecc/cert.pem \
--key-file /etc/letsencrypt/example.com_ecc/private.key \
--fullchain-file /etc/letsencrypt/example.com_ecc/fullchain.pem \
--reloadcmd "sudo systemctl reload nginx.service"

运行上述命令后,您的证书和密钥将位于:

  • 对于 RSA:/etc/letsencrypt/example.com 目录。
  • 对于 ECC/ECDSA:/etc/letsencrypt/example.com_ecc 目录。

所有证书将每 60 天自动更新一次。

获得证书后,退出 root 用户并返回普通 sudo 用户:

exit

第 4 步 - 安装和配置 NGINX

Wiki.js(或任何 HTTP Node.js 应用程序)可以在没有任何实际 Web 服务器(例如 NGINX 或 Apache)的情况下运行。但是,强烈建议在 Wiki.js 前面放置一个标准的 Web 服务器。这确保您可以使用 SSL、多个网站、缓存等功能。我们将在本教程中使用 NGINX,但任何其他服务器都可以,您只需要正确配置它。

通过发出以下命令从官方 NGINX 存储库下载并安装 NGINX:

wget https://nginx.org/keys/nginx_signing.key
sudo apt-key add nginx_signing.key
rm nginx_signing.key
sudo -s
printf "deb https://nginx.org/packages/mainline/ubuntu/ $(lsb_release -sc) nginx\ndeb-src https://nginx.org/packages/mainline/ubuntu/ $(lsb_release -sc) nginx\n" >> /etc/apt/sources.list.d/nginx_mainline.list
exit
sudo apt update
sudo apt install -y nginx

检查 NGINX 版本:

sudo nginx -v
# nginx version: nginx/1.15.8

启用并启动 NGINX 服务:

sudo systemctl enable nginx.service
sudo systemctl start nginx.service

运行 sudo vim /etc/nginx/conf.d/wiki.js.conf

sudo vim /etc/nginx/conf.d/wiki.js.conf

并将 NGINX 配置为 HTTPS 反向代理。

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;
ssl_certificate /etc/letsencrypt/example.com_ecc/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/example.com_ecc/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; } }

在上述配置中,您唯一需要更改的是 server_name 指令,ssl 文件路径中的域名,如果您决定配置除3000 端口。 Wiki.js 默认使用端口 3000。

检查 NGINX 配置:

sudo nginx -t

最后,为了使更改生效,我们需要重新加载 NGINX:

sudo systemctl reload nginx.service

第 5 步 - 安装和设置 Wiki.js

创建 Wiki.js 应位于的文档根目录:

sudo mkdir -p /var/www/wiki.js

导航到文档根目录:

cd /var/www/wiki.js

为 wikijs 创建一个用户

sudo useradd -d /var/www/wiki.js wikijs

将 /var/www/wiki.js 目录的所有权更改为 wikijs 用户:

sudo chown -R wikijs:wikijs /var/www/wiki.js

在 /var/www/wiki.js 目录中,运行以下命令以获取并安装最新的 Wiki.js 应用程序:

cd /var/www/wiki.js
sudo su wikijs
curl -sSo- https://wiki.js.org/install.sh | bash

安装完成后,您可以运行以下命令来查看当前安装的 Wiki.js 版本:

node wiki --version
# 1.0.117

安装完成后,系统会提示您启动配置向导。

因此,通过运行以下命令启动配置向导:

node wiki configure

使用网络浏览器,导航至 http://example.com 并按照屏幕上的说明进行操作。在配置向导中输入的所有设置都保存在 config.yml 文件中。配置向导会自动为你启动 Wiki.js。

首先,您会看到一条欢迎消息。单击“开始”按钮:

接下来将出现“系统检查”页面。如果满足所有要求,请单击“继续”按钮。

输入有关您的 wiki 的一般信息,然后单击“继续”按钮:

阅读“重要注意事项”通知并单击“继续”进行下一步:

接下来,连接到数据库并继续:

您应该会看到一条消息,表明 Wiki.js 已成功连接到数据库。单击“继续”按钮:

设置路径并继续:

如果需要或跳过此步骤,请设置远程 Git 存储库。此步骤是可选的,但强烈推荐:

接下来,单击“继续”按钮:

创建一个管理员帐户并单击“继续”按钮:

最后,启动 Wiki.js:

等待大约 30 秒,您应该会被重定向到 Wiki.js 主页:

安装完成。你应该 wiki 欢迎页面:

第 6 步 - 设置 PM2 进程管理器

默认情况下,Wiki.js 不会在系统重启后自动启动。为了让它在开机时启动,我们需要设置 PM2 进程管理器。 PM2 作为本地 npm 模块与 Wiki.js 捆绑在一起,因此我们不需要全局安装 PM2。

通过运行以下命令告诉 PM2 将自身配置为启动服务:

/var/www/wiki.js/node_modules/pm2/bin/pm2 startup

最后,通过运行命令保存当前的 PM2 配置:

/var/www/wiki.js/node_modules/pm2/bin/pm2 save

您的 Wiki.js 现在作为后台进程运行,使用 PM2 作为其进程管理器。

链接

  • https://wiki.js.org/
  • https://github.com/Requarks/wiki-v1
  • https://github.com/Requarks/wiki

©2015-2025 艾丽卡 support@alaica.com