Установка та налаштування Ghost Self-Hosted — повний гайд

Встановлення та налаштування Ghost (Self-Hosted)

Розробка та обслуговування будь-яких видів сайтів:

Інформаційні сайти або веб-програми
Сайти візитки, landing page, корпоративні сайти, онлайн каталоги, квіз, промо-сайти, блоги, ресурси новин, інформаційні портали, форуми, агрегатори
Сайти або веб-програми електронної комерції
Інтернет-магазини, B2B-портали, маркетплейси, онлайн-обмінники, кешбек-сайти, біржі, дропшиппінг-платформи, парсери товарів
Веб-програми для управління бізнес-процесами
CRM-системи, ERP-системи, корпоративні портали, системи управління виробництвом, парсери інформації
Сайти або веб-програми електронних послуг
Дошки оголошень, онлайн-школи, онлайн-кінотеатри, конструктори сайтів, портали надання електронних послуг, відеохостинги, тематичні портали

Це лише деякі з технічних типів сайтів, з якими ми працюємо, і кожен із них може мати свої специфічні особливості та функціональність, а також бути адаптованим під конкретні потреби та цілі клієнта.

Послуги, які ми пропонуємо
Показано 1 з 1Усі 2062 послуг
Установка та налаштування Ghost Self-Hosted — повний гайд
Простий
від 1 дня до 3 днів

Наші компетенції:

Часті запитання

Останні роботи

  • Розробка сайту компанії B2B ADVANCE
    Розробка сайту компанії B2B ADVANCE
    1467
  • Розробка веб-додатків для компанії FEEDME
    Розробка веб-додатків для компанії FEEDME
    1317
  • Розробка веб-сайту для компанії БЕЛФІНГРУП
    Розробка веб-сайту для компанії БЕЛФІНГРУП
    1014
  • Розробка інтернет магазину для компанії FURNORO
    Розробка інтернет магазину для компанії FURNORO
    1276
  • Розробка веб-додатків для компанії Enviok
    Розробка веб-додатків для компанії Enviok
    1019
  • Розробка веб-сайту для компанії ФІКСПЕР
    Розробка веб-сайту для компанії ФІКСПЕР
    1019

Встановлення та налаштування Ghost (Self-Hosted)

Ви запускаєте контент-проєкт і обираєте між Ghost(Pro) та self-hosted. Ghost(Pro) коштує від $199/міс для 10 000 відвідувачів, self-hosted обходиться в $50–100/міс. При 50 000 відвідувачів економія сягає 70%. Self-hosted дає повний контроль, але вимагає налаштування сервера. Ghost — це open-source CMS, побудована на Node.js (Wikipedia). Ми розгорнули Ghost для проєктів з відвідуваністю від 500 до 500 000 на місяць — розповімо, як зробити це правильно.

Проблеми, які вирішує self-hosted Ghost

Найчастіші болі клієнтів: переплата за Ghost(Pro) при зростанні трафіку, неможливість кастомізувати оточення (потрібен Node.js 18+), необхідність інтеграції з S3 для медіа та відсутність контролю над версіями. Self-hosted Ghost дешевший за Ghost(Pro) у 2–3 рази при обсязі від 10 000 відвідувачів на місяць. Крім того, ви можете налаштувати Redis кешування, Cloudflare CDN та горизонтальне масштабування.

Ghost self-hosted — це не просто CMS, а інженерне завдання: потрібно забезпечити швидкий TTFB, низький LCP та стабільний INP. Без оптимізації Ghost генерує N+1 запити до бази, що збільшує час відповіді до 2–3 секунд. Наша конфігурація дає LCP < 2.5 с та INP < 200 мс навіть при 100 000 відвідувачів.

Як вибрати хостинг для Ghost self-hosted?

Ghost невибагливий до ресурсів: мінімальні вимоги — 1 ядро CPU, 1 ГБ RAM (рекомендуємо 2 ГБ), Ubuntu LTS, Node.js 18+, MySQL 8, Nginx. Для 50 000 відвідувачів на місяць достатньо 2 vCPU та 4 ГБ RAM. Якщо очікуєте піки — додайте Redis та налаштуйте load balancing.

Навантаження (відвідувачів/міс) vCPU RAM Сховище
до 10 000 1 2 ГБ 40 ГБ SSD
до 100 000 2 4 ГБ 80 ГБ SSD
більше 100 000 4 8 ГБ 160 ГБ SSD
Характеристика Ghost(Pro) Self-hosted
Контроль над сервером Ні Повний
Кастомізація оточення Обмежена Безмежна
Економія при 50 000 відв. Ні ~70%

Процес встановлення Ghost

Ghost CLI автоматизує більшість кроків. Детальна документація зі встановлення доступна на офіційному сайті Ghost. Нижче — типові команди.

Підготовка сервера

# Оновлення системи sudo apt update && sudo apt upgrade -y # Node.js 18 через NodeSource curl -fsSL https://deb.nodesource.com/setup_18.x | sudo -E bash - sudo apt install -y nodejs # MySQL 8 sudo apt install -y mysql-server sudo mysql_secure_installation # Nginx sudo apt install -y nginx # Ghost CLI sudo npm install -g ghost-cli@latest 

MySQL налаштування:

CREATE USER 'ghost'@'localhost' IDENTIFIED BY 'strongpassword'; CREATE DATABASE ghost_prod CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; GRANT ALL PRIVILEGES ON ghost_prod.* TO 'ghost'@'localhost'; FLUSH PRIVILEGES; 

Встановлення Ghost через CLI

sudo mkdir -p /var/www/ghost sudo chown $(whoami):$(whoami) /var/www/ghost cd /var/www/ghost ghost install \ --url https://myblog.com \ --db mysql \ --dbhost localhost \ --dbuser ghost \ --dbpass strongpassword \ --dbname ghost_prod \ --process systemd \ --mail SMTP \ --mailhost smtp.mailgun.org \ --mailport 587 \ --mailssl true \ --mailuser [email protected] \ --mailpass mailgunpassword \ --mail-from [email protected] 

Ghost CLI автоматично налаштує Nginx virtual host та запросить SSL через Let's Encrypt.

Що робити після встановлення Ghost?

Першим ділом перевірте статус: ghost status. Налаштуйте автоматичне оновлення (обережно — іноді мажорні версії ламають теми). Рекомендуємо увімкнути image optimization в config.production.json та налаштувати S3 для медіа, щоб не зберігати файли на сервері.

Корисні команди управління Ghost:

ghost status # стан сервісу ghost stop / start # зупинка/запуск ghost restart # рестарт ghost update # оновлення до останньої версії ghost log # перегляд логів ghost config # редагування config.production.json ghost backup # створення бекапу (zip з контентом та файлами) 

Як оптимізувати продуктивність Ghost?

Основні моменти: налаштування Redis для кешування, увімкнення image optimization, використання CDN (Cloudflare) та S3 для медіа. Ці заходи дозволяють досягти LCP < 2.5 с та INP < 200 мс. Без них Ghost може показувати TTFB понад 1 секунду.

Типові помилки при встановленні Ghost

Типові помилки при встановленні Ghost
  • Невірний пароль MySQL — використовуйте складний пароль та перевіряйте через mysql -u root -p
  • Порт 80 або 443 зайнятий іншим сервісом — відключіть Apache або змініть порт
  • Проблеми з правами доступу до папки /var/www/ghost — використовуйте sudo chown
  • Відсутність swap при нестачі RAM — додайте swap-файл

Процес роботи над проєктом

  1. Аналітика та проєктування: визначаємо навантаження, підбираємо сервер, проєктуємо архітектуру (балансування, кешування).
  2. Підготовка сервера: встановлення ОС, налаштування безпеки, встановлення залежностей.
  3. Встановлення Ghost: через CLI або ручне налаштування конфігурації.
  4. Інтеграції: S3 для медіа, SMTP для пошти, SSL-сертифікат, CDN (Cloudflare).
  5. Оптимізація продуктивності: налаштування кешування, стиснення зображень, мікророзмітка, Core Web Vitals.
  6. Тестування та деплой: навантажувальне тестування, перевірка сумісності, передача проєкту.

Що входить в роботу

  • Підготовка сервера: налаштування Ubuntu, Node.js 18+, MySQL 8, Nginx.
  • Встановлення Ghost: через CLI з генерацією SSL, налаштуванням SMTP.
  • Інтеграція S3: для зберігання медіафайлів (Amazon S3, DigitalOcean Spaces).
  • Оптимізація продуктивності: кешування Redis, мініфікація, LCP < 2.5 с.
  • Документація: опис конфігурації та команд управління.
  • Навчання: інструкція для редакторів з роботи з CMS.
  • Технічна підтримка: 2 місяці після запуску.

Кастомна конфігурація

// /var/www/ghost/config.production.json { "url": "https://myblog.com", "database": { "client": "mysql2", "connection": { "host": "localhost", "user": "ghost", "password": "...", "database": "ghost_prod" } }, "mail": { "transport": "SMTP", "options": { "host": "smtp.mailgun.org", "port": 587, "auth": { "user": "...", "pass": "..." } } }, "storage": { "active": "s3", "s3": { "accessKeyId": "...", "secretAccessKey": "...", "bucket": "myblog-media", "region": "eu-west-1", "assetHost": "https://cdn.myblog.com" } }, "imageOptimization": { "resize": true, "srcsets": true }, "privacy": { "useUpdateCheck": true, "useGravatar": false } } 

Чому варто довірити налаштування Ghost професіоналам?

Ghost — це не просто npm install. Без досвіду можна натрапити на N+1 запити, проблеми з Redis та нестабільність при високих навантаженнях. Ми за 10+ проєктів по Ghost напрацювали шаблони конфігурації, які дають LCP < 2.5 с та INP < 200 мс. Гарантуємо стабільну роботу під навантаженням до 100 000 відвідувачів на місяць.

Орієнтовні терміни: від 2 до 5 робочих днів. Вартість розраховується індивідуально під проєкт. Якщо потрібна допомога — зв'яжіться, ми виконаємо роботу під ключ з гарантією два місяці. Замовте налаштування Ghost у нас — отримайте стабільний сайт з гарантією.