Що таке 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
www-data за замовчуванням немає. Замініть його на іншого або створіть цього користувача командою:sudo useradd -r -s /sbin/nologin www-datamkdir -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
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.js де Вам треба:
1. В полі “Administrator Email” ввести електронну поштову адресу адміністратора сайту
2. Двічі ввести пароль адміністратора
3. Ввести адресу сайту.
4. Натиснути “INSTALL”

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

