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 від підбору паролів.
| Правило | Макс. спроб | Тривалість блокування |
|---|---|---|
| SSH | 5 невдалих входів | 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
Встановлене ПЗ
| Компонент | Версія |
|---|---|
| Ubuntu | 24.04 LTS |
| Ghost | 5.x |
| Node.js | 22.x LTS |
| MySQL | 8.x |
| Nginx | 1.24 |
| Certbot | Остання |
| Fail2Ban | 1.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-консоль у клієнтській панелі |