Встановлення та запуск 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 — незалежно від того, який дистрибутив ви обрали. Такий підхід забезпечує безпечний запуск, автоматичний старт служби після перезавантаження сервера та готовність системи до реального робочого навантаження.

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