MAATRIX / Блог / Как установить и настроить Ghost на VPS

Как установить и настроить Ghost на VPS

Как установить и настроить Ghost на VPS

MAATRIX

Ghost — современная публикационная платформа на Node.js для блогов, СМИ и рассылок, и установить Ghost на VPS правильнее всего через официальный инструмент Ghost-CLI, который берёт на себя настройку Node.js-приложения, Nginx, SSL и системного сервиса. Ghost ценят за скорость, чистый редактор, встроенные подписки и рассылки, а также за то, что он работает как отдельное приложение, а не набор PHP-скриптов. В этом руководстве развернём Ghost с нуля на Ubuntu: подготовим сервер, поставим Node.js, MySQL и Nginx, установим Ghost через CLI, привяжем домен и выпустим SSL. Важно понимать архитектуру Ghost: это Node.js-приложение, которое запускается как постоянный процесс и слушает внутренний порт, а Nginx стоит перед ним реверс-прокси и отдаёт сайт наружу по 80/443. Ghost-CLI автоматизирует всю эту связку. Для рабочего блога хватит скромного VPS от 1 ГБ RAM, но официально рекомендуется 2 ГБ, особенно если планируете рассылки и рост трафика. Устанавливать Ghost под root нельзя — CLI требует отдельного пользователя, что мы и сделаем. Чем Ghost принципиально отличается от WordPress и почему его ставят на отдельный VPS? Ghost не использует PHP и не собирает страницу из десятков плагинов при каждом запросе — он отдаёт заранее подготовленный контент очень быстро, а вся логика подписок, рассылок и членства встроена в ядро. Это делает его любимым инструментом для авторских блогов, СМИ и платных рассылок. Но за скорость приходится платить требованием к окружению: нужен именно Node.js правильной версии и постоянно работающий процесс, а не просто каталог с файлами на общем хостинге. Поэтому собственный VPS для Ghost — не роскошь, а естественная среда: вы контролируете версию Node, объём памяти под процесс и настройки прокси.

Обсудить статью, задать вопрос или начать новую тему

Есть вопрос по этой статье, идея для обсуждения или просто хотите поделиться опытом? Сообщество MAATRIX ждёт. Для общения, пожалуйста, зарегистрируйтесь в нашем личном кабинете.

Перейти в сообщество →

Подготовка сервера и пользователя

Ghost официально поддерживает Ubuntu LTS. Возьмите чистый VPS с Ubuntu 22.04 или 24.04. Обновите систему:

apt update && apt -y upgrade

Ghost-CLI запрещает установку от root, поэтому создайте отдельного пользователя с правами sudo и работайте под ним:

adduser ghostuser
usermod -aG sudo ghostuser
su - ghostuser

Все дальнейшие команды выполняем под этим пользователем. Такой подход — не каприз, а безопасность: приложение не должно работать с правами root. Задайте корректное имя хоста и убедитесь в синхронизации времени. Также направьте A-запись домена на IP сервера заранее — она понадобится для SSL:

dig +short vashdomen.ru

Установка Node.js, MySQL и Nginx

Ghost требует конкретную LTS-версию Node.js — ставьте ту, что рекомендована в текущей документации Ghost, через официальный репозиторий NodeSource. Установка Node.js из репозитория NodeSource выглядит так (версию уточните в документации):

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

Далее установите Nginx (реверс-прокси и SSL) и MySQL (база данных Ghost):

sudo apt -y install nginx mysql-server

Настройте MySQL: задайте пароль пользователю root базы, чтобы Ghost-CLI мог создать базу. Войдите в консоль MySQL и установите способ аутентификации по паролю для root — это требование Ghost-CLI. Откройте порты веб-сервера в фаерволе:

sudo ufw allow 'Nginx Full'
sudo ufw allow OpenSSH

Нужен сервер под эту задачу?

Разверните VPS MAATRIX за пару минут: NVMe, AMD EPYC, root-доступ, локации UK, США и РФ. Оплата картой РФ и по СБП.

Арендовать VPS

Установка Ghost-CLI и самого Ghost

Установите официальный инструмент Ghost-CLI глобально через npm:

sudo npm install ghost-cli@latest -g

Создайте каталог для сайта, назначьте владельцем вашего пользователя и перейдите в него — Ghost требует установку в пустой каталог с правильными правами:

sudo mkdir -p /var/www/ghost
sudo chown ghostuser:ghostuser /var/www/ghost
sudo chmod 775 /var/www/ghost
cd /var/www/ghost

Запустите установку:

ghost install

CLI проведёт интерактивный диалог: спросит URL блога (укажите https://vashdomen.ru), данные для подключения к MySQL, имя базы (создаст её сам), предложит настроить Nginx и выпустить SSL Let's Encrypt, а также зарегистрировать Ghost как системный сервис для автозапуска. Соглашайтесь на настройку Nginx и SSL — CLI сделает всё автоматически.

Настройка домена и SSL

Если A-запись домена уже указывает на сервер (проверьте dig), Ghost-CLI на этапе установки сам выпустит сертификат Let's Encrypt и настроит Nginx на редирект с HTTP на HTTPS. Для выпуска CLI попросит email для уведомлений о продлении. Сертификат продлевается автоматически.

Если вы пропустили SSL при установке или домен ещё не был готов, настроить его позже можно командой из каталога Ghost:

ghost setup ssl

После завершения откройте https://vashdomen.ru — увидите свежий блог. Админка Ghost находится по адресу https://vashdomen.ru/ghost/. При первом заходе создайте учётную запись администратора, задайте название блога и пароль. На этом Ghost полностью готов к работе и публикации.

Управление и обслуживание Ghost

Ghost-CLI — ваш основной инструмент управления. Полезные команды выполняются из каталога /var/www/ghost. Проверить статус приложения:

ghost status

Обновить Ghost до свежей версии (CLI сам сделает бэкап и миграции базы):

ghost update

Остановить или запустить блог — ghost stop и ghost start, посмотреть логи — ghost log. Обновления Ghost выходят регулярно и содержат новые функции и исправления безопасности, поэтому обновляйтесь своевременно. Перед крупным обновлением делайте резервную копию каталога и базы. Для рассылок Ghost использует внешний почтовый сервис (например, Mailgun) — настройте его в конфиге, если планируете email-рассылки подписчикам, так как встроенная отправка подходит только для транзакционных писем.

Ресурсы, безопасность и производительность

Ghost как Node.js-приложение работает быстро и экономно, но память ему всё же нужна: 1 ГБ — минимум для скромного блога, 2 ГБ — комфортная рекомендация, особенно с рассылками и ростом аудитории. Следите за потреблением памяти процессом Node — при нехватке приложение может перезапускаться. По безопасности: работайте под непривилегированным пользователем (уже сделано), держите систему и Ghost обновлёнными, закройте лишние порты фаерволом, настройте вход по SSH-ключу.

Для производительности перед Ghost можно поставить кэширование на уровне Nginx или CDN — это разгружает Node на высоком трафике. Регулярно делайте бэкап: экспорт контента из админки плюс копия базы MySQL и каталога content/ (там темы и загруженные изображения). Храните копии вне сервера. На VPS MAATRIX память легко увеличить без переустановки, если блог вырастет в полноценное издание с рассылками на тысячи подписчиков.

Нужен сервер под эту задачу?

Разверните VPS MAATRIX за пару минут: NVMe, AMD EPYC, root-доступ, локации UK, США и РФ. Оплата картой РФ и по СБП.

Арендовать VPS

Обсудить статью, задать вопрос или начать новую тему

Есть вопрос по этой статье, идея для обсуждения или просто хотите поделиться опытом? Сообщество MAATRIX ждёт. Для общения, пожалуйста, зарегистрируйтесь в нашем личном кабинете.

Перейти в сообщество →

Частые вопросы

Почему нельзя ставить Ghost под root?

Ghost-CLI намеренно запрещает это из соображений безопасности: приложение не должно работать с правами root. Создайте отдельного пользователя с sudo и ставьте Ghost под ним — это правильная и обязательная практика.

Какая база данных нужна Ghost?

MySQL — рекомендуемая и поддерживаемая для продакшена. Ghost-CLI создаёт базу сам в процессе установки. Встроенный SQLite годится только для локальной разработки, для боевого сайта на VPS используйте MySQL.

Хватит ли 1 ГБ RAM?

Для скромного блога — да, но официально рекомендуется 2 ГБ, особенно с рассылками и растущим трафиком. На VPS MAATRIX память увеличивается без переустановки при росте проекта.

Как обновлять Ghost?

Командой ghost update из каталога блога — CLI сам сделает бэкап, скачает новую версию и применит миграции базы. Перед крупными обновлениями всё равно делайте отдельную резервную копию контента и базы.

Нужны сами нейросети для контента?

Генерируйте изображения, видео и озвучку нейросетями на falapi.io — десятки моделей в одном окне. Оплата картой РФ и по СБП.