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

在本教程中,我们将向您展示如何在 Ubuntu 22.04 LTS 上安装 Wiki.js。 对于那些不知道的人,Wiki.js 是开源的 wiki 软件,它健壮且适应性强,用 javascript 编写,并由 Node.js 引擎提供支持。 Wiki.js 支持各种数据库,例如 MySQL、MariaDB 和 MSSQL,主要支持 PostgreSQL。

本文假设您至少具备 Linux 的基本知识,知道如何使用 shell,最重要的是,您将网站托管在自己的 VPS 上。 安装非常简单,假设您在 root 帐户下运行,如果不是,您可能需要添加 ‘sudo‘ 到命令以获取 root 权限。 我将向您展示在 Ubuntu 22.04 (Jammy Jellyfish) 上逐步安装 Wiki.js。 对于 Ubuntu 22.04 和任何其他基于 Debian 的发行版,如 Linux Mint、Elementary OS、Pop!_OS 等,您可以按照相同的说明进行操作。

先决条件

  • 运行以下操作系统之一的服务器:Ubuntu 22.04、20.04 和任何其他基于 Debian 的发行版,如 Linux Mint。
  • 建议您使用全新的操作系统安装来防止任何潜在问题。
  • 对服务器的 SSH 访问(或者如果您在桌面上,则只需打开终端)。
  • 一个 non-root sudo user或访问 root user. 我们建议充当 non-root sudo user,但是,如果您在充当 root 时不小心,可能会损害您的系统。

在 Ubuntu 22.04 LTS Jammy Jellyfish 上安装 Wiki.js

步骤 1. 首先,通过运行以下命令确保所有系统包都是最新的 apt 终端中的命令。

sudo apt update sudo apt upgrade sudo apt install build-essential curl file git

步骤 2. 在 Ubuntu 22.04 上安装 Docker。

默认情况下,Docker 在 Ubuntu 22.04 基础存储库中不可用。 现在运行以下命令将 Docker 存储库添加到系统:

echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list

接下来,将 GPG 密钥导入您的系统:

curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg

启用存储库后,现在使用以下命令安装最新版本的 Docker 包:

sudo apt update sudo apt install docker-ce docker-ce-cli containerd.io docker-compose-plugin

您可以验证 Docker 是否已安装以及当前版本:

docker -v

成功安装后,启用 Docker(系统启动时自动启动),启动并使用以下命令验证状态:

sudo systemctl enable docker sudo systemctl start docker sudo systemctl status docker

步骤 3. 设置 Wiki.js 容器。

现在使用以下命令创建一个 Wiki.js 安装目录:

mkdir -p /etc/wiki

然后,生成一个数据库机密:

openssl rand -base64 32 > /etc/wiki/.db-secret

之后,我们为 Wiki.js 创建 docker 内部网络:

docker network create wikinet docker volume create pgdata

最后,创建实际的容器:

### 对于数据库容器###

docker create --name=db -e POSTGRES_DB=wiki -e POSTGRES_USER=wiki -e POSTGRES_PASSWORD_FILE=/etc/wiki/.db-secret -v /etc/wiki/.db-secret:/etc/wiki/.db-secret:ro -v pgdata:/var/lib/postgresql/data --restart=unless-stopped -h db --network=wikinet postgres:14

### 对于 wiki 容器 ###

docker create --name=wiki -e DB_TYPE=postgres -e DB_HOST=db -e DB_PORT=5432 -e DB_PASS_FILE=/etc/wiki/.db-secret -v /etc/wiki/.db-secret:/etc/wiki/.db-secret:ro -e DB_USER=wiki -e DB_NAME=wiki -e UPGRADE_COMPANION=1 --restart=unless-stopped -h wiki --network=wikinet -p 80:3000 -p 443:3443 ghcr.io/requarks/wiki:2

### 维基更新伴侣###

docker create --name=wiki-update-companion -v /var/run/docker.sock:/var/run/docker.sock:ro --restart=unless-stopped -h wiki-update-companion --network=wikinet requarks/wiki-update-companion:latest

完成后,启动我们创建的 docker 容器:

docker start db docker start wiki docker start wiki-update-companion

步骤 4. 在 Ubuntu 22.04 上安装 Nginx。

默认情况下,Nginx 在 Ubuntu 22.04 基础存储库中可用。 现在运行以下命令将最新版本的 Nginx 安装到您的 Ubuntu 系统:

sudo apt install nginx

安装成功后,启用 Nginx(系统启动时自动启动),启动,并使用以下命令验证状态:

sudo systemctl enable nginx sudo systemctl start nginx sudo systemctl status nginx

步骤 5. 配置防火墙。

Ubuntu 22.04 有 ufw 默认运行的防火墙。 现在我们通过端口 HTTP 和 HTTPS 启用连接:

sudo ufw allow 'Nginx HTTP' sudo ufw enable sudo ufw status

步骤 6. 访问 Wiki.js Web 界面。

成功安装后,打开您的 Web 浏览器并使用 URL 访问 Wiki.js 页面 https://your-server-ip-address. 您应该在以下屏幕上看到 Wiki.js 默认页面:

恭喜! 您已成功安装 Wiki.js。 感谢您使用本教程在 Ubuntu 22.04 LTS Jammy Jellyfish 系统上安装 Wiki.js。 如需更多帮助或有用信息,我们建议您查看 官方 Wiki.js 网站.