Встановлення та запуск 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. У більшості дистрибутивів Linux воно входить до пакета postgresql-contrib.

Крім 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 і зможете розпочати створення своєї бази знань.

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

Прокрутка до верху