Ghost на Ubuntu 24.04: пошаговая установка
Ubuntu 24.04 LTS — рекомендованная и официально поддерживаемая платформа для Ghost, современной публикационной платформы на Node.js. Пошаговая установка Ghost на Ubuntu 24.04 через официальный инструмент Ghost-CLI занимает 20–30 минут и даёт быстрый блог с подписками и рассылками под вашим полным контролем. В этом руководстве развернём Ghost с нуля на Ubuntu 24.04: подготовим систему и отдельного пользователя, поставим Node.js, MySQL и Nginx, установим Ghost через CLI, привяжем домен и выпустим SSL — строго по официальным требованиям. Важно понимать архитектуру: Ghost — это Node.js-приложение, работающее как постоянный процесс, а Nginx стоит перед ним реверс-прокси и отдаёт сайт по 80/443. Ghost-CLI автоматизирует всю связку, но требователен к окружению: нужна конкретная LTS-версия Node.js, MySQL для продакшена и установка не под root. Ubuntu 24.04 отлично подходит, но следите за версией Node — Ghost поддерживает определённые LTS-релизы, и слишком свежий Node из репозитория может не подойти. Для рабочего блога рекомендуется 2 ГБ RAM. Установку ведём по SSH под пользователем с sudo. Чем Ghost принципиально отличается от привычных PHP-движков и почему установка выглядит иначе? Ghost не собирает страницу при каждом запросе из десятков файлов, а работает как единое приложение, постоянно висящее в памяти и отдающее контент очень быстро. Отсюда и требования: нужен не просто веб-сервер с папкой файлов, а среда исполнения Node.js правильной версии, постоянно запущенный процесс под управлением systemd и реверс-прокси перед ним. Ghost-CLI берёт на себя всю эту оркестровку — создаёт системный сервис, настраивает Nginx, выпускает SSL, — но взамен требует, чтобы окружение было подготовлено строго по его правилам. Именно поэтому мы аккуратно ставим нужную версию Node, настраиваем MySQL и создаём отдельного пользователя, прежде чем запускать установку.
Содержание
Обсудить статью, задать вопрос или начать новую тему
Есть вопрос по этой статье, идея для обсуждения или просто хотите поделиться опытом? Сообщество MAATRIX ждёт. Для общения, пожалуйста, зарегистрируйтесь в нашем личном кабинете.
Перейти в сообщество →Подготовка Ubuntu 24.04 и отдельного пользователя
Обновите систему:
apt update && apt -y upgrade
Ghost-CLI категорически запрещает установку от root, поэтому создайте отдельного пользователя с правами sudo и работайте под ним — это обязательное требование безопасности:
adduser ghostuser
usermod -aG sudo ghostuser
su - ghostuser
Все дальнейшие команды выполняем под этим пользователем. Настройте фаервол Ubuntu, открыв нужные порты:
sudo ufw allow 'Nginx Full'
sudo ufw allow OpenSSH
sudo ufw enable
Заранее направьте A-запись домена на IP сервера — она понадобится для выпуска SSL в процессе установки:
dig +short vashdomen.ru
Установка Node.js нужной версии
Ghost требует конкретную LTS-версию Node.js — не самую свежую, а поддерживаемую. Ставьте её через официальный репозиторий NodeSource, указав поддерживаемую Ghost версию (уточните в текущей документации Ghost, здесь для примера 20.x):
curl -fsSL https://deb.nodesource.com/setup_20.x | sudo -E bash -
sudo apt -y install nodejs
Проверьте версию:
node -v
Это ключевой момент именно на свежей Ubuntu: если поставить слишком новый Node из стороннего источника, Ghost-CLI откажется устанавливаться с ошибкой о неподдерживаемой версии. Придерживайтесь LTS-версии, которую Ghost официально поддерживает на момент установки, — это избавит от большинства проблем на старте.
Нужен сервер под эту задачу?
Разверните VPS MAATRIX за пару минут: NVMe, AMD EPYC, root-доступ, локации UK, США и РФ. Оплата картой РФ и по СБП.
Арендовать VPSУстановка MySQL и Nginx
Установите MySQL (база данных Ghost для продакшена) и Nginx (реверс-прокси и SSL):
sudo apt -y install mysql-server nginx
Ghost-CLI требует, чтобы пользователь root в MySQL аутентифицировался по паролю. Войдите в MySQL и задайте способ аутентификации по паролю для root, установив ему пароль. Это нужно, чтобы Ghost-CLI смог создать базу и пользователя автоматически. После настройки MySQL проверьте, что Nginx работает — откройте IP сервера в браузере, покажется стандартная страница Nginx на Ubuntu. Оба сервиса готовы к тому, чтобы Ghost-CLI связал их вместе на этапе установки.
Установка 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 как системный сервис systemd для автозапуска. Соглашайтесь на настройку Nginx и SSL — CLI сделает всё автоматически.
Домен, SSL и первый вход
Если A-запись домена уже указывает на сервер, Ghost-CLI на этапе установки сам выпустит сертификат Let's Encrypt и настроит редирект с HTTP на HTTPS. Для выпуска CLI попросит email для уведомлений о продлении; сертификат обновляется автоматически. Если домен ещё не был готов, настроить SSL позже можно командой ghost setup ssl из каталога блога.
После завершения откройте https://vashdomen.ru — увидите свежий блог. Админка Ghost находится по адресу https://vashdomen.ru/ghost/. При первом заходе создайте учётную запись администратора, задайте название блога и пароль. На этом Ghost на Ubuntu 24.04 готов к работе и публикации. Проверьте статус приложения командой ghost status из каталога /var/www/ghost.
Управление, обновления и ресурсы
Ghost-CLI — основной инструмент управления. Полезные команды из каталога блога: ghost status — статус, ghost update — обновление (CLI сам делает бэкап и миграции базы), ghost stop/ghost start — остановка и запуск, ghost log — просмотр логов. Обновления Ghost выходят регулярно и содержат исправления безопасности, поэтому обновляйтесь своевременно, делая бэкап перед крупными обновлениями.
Для рассылок подписчикам Ghost использует внешний сервис (Mailgun) — настройте его в конфиге, если планируете email-рассылки; встроенная отправка годится только для транзакционных писем. По ресурсам: 2 ГБ RAM — комфортная рекомендация для блога с рассылками и растущим трафиком, на 1 ГБ возможны перезапуски процесса под нагрузкой. Следите за памятью процесса Node. На VPS MAATRIX память увеличивается без переустановки, если блог вырастет в полноценное издание, а оплатить сервер можно из России картой или криптой.
Нужен сервер под эту задачу?
Разверните VPS MAATRIX за пару минут: NVMe, AMD EPYC, root-доступ, локации UK, США и РФ. Оплата картой РФ и по СБП.
Арендовать VPSОбсудить статью, задать вопрос или начать новую тему
Есть вопрос по этой статье, идея для обсуждения или просто хотите поделиться опытом? Сообщество MAATRIX ждёт. Для общения, пожалуйста, зарегистрируйтесь в нашем личном кабинете.
Перейти в сообщество →Частые вопросы
Почему на Ubuntu 24.04 важна версия Node.js?
Ghost поддерживает конкретные LTS-версии Node, и слишком свежий релиз из стороннего репозитория Ghost-CLI не примет. Ставьте именно поддерживаемую Ghost версию через NodeSource — это главный подводный камень установки на свежей системе.
Можно ли ставить Ghost под root на Ubuntu?
Нет, Ghost-CLI это запрещает из соображений безопасности. Создайте отдельного пользователя с sudo и ставьте Ghost под ним — это обязательный шаг, без него установка не пройдёт.
Какая база нужна Ghost?
Для продакшена — MySQL, которую Ghost-CLI создаёт сам в процессе установки. Встроенный SQLite годится лишь для локальной разработки. На боевом VPS используйте MySQL, настроив root на аутентификацию по паролю.
Хватит ли 1 ГБ RAM?
Для скромного блога — да, но официальная рекомендация — 2 ГБ, особенно с рассылками и трафиком. На VPS MAATRIX память увеличивается без переустановки при росте проекта.
Нужны сами нейросети для контента?
Генерируйте изображения, видео и озвучку нейросетями на falapi.io — десятки моделей в одном окне. Оплата картой РФ и по СБП.