VPS для Ghost: свой блог без подписки Ghost(Pro)
Ghost — быстрый Node.js-движок для блогов и медиа с чистым редактором и встроенными подписками. Официальный хостинг Ghost(Pro) стоит от $9 в месяц, но тот же движок ставится на свой VPS одной командой ghost-cli — и вы платите только за сервер. Разбираем установку от чистой Ubuntu до работающего HTTPS-сайта.
Содержание
Почему Ghost просят именно свой сервер
['Ghost — это не PHP-скрипт для дешёвого shared-хостинга, а полноценное Node.js-приложение с собственным процессом, которое слушает порт и работает в фоне. Виртуальный хостинг такое обычно не разрешает: там нет ни постоянного процесса, ни root-доступа, ни возможности поставить свежую версию Node. Поэтому Ghost и хостят на VPS.', 'Плюс своего сервера — полный контроль: любая тема, любые интеграции, свой SMTP для рассылок, никаких лимитов на число участников платной подписки. Ghost(Pro) удобен, но за рост аудитории там платят по тарифной сетке, а на VPS цена фиксирована.', 'Ресурсов Ghost требует немного: для блога хватает 1–2 vCPU и 2 ГБ RAM. Критичнее диск — база и медиа любят быстрый ввод-вывод, поэтому NVMe заметно оживляет админку. На тарифах MAATRIX (AMD EPYC + NVMe) редактор и превью открываются без задержек даже на младшем плане.']Нужен сервер под эту задачу?
Разверните VPS MAATRIX за пару минут: NVMe, AMD EPYC, root-доступ, локации UK и США. Оплата картой РФ и по СБП.
Арендовать VPS для GhostГотовим сервер: Node.js, MySQL, nginx
['Ghost официально поддерживает Ubuntu LTS. Обновите систему и поставьте веб-сервер и базу:', 'sudo apt update && sudo apt upgrade -y\nsudo apt install -y nginx mysql-server', 'Поставьте Node.js LTS из официального репозитория NodeSource (Ghost 5 работает на Node 18/20):', 'curl -fsSL https://deb.nodesource.com/setup_20.x | sudo -E bash -\nsudo apt install -y nodejs', 'Задайте пароль root-пользователю MySQL, иначе установщик Ghost не сможет создать базу:', "sudo mysql\nALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'ОченьСложныйПароль';\nFLUSH PRIVILEGES;\nEXIT;"]
Устанавливаем ghost-cli и сам Ghost
['Поставьте официальный CLI глобально — он умеет ставить, обновлять и рестартовать Ghost:', 'sudo npm install ghost-cli@latest -g', 'Ghost нельзя ставить из-под root. Создайте отдельного пользователя, каталог сайта и передайте ему права:', 'sudo adduser ghostuser\nsudo usermod -aG sudo ghostuser\nsudo mkdir -p /var/www/ghost\nsudo chown ghostuser:ghostuser /var/www/ghost\nsudo chmod 775 /var/www/ghost', 'Зайдите под этим пользователем, перейдите в каталог и запустите установщик:', 'su - ghostuser\ncd /var/www/ghost\nghost install', "Мастер спросит домен (например https://blog.example.com), данные MySQL и предложит автоматически настроить nginx и выпустить бесплатный SSL от Let's Encrypt. На всё отвечайте «yes» — на выходе получаете рабочий блог по HTTPS."]
Проверка, systemd и обновления
['ghost-cli сам регистрирует сервис systemd, поэтому после перезагрузки блог поднимется автоматически. Проверить статус и логи:', 'ghost status\nghost log', 'Обновление до новой версии Ghost — одна команда из каталога сайта, база мигрируется автоматически:', 'cd /var/www/ghost && ghost update', 'Если что-то пошло не так, можно откатиться на предыдущую версию: ghost update --rollback. Перед крупными обновлениями всё же полезно иметь свежий бэкап — ежедневные снапшоты VM на MAATRIX закрывают этот вопрос без ручных действий.']
Рассылки и платные подписки
['Главная фишка Ghost — встроенные email-рассылки и платные подписки (memberships). Для рассылок нужен транзакционный SMTP: пропишите его в конфиге сайта.', 'ghost config mail.transport SMTP\nghost config mail.options.service Mailgun\nghost config mail.options.auth.user postmaster@mg.example.com\nghost config mail.options.auth.pass ВАШ_SMTP_ПАРОЛЬ\nghost restart', 'Для приёма платежей Ghost использует Stripe — ключи добавляются в админке в разделе Settings → Membership. Никаких плагинов ставить не нужно, всё уже в движке.']
Частые ошибки
["- Ставят из-под root — ghost-cli откажется. Всегда работайте под отдельным пользователем.
- Забыли пароль MySQL — установщик не создаст базу. Сначала задайте пароль root, потом ghost install.
- Закрыт порт 443 — SSL не выпустится. Откройте 80 и 443 в фаерволе:
sudo ufw allow 'Nginx Full'. - Мало RAM — на 1 ГБ без swap сборка тем и обновления могут падать. Добавьте swap или возьмите план с 2 ГБ.
Нужен сервер под эту задачу?
Разверните VPS MAATRIX за пару минут: NVMe, AMD EPYC, root-доступ, локации UK и США. Оплата картой РФ и по СБП.
Арендовать VPS для GhostЧастые вопросы
Сколько ресурсов нужно Ghost?
Для блога достаточно 1–2 vCPU и 2 ГБ RAM. Важнее быстрый NVMe-диск: он ускоряет админку и работу с медиа.
Можно ли использовать SQLite вместо MySQL?
Ghost поддерживает SQLite для локальной разработки, но в продакшене официально рекомендуется MySQL 8 — так работают миграции и производительность.
Как обновлять Ghost?
Из каталога сайта выполните ghost update — база мигрируется автоматически. При проблеме поможет ghost update --rollback.