Оставаясь на платформе Ghost(Pro), вы ежемесячно платите $29 за тариф Publisher просто ради возможности принимать платные подписки. При самостоятельном хостинге все эти функции доступны вам изначально и абсолютно бесплатно.
В этом руководстве мы подробно разберем установку Ghost 6.49.0 на VPS-сервер от is*hosting (тариф Start) и пройдем путь от чистого сервера на Ubuntu 24.04 до полностью работающего онлайн-издания менее чем за 15 минут.
Что нужно сделать до установки
Прежде чем приступать к настройке сервера, направьте A-запись DNS вашего домена на IP-адрес сервера. В процессе установки утилита Ghost-CLI автоматически настраивает бесплатный SSL-сертификат от Let's Encrypt. Если домен еще не привязан к IP-адресу сервера, выпустить сертификат не получится. Обновление DNS-записей обычно занимает от 5 до 30 минут, поэтому сделайте это в первую очередь.
Обязательные требования:
- Зарегистрированный домен с A-записью, указывающей на IP-адрес вашего VPS.
- Операционная система Ubuntu 24.04 (утилита Ghost-CLI работает только на Ubuntu и не запустится на других дистрибутивах).
- Пользователь с правами sudo, но не root (установщик откажется работать от имени суперпользователя).
- Node.js v22 LTS (мы установим его в процессе).
- MySQL 8 (также установим по ходу настройки).
VPS
Запустите Ghost на собственном сервере: полный root-доступ, выделенный IPv4 и еженедельные бэкапы включены.
На всех тарифах VPS от is*hosting по умолчанию предоставляется один выделенный IPv4-адрес. Для выпуска SSL-сертификата и обработки входящего веб-трафика Ghost обязательно требует публичный IP — так что это требование закрывается на любом выбранном тарифе.
|
Сценарий |
ОЗУ |
Процессор |
Тариф is*hosting |
|
Личный блог, небольшая рассылка |
2 ГБ |
2 ядра |
Start VPS ($10.19/мес) |
|
Активное медиа, от 1000 подписчиков |
4 ГБ |
3 ядра |
Medium VPS ($21.24/мес) |
|
Высоконагруженный сайт, частые рассылки |
8 ГБ |
4 ядра |
Premium VPS ($31.99/мес) |
Тариф Start — отличная база для начала. На свежей установке связка Ghost, MySQL и Nginx в фоновом режиме потребляет около 1.2 ГБ оперативной памяти. Оставшегося объема вполне хватит для обслуживания обычного трафика без риска нехватки ресурсов. По мере роста аудитории и медиатеки вы сможете добавить больше оперативной памяти или дискового пространства без необходимости переустанавливать сервер.
Все тарифы is*hosting включают еженедельные резервные копии. Сравните стоимость VPS и выберите подходящий тариф.
При оформлении заказа выберите ОС Ubuntu, а в выпадающем списке версий укажите v. 24.
Важный нюанс касательно почты: на тарифах Lite и Start порты SMTP заблокированы по умолчанию, что делает невозможной отправку писем. Для рассылок Ghost использует внешние SMTP-сервисы (например, Mailgun). Поэтому после запуска сервера, но до настройки почты в Ghost, создайте тикет в службу поддержки is*hosting с просьбой открыть SMTP-порты (может потребоваться процедура верификации KYC).
Как установить Ghost на VPS: пошаговая инструкция

Шаг 1. Создаем пользователя без прав root
Утилита Ghost-CLI в целях безопасности не запускается от имени пользователя root. Подключитесь к серверу как root и создайте нового пользователя с правами sudo.
Важно: не используйте имя ghost — оно будет конфликтовать с системным пользователем, которого установщик создаст позже.
adduser ghostadmin
usermod -aG sudo ghostadmin
Следуйте подсказкам системы, чтобы задать пароль. Этот пароль понадобится вам для выполнения команд через sudo на протяжении всей установки.
Шаг 2. Устанавливаем зависимости
Переключитесь на только что созданного пользователя и установите веб-сервер Nginx, базу данных MySQL и необходимые системные пакеты:
su - ghostadmin
sudo apt-get update && sudo apt-get upgrade -y
sudo apt-get install -y nginx mysql-server ca-certificates curl gnupg
Откройте системный брандмауэр для веб-трафика:
sudo ufw allow 'Nginx Full'
sudo ufw allow OpenSSH
sudo ufw enable
Профиль Nginx Full автоматически открывает порты 80 (HTTP) и 443 (HTTPS). Сам процесс Ghost (Node.js) работает на порту 2368, привязан к локальному адресу (localhost) и не требует отдельного правила в брандмауэре — Nginx будет безопасно проксировать к нему публичный трафик.
По умолчанию MySQL 8 в Ubuntu 24.04 использует авторизацию через сокет для пользователя root, что не подходит для Ghost. Переключите его на классическую авторизацию по паролю:
sudo mysql -e "ALTER USER 'root'@'localhost' IDENTIFIED WITH 'mysql_native_password' BY 'ваш_надежный_пароль'; FLUSH PRIVILEGES;"
Обязательно замените ваш_надежный_пароль на сложный пароль. Он понадобится вам на этапе настройки Ghost.
Шаг 3. Устанавливаем Node.js 22
Для работы Ghost 6.x нужна строго версия Node.js v22 LTS. Установим ее из официального репозитория NodeSource:
sudo mkdir -p /etc/apt/keyrings
curl -fsSL https://deb.nodesource.com/gpgkey/nodesource-repo.gpg.key | sudo gpg --dearmor -o /etc/apt/keyrings/nodesource.gpg
echo "deb [signed-by=/etc/apt/keyrings/nodesource.gpg] https://deb.nodesource.com/node_22.x nodistro main" | sudo tee /etc/apt/sources.list.d/nodesource.list
sudo apt-get update && sudo apt-get install -y nodejs
Убедитесь, что установилась нужная версия:
node --version
Консоль должна вернуть версию вида v22.x.x (в нашем случае это была v22.23.1). Любой релиз из ветки v22 подходит.
Шаг 4. Устанавливаем Ghost-CLI
Вернитесь в учетную запись root и глобально установите консольную утилиту для управления Ghost:
exit
npm install ghost-cli@latest -g
Проверьте корректность установки:
ghost --version
Пример вывода:
Ghost-CLI version: 1.29.3
Для продолжения установки снова переключитесь на пользователя без прав root:
su - ghostadmin
Шаг 5. Настраиваем директорию и запускаем установку Ghost
Ghost должен быть установлен в директорию /var/www/ с правильными правами доступа. Создайте папку и передайте права вашему пользователю:
sudo mkdir -p /var/www/ghost
sudo chown ghostadmin:ghostadmin /var/www/ghost
sudo chmod 775 /var/www/ghost
cd /var/www/ghost
ghost install
Ghost-CLI запустит проверку системы:
✔ Checking for latest Ghost version
✔ Checking system Node.js version - found v22.23.1
✔ Checking current folder permissions
✔ Checking memory availability
✔ Checking free space
✔ Checking pnpm installation - found corepack v0.34.6
✔ Setting up install directory
✔ Downloading and installing Ghost v6.49.0
✔ Finishing install process
Затем начнется интерактивный опрос. Отвечайте на вопросы мастера установки:
- Enter your blog URL: https://yourdomain.com (важно: укажите полный адрес с https:// и вашим доменом; не используйте IP-адрес, иначе шаг с выпуском SSL будет пропущен).
- Enter your MySQL hostname: 127.0.0.1
- Enter your MySQL username: root
- Enter your MySQL password: пароль из Шага 2
- Enter your Ghost database name: ghost_prod
- Do you wish to set up a ghost MySQL user? Yes
- Do you wish to set up Nginx? Yes
- Do you wish to set up SSL? Yes
- Enter your email: [email protected] (нужен для уведомлений от Let's Encrypt)
- Do you wish to set up Systemd? Yes
- Do you want to start Ghost? Yes
По завершении Ghost-CLI выведет сообщение об успешном запуске:
✔ Starting Ghost: yourdomain-com
------------------------------------------------------------------------------
Your admin interface is located at:
https://yourdomain.com/ghost/
Весь процесс — от скачивания пакетов до работающего сайта — занял у нас ровно 14 минут.
Шаг 6. Итоговая конфигурация портов и брандмауэра
Утилита Ghost-CLI сама настраивает Nginx и системную службу (systemd). После успешной установки картина выглядит так:
- Порт 80 (HTTP): Nginx, открыт для всех, автоматически перенаправляет на HTTPS.
- Порт 443 (HTTPS): Nginx, открыт для всех, проксирует защищенный трафик на Ghost.
- Порт 2368: процесс Node.js (Ghost). Доступен только локально (127.0.0.1), закрыт извне.
- Порт 3306: база данных MySQL. Доступна только локально (localhost), закрыта извне.
Никаких дополнительных настроек брандмауэра, кроме выполненных на Шаге 2, делать не нужно.
Что делать сразу после установки

1. Создайте аккаунт администратора
Откройте в браузере адрес https://yourdomain.com/ghost/. Вы увидите приветственный экран Ghost.
Заполните название сайта, ваше имя, email и придумайте пароль (минимум 10 символов). Нажмите Create account & start publishing.

2. Опубликуйте первый пост
В левом меню панели управления перейдите в раздел Posts и нажмите New post. Напишите текст в удобном блочном редакторе, а в боковой панели справа задайте обложку, краткое описание (excerpt) и URL-адрес статьи. Когда всё будет готово, нажмите Publish.

3. Настройте почту и платные подписки
Перейдите в Settings (Настройки) → Newsletters (Рассылки). Прокрутите вниз до блока Mailgun. Именно через Mailgun API Ghost массово рассылает письма. Пока вы его не настроите, статус будет показывать «Mailgun is not set up».

Нажмите Edit, введите ваш домен и API-ключ от Mailgun (у них есть бесплатный тариф до 3000 писем в месяц).
Напоминание: если вы используете тариф Start, не забудьте попросить техподдержку is*hosting разблокировать SMTP-порты перед тестированием рассылок.
Чтобы принимать платежи, перейдите в Settings → Membership → Tiers. Включите платные тарифы и подключите свой аккаунт Stripe. Ghost не берет комиссию с ваших доходов — вы платите только стандартный процент эквайринга самому Stripe.
Как обновлять Ghost
is*hosting делает автоматические бэкапы сервера раз в неделю. Но перед любым обновлением Ghost настоятельно рекомендуем делать локальную резервную копию самого приложения. В случае ошибки откатиться из нее будет гораздо быстрее, чем восстанавливать сервер целиком.
Сначала обновите саму утилиту Ghost-CLI, сделайте бэкап, а затем обновите платформу:
sudo npm install ghost-cli@latest -g
cd /var/www/ghost
ghost backup
ghost update
Команда ghost backup создаст архив с датой в директории /var/www/ghost/. Внутри будут находиться ваши медиафайлы, экспорт базы данных и файлы настроек. Обязательно скачайте этот архив на свой компьютер перед обновлением.
Если обновление прошло неудачно, изменения легко отменить:
ghost update --rollback
Проверить текущую версию можно в любой момент командой ghost --version.
Дополнительное хранилище
Храните бэкапы Ghost отдельно от основного сервера: надежное хранилище для архивов, медиафайлов и дампов базы.
Итоги
Тариф Start (2 ядра / 2 ГБ ОЗУ / 30 ГБ SSD за $10.19/мес) справился с задачей безупречно. Ghost 6.49.0 в связке с MySQL 8 и Nginx занял 1.9 ГБ на диске. В состоянии покоя процесс Ghost потреблял всего 219 МБ оперативной памяти, а общая загрузка ОЗУ системы составила 1.2 ГБ. На всё ушло около 14 минут.
В результате вы получили полноценное медиаиздание со встроенными рассылками, платными подписками, бесплатным SSL-сертификатом и автоматическим перезапуском при перезагрузке сервера. Это абсолютно тот же функционал, за который платформа Ghost(Pro) просит $29 в месяц.
Что делать дальше: ознакомьтесь с общим руководством по настройке Linux-серверов, чтобы правильно настроить SSH и усилить базовую безопасность. А если вы планируете запускать на сервере и другие проекты, настройте Uptime Kuma для мониторинга доступности ваших сайтов в реальном времени.
FAQ
-
Ghost — это платформа с открытым исходным кодом, созданная специально для авторов, журналистов и создателей рассылок. Если классические CMS (вроде WordPress) предлагают вам бесконечные страницы и плагины для плагинов, Ghost сфокусирован на главном: чистый текстовый редактор, встроенные уровни подписки (бесплатные и платные), нативная интеграция со Stripe и быстрая работа.
Под капотом работают процесс Node.js (порт 2368), база MySQL 8, прокси Nginx и менеджер служб systemd. Утилита Ghost-CLI связывает всё это воедино и настраивает SSL.
-
Ghost работает только на Ubuntu 22.04 или 24.04. Вы не сможете установить его через Ghost-CLI на CentOS, Debian и другие ОС.
Платформа требует строго Node.js v22 LTS (версии 18 и 20 не поддерживаются) и MySQL 8 (MariaDB не поддерживается для боевых проектов).
Также стоит отметить, что интеграция с децентрализованными сетями (ActivityPub) по умолчанию настроена на серверы Ghost(Pro). Для полной независимости ActivityPub требуется установка через Docker Compose, что выходит за рамки данной инструкции.
-
Официальный облачный хостинг Ghost(Pro) предлагает тариф Starter за $18/мес (без платных подписок, лимит 1000 участников) и Publisher за $29/мес (платные подписки, кастомные темы).
При самостоятельном хостинге вы платите только за сам сервер и сторонний почтовый сервис, а разработчикам Ghost вы не должны ничего. Если ваше издание приносит $1000/мес с подписок, вы можете заменить тариф за $29/мес на VPS за $10.19/мес. Самохостинг окупается с первого дня, еще до появления первого платного подписчика.
Кроме того, выбор из более чем 40 локаций дата-центров is*hosting позволяет разместить сервер максимально близко к вашей аудитории (например, во Франкфурте для читателей из Европы), что ускоряет загрузку сайта.
Однако у Ghost(Pro) есть свои плюсы: разработчики сами следят за серверами, доставкой почты и продлением SSL. Если вы категорически не хотите заниматься администрированием сервера, облачная версия стоит своих денег. Для всех остальных собственный VPS — это самый выгодный и независимый выбор.