bolt Valebyte VPS від $4/міс — NVMe, запуск за 60 секунд.

Отримати VPS arrow_forward
eco Початковий Туторіал

Установка и настройка Ghost CMS на VPS: пошаговое руководство

calendar_month May 16, 2026 schedule 9 хв. читання visibility 600 переглядів
Установка и настройка Ghost CMS на VPS: пошаговое руководство по развертыванию профессионального блога
info

Потрібен сервер для цього гайду? Ми пропонуємо виділені сервери та VPS у 50+ країнах з миттєвим налаштуванням.

Потрібен сервер для цього гайду?

Розгорніть VPS або виділений сервер за хвилини.

Встановлення та налаштування Ghost CMS на VPS: покрокова інструкція з розгортання професійного блогу

1. TL;DR

Ця інструкція описує процес розгортання Ghost CMS — найшвидшої та найсучаснішої платформи для професійного блогінгу та медіа-бізнесу — на власному віртуальному сервері (VPS) під керуванням Ubuntu 26.04 LTS. Ми пройдемо шлях від вибору "заліза" та базового захисту сервера до тонкого налаштування Node.js, MySQL 8.4 та автоматизації бекапів, що дозволить вам отримати повний контроль над своїм контентом та даними без щомісячних платежів за SaaS-підписки.

  • Стек технологій: Ubuntu 26.04, Node.js 24/26 (LTS), MySQL 8.4 LTS, Nginx, Systemd.
  • Складність: Середня (потрібні базові навички роботи з терміналом).
  • Час виконання: 30–45 хвилин.
  • Результат: Повністю готовий до роботи блог з підтримкою SSL (HTTPS), розсилок та високою продуктивністю.
  • Головна перевага: Повна приватність та масштабованість при мінімальних витратах на хостинг.
rocket_launch Швидкий вибір

Шукаєте сервер, який просто працює?

Valebyte VPS — NVMe, підтримка 24/7, розгортання за 60 секунд.

Переглянути тарифи VPS arrow_forward

3. Що ми налаштовуємо та навіщо: Ghost CMS проти конкурентів

Схема: 3. Що ми налаштовуємо та навіщо: Ghost CMS проти конкурентів
Схема: 3. Що ми налаштовуємо та навіщо: Ghost CMS проти конкурентів

Ghost CMS — це не просто "ще один движок для сайту". Це вузькоспеціалізована видавнича платформа, написана на Node.js, яка радикально відрізняється від важковагового WordPress або конструкторів на кшталт Wix. Ghost був створений колишніми розробниками WordPress, які втомилися від надмірності коду і вирішили сфокусуватися виключно на професійній журналістиці та контент-маркетингу.

Чому варто вибрати Self-hosted встановлення на VPS замість хмарної версії Ghost Pro?

  • Економія: Офіційний хостинг Ghost Pro починається від $9-25 на місяць з жорсткими обмеженнями по переглядах та кількості підписників. На власному VPS ви платите тільки за ресурси сервера і можете обслуговувати сотні тисяч відвідувачів за ті ж гроші.
  • Контроль даних: Всі ваші медіафайли, база даних підписників та налаштування зберігаються у вас. Це критично в епоху цифрової цензури та змін правил платформ.
  • Гнучкість: Ви можете встановлювати будь-які кастомні теми, інтегрувати свої скрипти аналітики та налаштовувати серверний кеш так, як потрібно саме вашому проєкту.

В рамках цього туторіалу ми розгорнемо Ghost в його нативному середовищі. Хоча існують Docker-образи, офіційний метод встановлення через ghost-cli вважається золотим стандартом для продакшн-рішень, тому що він забезпечує кращу продуктивність та спрощує процес оновлення ядра системи.

4. Який VPS-конфіг потрібен під Ghost CMS

Схема: 4. Який VPS-конфіг потрібен під Ghost CMS
Схема: 4. Який VPS-конфіг потрібен під Ghost CMS

Ghost CMS — досить ефективна система, але вона вимоглива до оперативної пам'яті через використання Node.js. У 2026 році вимоги до ресурсів стали вище, так як сучасні версії MySQL та Node.js споживають більше RAM для кешування та швидкої обробки запитів.

Характеристика Мінімально Рекомендовано (для трафіку)
Процесор (CPU) 1 Core (Shared) 2 Cores (Dedicated)
Оперативна пам'ять (RAM) 1 GB (з включеним SWAP) 2 GB або 4 GB
Диск (Storage) 20 GB SSD 50 GB+ NVMe SSD
ОС Ubuntu 24.04 LTS Ubuntu 26.04 LTS

Для стабільної роботи невеликого особистого блогу або корпоративного сайту цілком достатньо початкової конфігурації. Однак, якщо ви плануєте активно використовувати вбудовану систему розсилок Ghost (яка може генерувати навантаження при масовій відправці), краще орієнтуватися на 2 ГБ оперативної пам'яті. Для проєктів з високою відвідуваністю (від 500 000 унікальних відвідувачів на місяць) варто розглянути перехід на виділені сервери для бази даних.

Якщо ви тільки починаєте, найкраще буде взяти VPS з 2 ГБ оперативної пам'яті та NVMe-накопичувачем. Це забезпечить миттєве завантаження сторінок та швидку роботу панелі адміністратора навіть при завантаженні важких зображень.

Локація сервера: Вибирайте дата-центр максимально близько до вашої цільової аудиторії. Для Ghost це особливо важливо, так як час відгуку (TTFB) безпосередньо впливає на SEO-показники Core Web Vitals.

5. Підготовка сервера: безпека та базові утиліти

Схема: 5. Підготовка сервера: безпека та базові утиліти
Схема: 5. Підготовка сервера: безпека та базові утиліти

Після того, як ви отримали доступ до чистого сервера через SSH, першим ділом необхідно забезпечити його безпеку. Використовувати root для повсякденних задач та роботи CMS — погана практика.

Оновлення системи

Спочатку оновимо індекс пакетів і самі пакети до актуальних версій 2026 року:


sudo apt update && sudo apt upgrade -y

Створення системного користувача

Ghost вимагає наявності звичайного користувача з правами sudo. Назвемо його ghostadmin:


# Створюємо користувача
adduser ghostadmin

# Додаємо його в групу sudo
usermod -aG sudo ghostadmin

# Переключаємось на нового користувача
su - ghostadmin

Налаштування брандмауера (UFW)

Нам потрібно відкрити порти для SSH, HTTP та HTTPS:


sudo ufw allow OpenSSH
sudo ufw allow 'Nginx Full'
sudo ufw enable

Встановлення Fail2Ban

Для захисту від брутфорс-атак на SSH встановимо утиліту Fail2Ban:


sudo apt install fail2ban -y
sudo systemctl enable fail2ban
sudo systemctl start fail2ban
rocket_launch Швидкий вибір

Шукаєте сервер, який просто працює?

Valebyte VPS — NVMe, підтримка 24/7, розгортання за 60 секунд.

Переглянути тарифи VPS arrow_forward

6. Встановлення програмного стеку: Node.js, MySQL та Nginx

Схема: 6. Встановлення програмного стеку: Node.js, MySQL та Nginx
Схема: 6. Встановлення програмного стеку: Node.js, MySQL та Nginx

Ghost офіційно підтримує лише певні версії ПЗ. У 2026 році ми орієнтуємось на Node.js 24 або 26 LTS та MySQL 8.4.

Встановлення Nginx

Nginx буде виступати в ролі реверс-проксі, приймаючи запити з інтернету і передаючи їх локально запущеному додатку Ghost.


sudo apt install nginx -y
sudo systemctl enable nginx

Встановлення MySQL 8.4 LTS

Ghost використовує MySQL для зберігання контенту та даних користувачів. Ми встановимо актуальну LTS версію:


sudo apt install mysql-server -y

# Запускаємо скрипт безпеки
sudo mysql_secure_installation

В процесі виконання mysql_secure_installation рекомендується включити плагін валідації паролів та видалити анонімних користувачів.

Встановлення Node.js

Для встановлення Node.js найкраще використовувати офіційний репозиторій NodeSource, щоб отримати конкретну LTS-версію:


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

Перевірте коректність встановлення:


node -v # Має бути v24.x.x або вище
npm -v

7. Встановлення та конфігурація Ghost через Ghost-CLI

Схема: 7. Встановлення та конфігурація Ghost через Ghost-CLI
Схема: 7. Встановлення та конфігурація Ghost через Ghost-CLI

Ghost-CLI — це основний інструмент для встановлення та управління Ghost. Він автоматизує створення конфігів Nginx, налаштування Systemd та отримання SSL-сертифікатів.

Встановлення Ghost-CLI


sudo npm install -g ghost-cli@latest

Підготовка директорії

За правилами Linux, сторонні веб-додатки краще розміщувати в /var/www/:


# Створюємо папку (замініть my-blog на вашу назву)
sudo mkdir -p /var/www/ghost

# Призначаємо власником нашого користувача
sudo chown ghostadmin:ghostadmin /var/www/ghost
sudo chmod 775 /var/www/ghost

# Переходимо в папку
cd /var/www/ghost

Запуск процесу встановлення

Тепер запускаємо майстер встановлення. Переконайтеся, що ваш домен вже направлений (A-запис) на IP вашого VPS.


ghost install

В процесі встановлення Ghost-CLI задасть кілька важливих питань:

  • Blog URL: Введіть ваш домен (наприклад, https://example.com). Обов'язково з https.
  • MySQL hostname: Залиште localhost.
  • MySQL username / password: Введіть дані користувача root або створеного заздалегідь користувача БД.
  • Ghost database name: Можна залишити за замовчуванням.
  • Set up a ghost MySQL user? Рекомендується відповісти "Yes".
  • Set up Nginx? Обов'язково "Yes".
  • Set up SSL? Обов'язково "Yes" (знадобиться email для Let's Encrypt).
  • Set up systemd? Так, це дозволить Ghost автоматично запускатись при старті сервера.
  • Start Ghost? Так.

Після завершення ви побачите посилання на панель адміністратора: https://example.com/ghost/. Зайдіть туди негайно, щоб створити аккаунт адміністратора, інакше це може зробити хтось інший.

8. Тонке налаштування продуктивності та HTTPS

Схема: 8. Тонке налаштування продуктивності та HTTPS
Схема: 8. Тонке налаштування продуктивності та HTTPS

Стандартне встановлення хороше, але для професійного блогу потрібна додаткова оптимізація.

Налаштування кешування в Nginx

Ghost віддає контент швидко, але статичні файли (картинки, JS, CSS) краще кешувати на стороні Nginx. Відредагуйте конфіг вашого сайту в /etc/nginx/sites-available/, додавши заголовки Cache-Control для статики.

Оптимізація зображень

Ghost вміє автоматично ресайзити зображення. Переконайтеся, що в файлі config.production.json включена обробка медіафайлів:


"imageOptimization": {
    "resize": true
}

Налаштування пошти (Mailgun)

Для роботи розсилок та відновлення паролів Ghost вимагає SMTP-провайдера. Офіційно рекомендується Mailgun, так як Ghost має з ним глибоку інтеграцію через API для масових розсилок. Дані вносяться в той же config.production.json:


"mail": {
  "transport": "SMTP",
  "options": {
    "service": "Mailgun",
    "host": "smtp.eu.mailgun.org",
    "port": 587,
    "auth": {
      "user": "[email protected]",
      "pass": "your_password"
    }
  }
}

Після зміни конфіга завжди робіть ghost restart.

rocket_launch Швидкий вибір

Шукаєте сервер, який просто працює?

Valebyte VPS — NVMe, підтримка 24/7, розгортання за 60 секунд.

Переглянути тарифи VPS arrow_forward

9. Бекапи та обслуговування: стратегія виживання даних

Схема: 9. Бекапи та обслуговування: стратегія виживання даних
Схема: 9. Бекапи та обслуговування: стратегія виживання даних

Робота з Self-hosted рішенням накладає відповідальність за збереження даних. У Ghost потрібно бекапити три речі: базу даних, папку content (зображення та теми) і файл конфігурації.

Простий скрипт бекапу

Створимо скрипт backup.sh, який буде архівувати дані і відправляти їх у віддалене сховище:


#!/bin/bash
BACKUP_PATH="/home/ghostadmin/backups"
GHOST_ROOT="/var/www/ghost"
DATE=$(date +%Y-%m-%d)

# Створюємо папку бекапу
mkdir -p $BACKUP_PATH

# Експорт бази даних
sudo mysqldump ghost_production > $BACKUP_PATH/db_$DATE.sql

# Архівування контенту
tar -czf $BACKUP_PATH/content_$DATE.tar.gz $GHOST_ROOT/content/

# Видалення старих бекапів (старше 30 днів)
find $BACKUP_PATH -type f -mtime +30 -delete

Використання Restic для S3

Для більш надійного зберігання рекомендується використовувати restic або rclone для синхронізації бекапів з S3-сумісним сховищем (наприклад, зовнішнім об'єктним сховищем). Це гарантує, що навіть при повній загибелі VPS ваш контент залишиться в безпеці.

Оновлення Ghost

Ghost оновлюється дуже часто. Процес максимально спрощений:


cd /var/www/ghost
ghost update

Перед оновленням Ghost-CLI завжди перевіряє сумісність версій Node.js і наявність бекапу.

10. Troubleshooting + FAQ: вирішення типових проблем

Помилка: "Ghost-CLI needs to be updated"

Якщо ви давно не заходили на сервер, спочатку оновіть сам CLI: sudo npm install -g ghost-cli@latest, а потім запускайте оновлення блогу.

Помилка 502 Bad Gateway

Це означає, що Nginx запущений, а Node.js процес Ghost — ні. Перевірте статус: ghost ls або ghost run для перегляду логів в реальному часі. Часто причина криється в нестачі оперативної пам'яті (OOM Killer вбив процес).

Як додати SWAP, якщо мало RAM?

Якщо ваш VPS має тільки 1 ГБ RAM, обов'язково додайте файл підкачки:


sudo fallocate -l 2G /swapfile
sudo chmod 600 /swapfile
sudo mkswap /swapfile
sudo swapon /swapfile
echo '/swapfile none swap sw 0 0' | sudo tee -a /etc/fstab

Який VPS-конфіг мінімально підійде?

Для запуску Ghost достатньо 1 ядра і 1 ГБ оперативної пам'яті. Однак для комфортної роботи панелі управління і швидкої збірки тем при оновленні ми наполегливо рекомендуємо 2 ГБ RAM. Це запобіжить зависанням MySQL в моменти пікового навантаження.

Що вибрати — VPS або dedicated для цієї задачі?

У 99% випадків для Ghost CMS достатньо VPS. Виділений сервер (dedicated) може знадобитися тільки в двох випадках: якщо у вас величезна база медіафайлів (терабайти зображень) або якщо ваш блог перетворився в медіа-гігант з мільйонами підписників і ви хочете винести базу даних на окреме фізичне залізо для максимальної безпеки.

Не приходять листи (розсилка)

Перевірте налаштування портів. Багато VPS-провайдерів блокують порт 25 за замовчуванням. Використовуйте порт 587 (TLS) і переконайтеся, що в Mailgun верифіковані всі DNS-записи (SPF, DKIM, CNAME).

Як змінити ліміт завантаження файлів в Nginx?

За замовчуванням Nginx обмежує завантаження файлів 1 МБ. Щоб завантажувати великі картинки, додайте client_max_body_size 50M; в блок http або server конфіга Nginx.

11. Висновки та наступні кроки

Схема: 11. Висновки та наступні кроки
Схема: 11. Висновки та наступні кроки

Вітаємо! Ви розгорнули власну професійну видавничу платформу на базі Ghost CMS. Тепер у вас є швидкий, безпечний і повністю контрольований інструмент для створення контенту, який перевершує більшість комерційних рішень по швидкості та зручності роботи.

Ваші наступні кроки для розвитку проекту:

  • Вибір теми: Відвідайте маркетплейс Ghost або створіть свою тему на движку Handlebars. Ghost дуже доброзичливий до розробників тем.
  • Налаштування аналітики: Замість важкого Google Analytics спробуйте легковажні і приватні альтернативи, такі як Plausible або Umami.
  • Монетизація: Налаштуйте інтеграцію зі Stripe прямо в панелі Ghost, щоб почати продавати платні підписки на ваш контент.
  • SEO: Ghost вже оптимізований для пошукових систем "з коробки" (автоматичні sitemaps, мета-теги, JSON-LD), але не забудьте налаштувати редиректи, якщо ви переїжджаєте з іншої платформи.

Регулярно перевіряйте оновлення і стежте за логами сервера. Власний сервер — це не тільки свобода, але і відповідальність за технічний стан вашого цифрового дому.

Поділитися цим записом:

установка и настройка ghost cms на vps: пошаговое руководство по развертыванию профессионального блога
support_agent
Valebyte Support
Usually replies within minutes
Hi there!
Send us a message and we'll reply as soon as possible.