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

Что такое Wiki.js

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

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

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

Где это применяют

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

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

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

  • VPS с Ubuntu 20.04/22.04 или 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_18.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
curl -sSo- https://wiki.js.org/install.sh | bash

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

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

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

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

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

curl -fsSL https://rpm.nodesource.com/setup_18.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

mkdir -p /var/www/wikijs
cd /var/www/wikijs
curl -sSo- https://wiki.js.org/install.sh | bash
Примечание про 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
User=www-data
WorkingDirectory=/var/www/wikijs
ExecStart=/usr/bin/node server
Restart=always
Environment=NODE_ENV=production

[Install]
WantedBy=multi-user.target
На AlmaLinux пользователя www-data по умолчанию нет — замените его на nginx или создайте отдельного системного пользователя командой sudo useradd -r -s /sbin/nologin wikijs и укажите его в файле службы.
Активируйте и запустите службу:

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

Проверьте статус:

sudo systemctl status wikijs

Обратный прокси на Nginx

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

Ubuntu:

sudo apt install -y nginx

AlmaLinux:

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

Если домен ещё не настроен — используйте IP-адрес VPS. Далее пройдите мастер первоначальной настройки: создайте учётную запись администратора и укажите базовые параметры вики.

Итог

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

Примітка

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