Оставаясь на платформе 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 минут, поэтому сделайте это в первую очередь.
Обязательные требования:
Запустите 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-CLI в целях безопасности не запускается от имени пользователя root. Подключитесь к серверу как root и создайте нового пользователя с правами sudo.
Важно: не используйте имя ghost — оно будет конфликтовать с системным пользователем, которого установщик создаст позже.
adduser ghostadmin
usermod -aG sudo ghostadmin
Следуйте подсказкам системы, чтобы задать пароль. Этот пароль понадобится вам для выполнения команд через sudo на протяжении всей установки.
Переключитесь на только что созданного пользователя и установите веб-сервер 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.
Для работы 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 подходит.
Вернитесь в учетную запись root и глобально установите консольную утилиту для управления Ghost:
exit
npm install ghost-cli@latest -g
Проверьте корректность установки:
ghost --version
Пример вывода:
Ghost-CLI version: 1.29.3
Для продолжения установки снова переключитесь на пользователя без прав root:
su - ghostadmin
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
Затем начнется интерактивный опрос. Отвечайте на вопросы мастера установки:
По завершении Ghost-CLI выведет сообщение об успешном запуске:
✔ Starting Ghost: yourdomain-com
------------------------------------------------------------------------------
Your admin interface is located at:
https://yourdomain.com/ghost/
Весь процесс — от скачивания пакетов до работающего сайта — занял у нас ровно 14 минут.
Утилита Ghost-CLI сама настраивает Nginx и системную службу (systemd). После успешной установки картина выглядит так:
Никаких дополнительных настроек брандмауэра, кроме выполненных на Шаге 2, делать не нужно.
Откройте в браузере адрес https://yourdomain.com/ghost/. Вы увидите приветственный экран Ghost.
Заполните название сайта, ваше имя, email и придумайте пароль (минимум 10 символов). Нажмите Create account & start publishing.
В левом меню панели управления перейдите в раздел Posts и нажмите New post. Напишите текст в удобном блочном редакторе, а в боковой панели справа задайте обложку, краткое описание (excerpt) и URL-адрес статьи. Когда всё будет готово, нажмите Publish.
Перейдите в 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.
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 для мониторинга доступности ваших сайтов в реальном времени.