Установка и запуск Wiki.js на VPS: пошаговая инструкция для Ubuntu и AlmaLinux

Что такое Wiki.js

Wiki.js — это современная платформа для создания вики и баз знаний с открытым исходным кодом, написанная на Node.js. Она подходит как для отдельных людей, так и для команд или крупных организаций, которым необходимо удобное хранилище документации с возможностью совместного редактирования. Для работы только нужен надежный VPS хостинг с поддержкой Node.js.

Основные возможности

  • Совместная работа в реальном времени — несколько пользователей могут редактировать страницы одновременно.
  • Гибкое редактирование — поддержка Markdown, WYSIWYG-режима и подсветки кода.
  • Многоязычность — интерфейс и контент можно переводить на разные языки.
  • Гибкие права доступа — детальная настройка ролей для пользователей и групп.
  • Различные способы аутентификации — локальные аккаунты, LDAP, SAML, OAuth (Google, GitHub, Microsoft и т. д.).
  • История версий — все изменения фиксируются, поэтому можно откатиться к предыдущей редакции.
  • Управление медиафайлами — загрузка и упорядочивание изображений, документов и файлов.
  • Встроенный поиск — полнотекстовый поиск по всей вики.
  • Кастомизация внешнего вида — собственные цвета, брендинг и компоновка страниц.
  • Расширяемость — модули для диаграмм, математических формул, графиков и другого.

Где это используют

  • Внутренняя документация компании
  • Публичная документация продукта или API
  • База знаний проекта
  • Образовательные материалы и учебные порталы
  • Личные вики или исследовательские заметки

Далее пошагово разберем, как развернуть Wiki.js на VPS — отдельно для Ubuntu и для AlmaLinux, поскольку команды пакетных менеджеров в этих дистрибутивах отличаются.

Системные требования

Главное преимущество Wiki.js в том, что она прекрасно работает даже на одном ядре процессора. Однако рекомендуется установка на сервер с 2-мя ядрами и более. Также необходимо от 1Гб памяти и 1Гб дискового пространства. Это означает, что для работы Wiki.js подойдет даже дешевый VPS.

Также для работы нужны:

База данных:

Для наилучшей производительности, полного набора функций и совместимости с будущими версиями рекомендуется использовать PostgreSQL.

  • PostgreSQL 9.5 или новее

Желательно устанавливать самую свежую доступную версию PostgreSQL.

Обратите внимание: для работы модуля поиска PostgreSQL требуется расширение pg_trgm.

Кроме PostgreSQL, Wiki.js также совместим со следующими СУБД:

  • MySQL 8.0 или новее (MySQL 5.7.8 поддерживается частично)
  • MariaDB 10.2.7 или новее
  • MS SQL Server 2012 или новее
  • SQLite 3.9 или новее

Важно! В следующей мажорной версии Wiki.js поддержка MySQL, MariaDB, MS SQL Server и SQLite будет прекращена. Если планируете обновляться до Wiki.js 3.x в будущем, стоит заранее учесть миграцию на PostgreSQL — разработчики обещают выпустить инструмент для экспорта/импорта базы ближе к релизу.

SQLite не рекомендуется использовать на продакшн-серверах.

Предполагается, что одна из этих СУБД уже установлена — локально, на отдельном сервере или через облачный сервис. Для работы Wiki.js нужна пустая база данных и желательно отдельный уникальный пользователь для подключения к ней.

Node.js:

Требуется среда выполнения Node.js. Поддерживаются следующие версии:

  • Node.js 24: версия 24.0 или новее (с релиза v2.5.302)
  • Node.js 22: версия 22.0 или новее (с релиза v2.5.302)

Веб-сервер:

Wiki.js не требует отдельного веб-сервера (например, Nginx или Apache) для работы. Однако если у вас более сложная сетевая конфигурация или специфические настройки DNS, может понадобиться реверс-прокси перед Wiki.js.

Что нужно подготовить заранее

  • VPS с Ubuntu 20.04/22.04 или VPS с AlmaLinux 8/9 с доступом к sudo
  • Желательно (но не обязательно) — собственный домен
  • Учетная запись без прав root, но с правами администратора
  • Данные для подключения к PostgreSQL (создадим их ниже)

Сначала обновите систему.

Ubuntu:

sudo apt update && sudo apt upgrade -y 

AlmaLinux:

sudo dnf upgrade -y

Установка Wiki.js на Ubuntu

Шаг 1. Установка базовых пакетов

sudo apt install -y curl gnupg2 software-properties-common apt-transport-https

Шаг 2. Установка Node.js (LTS)

Wiki.js официально рекомендует Node.js 18 LTS.

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

Проверьте версии:

node -v
npm -v

Шаг 3. Установка и настройка PostgreSQL

sudo apt install -y postgresql postgresql-contrib

Создайте базу данных и пользователя:

sudo -u postgres psql

Внутри консоли PostgreSQL выполните:

CREATE DATABASE wikijs;
CREATE USER wikiuser WITH PASSWORD 'ВашНадежныйПароль';
ALTER ROLE wikiuser SET client_encoding TO 'UTF8';
ALTER ROLE wikiuser SET default_transaction_isolation TO 'read committed';
ALTER ROLE wikiuser SET timezone TO 'UTC';
GRANT ALL PRIVILEGES ON DATABASE wikijs TO wikiuser;
\q
Важно! Вместо «ВашНадежныйПароль» установите ваш собственный пароль для базы данных.

Шаг 4. Загрузка Wiki.js

mkdir -p /var/www/wikijs
cd /var/www/wikijs
wget https://github.com/Requarks/wiki/releases/latest/download/wiki-js.tar.gz
tar xzf wiki-js.tar.gz
mv config.sample.yml config.yml

Установка Wiki.js на AlmaLinux

Шаг 1. Установка базовых пакетов и репозиториев

AlmaLinux опирается на dnf, поэтому некоторые пакеты нужно подключать через EPEL.

sudo dnf install -y epel-release wget nano
sudo dnf install -y curl gnupg2 policycoreutils-python-utils

Шаг 2. Установка Node.js (LTS)

curl -fsSL https://rpm.nodesource.com/setup_24.x | sudo -E bash -
sudo dnf install -y nodejs

Проверьте версии:

node -v
npm -v

Шаг 3. Установка и настройка PostgreSQL

В AlmaLinux нужно сначала инициализировать базу данных после установки сервера.

sudo dnf install -y postgresql-server postgresql-contrib
sudo postgresql-setup --initdb
sudo systemctl enable --now postgresql

Создайте базу и пользователя так же, как в Ubuntu:

sudo -u postgres psql
CREATE DATABASE wikijs;
CREATE USER wikiuser WITH PASSWORD 'ВашНадежныйПароль';
ALTER ROLE wikiuser SET client_encoding TO 'UTF8';
ALTER ROLE wikiuser SET default_transaction_isolation TO 'read committed';
ALTER ROLE wikiuser SET timezone TO 'UTC';
GRANT ALL PRIVILEGES ON DATABASE wikijs TO wikiuser;
\q
Важно! Вместо «ВашНадежныйПароль» установите ваш собственный пароль для базы данных.

По умолчанию PostgreSQL на AlmaLinux позволяет только аутентификацию peer/ident для локальных соединений. Если Wiki.js не может подключиться, отредактируйте pg_hba.conf (обычно /var/lib/pgsql/data/pg_hba.conf), изменив метод аутентификации для 127.0.0.1/32 на md5, и перезапустите службу:

sudo systemctl restart postgresql

Шаг 4. Загрузка Wiki.js

На AlmaLinux пользователя www-data по умолчанию нет. Замените его на другого или создайте этого пользователя командой:
sudo useradd -r -s /sbin/nologin www-data
mkdir -p /var/www/wikijs
cd /var/www/wikijs
wget https://github.com/Requarks/wiki/releases/latest/download/wiki-js.tar.gz
tar xzf wiki-js.tar.gz
mv config.sample.yml config.yml
Примечание относительно SELinux: если на сервере включен SELinux (типично для AlmaLinux), возможно, придется разрешить сетевые соединения для Node.js или временно перевести SELinux в режим permissive для диагностики: sudo setenforce 0. Для постоянного решения лучше настроить соответствующие политики, а не отключать SELinux полностью.

Настройка Wiki.js

Независимо от дистрибутива, файл конфигурации один и тот же:

nano /var/www/wikijs/config.yml

Найдите и измените секцию базы данных:

db:
  type: postgres
  host: localhost
  port: 5432
  user: wikiuser
  pass: ВашНадежныйПароль
  db: wikijs

Сохраните файл (CTRL+O, затем CTRL+X).

Создание службы systemd

Это нужно, чтобы Wiki.js автоматически запускался вместе с сервером — на Ubuntu и AlmaLinux этот шаг идентичен.

sudo nano /etc/systemd/system/wikijs.service

Вставьте:

[Unit]
Description=Wiki.js
After=network.target

[Service]
Type=simple
ExecStart=/usr/bin/node server
Restart=always
User=www-data
Environment=NODE_ENV=production
WorkingDirectory=/var/www/wikijs

[Install]
WantedBy=multi-user.target

Активируйте и запустите службу:

sudo systemctl daemon-reload
sudo systemctl enable wikijs
sudo systemctl start wikijs

Проверьте состояние:

sudo systemctl status wikijs

Создаем дополнительные папки, необходимые для работы:

mkdir /var/www/wikijs/data/cache
mkdir /var/www/wikijs/data/uploads
chown www-data.www-data /var/www/wikijs/data/cache
chown www-data.www-data /var/www/wikijs/data/uploads

Реверс-прокси на Nginx

Это не обязательный, но очень рекомендуемый шаг для работы через домен и порт 80/443.

Ubuntu:

sudo apt install -y nginx

AlmaLinux:

sudo dnf remove -y httpd
sudo dnf install -y nginx
sudo systemctl enable --now nginx

Создайте конфигурацию сервера:

sudo nano /etc/nginx/conf.d/wikijs.conf

Пример конфигурации:

server {
    listen 80;
    server_name wiki.example.com;

    location / {
        proxy_pass http://localhost:3000;
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection 'upgrade';
        proxy_set_header Host $host;
        proxy_cache_bypass $http_upgrade;
    }
}

На Ubuntu файл конфигурации принято класть в /etc/nginx/sites-available/ и создавать символьную ссылку в /etc/nginx/sites-enabled/:

sudo ln -s /etc/nginx/sites-available/wikijs /etc/nginx/sites-enabled/

На AlmaLinux файлы из /etc/nginx/conf.d/*.conf подключаются автоматически, отдельная ссылка не нужна.

Проверьте конфигурацию и перезапустите Nginx:

sudo nginx -t
sudo systemctl restart nginx

Если на AlmaLinux включен firewalld, откройте нужные порты:

sudo firewall-cmd --permanent --add-service=http
sudo firewall-cmd --permanent --add-service=https
sudo firewall-cmd --reload

SSL-сертификат от Let’s Encrypt

Ubuntu:

sudo apt install -y certbot python3-certbot-nginx
sudo certbot --nginx -d wiki.example.com

AlmaLinux:

sudo dnf install -y certbot python3-certbot-nginx
sudo certbot --nginx -d wiki.example.com

Первый запуск Wiki.js

Откройте в браузере адрес вашего домена:

https://wiki.example.com

Важно! Вместо «wiki.example.com» используйте Ваш собственный домен, который направлен на сервер

Последний шаг

После того как вы выполнили все перечисленные действия и открыли в браузере ваш домен, вам откроется страница для завершения установки Wiki.js, где Вам надо:

1. В поле «Administrator Email» ввести электронный почтовый адрес администратора сайта
2. Дважды ввести пароль администратора
3. Ввести адрес сайта.
4. Нажать «INSTALL»

Так что если вы планируете запуск базы знаний на Wiki.js, достаточно приобрести надежный и стабильный VPS хостинг и можно приступать к работе.

Прокрутить вверх