Table of Contents

Ghost — посібник для початку роботи

Ghost — платформа для блогів і публікацій з відкритим кодом із сучасним редактором, членством, розсилками й вбудованим SEO. Сервер постачається з встановленими Ghost, MySQL, Nginx і Certbot — домен, email адміністратора та пароль, вказані під час замовлення, уже налаштовано.


Крок 1 — перевірте, що Ghost працює

IP-адресу сервера й пароль root показано на сторінці Server Details у клієнтській панелі. Блог уже доступний за IP-адресою:

  • Блог: http://your.server.ip
  • Панель адміністратора: http://your.server.ip/ghost/

Увійдіть у панель адміністратора з email і паролем, вказаними під час замовлення. Якщо сторінка завантажується й ви можете увійти, Ghost працює правильно.

Якщо ви розмістили сервер за маршрутизатором VyOS у приватній мережі, налаштуйте переадресацію портів 22 (SSH), 80 (HTTP) і 443 (HTTPS). Ghost — публічний блог, який має бути доступний з інтернету.


Крок 2 — налаштуйте домен і SSL (рекомендовано)

Якщо під час замовлення ви вказали домен, його вже налаштовано в Ghost. Спрямуйте DNS A-запис домену на IP сервера, потім підключіться через SSH і увімкніть SSL:

ssh root@your.server.ip
/opt/setup/get-ssl.sh your-domain.com

Скрипт отримає сертифікат Let’s Encrypt, налаштує Nginx для HTTPS і автоматично оновить URL Ghost. Після завершення:

https://your-domain.com          (blog)
https://your-domain.com/ghost/   (admin panel)

Зміна домену згодом

Якщо після налаштування потрібно змінити домен:

cd /var/www/ghost
sudo -u ghost ghost config url http://new-domain.com
sudo -u ghost ghost restart
sed -i "s/server_name .*/server_name new-domain.com;/" /etc/nginx/sites-available/ghost
nginx -t && systemctl reload nginx

Потім виконайте /opt/setup/get-ssl.sh new-domain.com , щоб отримати SSL-сертифікат для нового домену.


Після встановлення

Fail2Ban — захист від підбору паролів

Сервер постачається з Fail2Ban , попередньо налаштованим для захисту SSH від підбору паролів.

Правило Макс. спроб Тривалість блокування
SSH5 невдалих входів10 хвилин

Корисні команди:

# Check banned IPs
fail2ban-client status sshd

# Unban an IP
fail2ban-client set sshd unbanip 1.2.3.4

Якщо ви випадково заблокували себе, підключіться через VNC-консоль у клієнтській панелі й розблокуйте свою IP.

Керування контентом

У панелі адміністратора можна:

  • Posts — створювати статті блогу в розширеному редакторі (Markdown, зображення, вставки, картки)
  • Pages — створювати статичні сторінки (About, Contact тощо)
  • Tags — упорядковувати контент тегами й внутрішніми тегами
  • Members — керувати підписниками та платним членством
  • Newsletters — надсилати email-розсилки підписникам

Налаштування теми

За замовчуванням Ghost використовує тему Casper . Щоб змінити чи налаштувати тему:

  • Settings > Design — налаштування кольорів, шрифтів і брендингу
  • Settings > Design > Change theme — встановлення нової теми з Ghost Marketplace або завантаження ZIP-файлу

Файли тем зберігаються в /var/www/ghost/content/themes/.

Резервні копії

Ghost має вбудований експорт у Settings > Labs > Export (JSON-копія записів і налаштувань). Для повної резервної копії разом із зображеннями та базою даних:

# Content and themes
tar czf /root/ghost-backup-$(date +%Y%m%d).tar.gz /var/www/ghost/content

# MySQL database
mysqldump ghost > /root/ghost-db-$(date +%Y%m%d).sql

Керування сервісами

# Check Ghost status
cd /var/www/ghost && sudo -u ghost ghost status

# Restart Ghost
cd /var/www/ghost && sudo -u ghost ghost restart

# View Ghost logs
cd /var/www/ghost && sudo -u ghost ghost log

# Stack services (managed by systemd)
systemctl status mysql nginx

Оновлення

# Update Ghost
cd /var/www/ghost
sudo -u ghost ghost update

# Update OS packages
apt update && apt upgrade -y

Встановлене ПЗ

Компонент Версія
Ubuntu24.04 LTS
Ghost5.x
Node.js22.x LTS
MySQL8.x
Nginx1.24
CertbotОстання
Fail2Ban1.0.2

Усунення проблем

Проблема Рішення
502 Bad Gateway Можливо, Ghost не працює. Перезапустіть: cd /var/www/ghost && sudo -u ghost ghost restart
Не вдається увійти в панель адміністратора Використовуйте email і пароль із замовлення. Пароль має містити щонайменше 10 символів
Не вдалося отримати SSL-сертифікат Переконайтеся, що DNS A-запис вказує на IP сервера. Деталі дивіться в /opt/setup/get-ssl.log
Оновлення Ghost не вдається Перевірте сумісність із Node.js: node --version. Див. підтримку Node.js у Ghost
Помилка підключення до MySQL Перевірте MySQL: systemctl status mysql. За потреби перезапустіть: systemctl restart mysql
No space left on device (закінчилося місце на диску) Перевірте диск: df -h /. Видаліть невикористовувані теми в /var/www/ghost/content/themes/
Заблоковано Fail2Ban Розблокуйте свою IP через VNC-консоль у клієнтській панелі
Забули пароль root Скиньте його через VNC-консоль у клієнтській панелі