Установка Ghost CMS на Ubuntu 24.04 позволяет создать быструю и современную платформу для блогов и публикаций, используя актуальную LTS-версию операционной системы. Ghost — это мощная headless CMS с открытым исходным кодом, построенная на Node.js, которая обеспечивает высокую производительность и удобный интерфейс для авторов. В этом подробном руководстве мы пошагово рассмотрим процесс развертывания Ghost CMS на сервере под управлением Ubuntu 24.04 (Noble Numbat) с использованием Nginx в качестве веб-сервера и Let's Encrypt для обеспечения безопасного HTTPS-соединения, актуального на апрель 2026 года.
Что такое Ghost CMS и почему Ubuntu 24.04?
Ghost CMS позиционируется как платформа для профессиональных издателей и блогеров. Она отличается минималистичным дизайном, высокой скоростью работы и мощными SEO-возможностями. В отличие от традиционных CMS, таких как WordPress, Ghost ориентирован на создание контента и не перегружен избыточными функциями, что делает его идеальным выбором для контентных проектов. Архитектура на Node.js позволяет Ghost эффективно обрабатывать запросы и обеспечивать быстрый отклик.
Ubuntu 24.04 LTS (Noble Numbat), выпущенная в апреле 2024 года, является версией с долгосрочной поддержкой, что гарантирует стабильность и регулярные обновления безопасности в течение пяти лет. Это делает ее превосходным выбором для продакшн-серверов, где важна надежность и предсказуемость. Комбинация Ghost и Ubuntu 24.04 создает современную и эффективную среду для любого онлайн-издания.
Предварительные требования для установки Ghost CMS
Перед началом установки убедитесь, что ваш сервер соответствует следующим минимальным требованиям. Для стабильной работы Ghost CMS на Ubuntu 24.04 необходим виртуальный или выделенный сервер с достаточными ресурсами. Рекомендуется использовать VPS с минимум 1 ГБ оперативной памяти и 25 ГБ дискового пространства SSD.
Выбор подходящего сервера, будь то облачный инстанс или VPS от провайдера, такого как Valebyte, является ключевым для стабильной работы. Также у вас должен быть пользователь с правами sudo, доменное имя, направленное на IP-адрес вашего VPS, и открытые порты 80 (HTTP) и 443 (HTTPS) для веб-трафика.
Мы будем устанавливать следующие компоненты: Node.js (версии 18 или 20 LTS, актуальная на апрель 2026 года — Node.js 20 LTS), Nginx для обслуживания веб-трафика, MySQL для базы данных Ghost и Ghost CLI для упрощения процесса установки и управления.
Важно: Все команды в этом руководстве предполагают, что вы выполняете их от имени пользователя с правами sudo. Замените
your_domain.comна ваше реальное доменное имя.
Настройка DNS для домена
Убедитесь, что ваш домен (например, example.com) и, при необходимости, субдомен (www.example.com) указывают на IP-адрес вашего VPS. Это делается через A-записи в настройках DNS у вашего регистратора домена или DNS-провайдера. Без корректной настройки DNS Ghost CLI не сможет правильно настроить Nginx и Let's Encrypt.
Шаг 1: Подготовка сервера Ubuntu 24.04
Первый этап включает обновление системы, создание нового пользователя для Ghost и установку необходимых зависимостей.
Обновление системы
Всегда начинайте с обновления списка пакетов и их установки, чтобы убедиться, что ваша система актуальна.
sudo apt update sudo apt upgrade -yСоздание пользователя Ghost
Для повышения безопасности рекомендуется запускать Ghost от имени отдельного пользователя, не имеющего полных прав root. Создадим пользователя ghost-user и предоставим ему права sudo для установки.
sudo adduser ghost-user sudo usermod -aG sudo ghost-userТеперь переключитесь на этого пользователя:
su - ghost-userДальнейшие команды будут выполняться от имени ghost-user. Если требуется sudo, система запросит пароль этого пользователя.
Установка необходимых пакетов: Node.js, Nginx, MySQL
Ghost работает на Node.js. На апрель 2026 года актуальной LTS-версией является Node.js 20. Установим его из официального репозитория NodeSource. Официальная документация Node.js содержит подробную информацию о поддерживаемых версиях.
curl -sL https://deb.nodesource.com/setup_20.x | sudo -E bash - sudo apt install -y nodejs nginx mysql-serverЭта команда установит Node.js 20.x, Nginx и MySQL-сервер. Убедитесь, что все службы запущены и включены при старте системы:
sudo systemctl start nginx sudo systemctl enable nginx sudo systemctl start mysql sudo systemctl enable mysqlШаг 2: Настройка базы данных MySQL для Ghost
Ghost CMS требует базу данных MySQL для хранения контента. Мы настроим ее, создадим базу данных и пользователя с ограниченными правами.
Защита установки MySQL
После установки MySQL рекомендуется запустить скрипт безопасности для удаления тестовых баз данных и усиления пароля root.
sudo mysql_secure_installationСледуйте инструкциям на экране. Рекомендуется установить надежный пароль для root, удалить анонимных пользователей, запретить удаленный вход для root и удалить тестовые базы данных.
Создание базы данных и пользователя для Ghost
Теперь войдите в MySQL от имени root и создайте новую базу данных и пользователя для Ghost. Официальная документация MySQL содержит детальные инструкции по управлению пользователями и базами данных.
sudo mysql -u root -pВведите пароль root MySQL, который вы установили ранее. Затем выполните следующие команды, заменив YOUR_STRONG_PASSWORD на надежный пароль.
CREATE DATABASE ghost_db CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; CREATE USER 'ghost_user'@'localhost' IDENTIFIED BY 'YOUR_STRONG_PASSWORD'; GRANT ALL PRIVILEGES ON ghost_db.* TO 'ghost_user'@'localhost'; FLUSH PRIVILEGES; EXIT;Эти команды создадут базу данных ghost_db, пользователя ghost_user с доступом только с localhost и предоставят ему все необходимые права на созданную базу данных.
Шаг 3: Установка Ghost CLI
Ghost CLI (Command Line Interface) — это официальный инструмент для установки и управления Ghost. Установим его глобально.
sudo npm install -g ghost-cli@latestПосле установки вы сможете использовать команду ghost из любого каталога.
Шаг 4: Установка Ghost CMS
Теперь мы готовы установить саму платформу Ghost. Для этого создадим специальный каталог и запустим Ghost CLI.
Создание каталога для Ghost
Ghost должен быть установлен в пустой каталог, который принадлежит пользователю ghost-user.
sudo mkdir -p /var/www/ghost sudo chown ghost-user:ghost-user /var/www/ghost sudo chmod 775 /var/www/ghost cd /var/www/ghostМы создали каталог /var/www/ghost, изменили его владельца на ghost-user и установили права так, чтобы пользователь мог записывать в него.
Запуск установки Ghost
Находясь в каталоге /var/www/ghost, запустите команду установки Ghost:
ghost installGhost CLI задаст вам несколько вопросов:
- Enter your blog URL: Введите полный URL вашего блога, например,
https://your_domain.com. - MySQL hostname:
localhost - MySQL username:
ghost_user - MySQL password: Введите пароль, который вы создали для
ghost_user. - Ghost database name:
ghost_db - Set up Nginx?
Yes(это настроит Nginx для вашего домена). - Set up SSL?
Yes(это автоматически настроит Let's Encrypt SSL-сертификат). - Enter your email for SSL: Введите свой адрес электронной почты для уведомлений Let's Encrypt.
- Set up systemd?
Yes(это настроит Ghost как службу systemd для автоматического запуска). - Start Ghost?
Yes(это запустит Ghost после установки).
Процесс установки займет некоторое время. Ghost CLI автоматически скачает последнюю версию Ghost, настроит Nginx, получит SSL-сертификат от Let's Encrypt и настроит Ghost как службу systemd. Подробную информацию об этом процессе можно найти в официальной документации Ghost.
Шаг 5: Настройка Nginx и Let's Encrypt SSL
Как правило, Ghost CLI автоматически выполняет настройку Nginx и Let's Encrypt. Однако важно убедиться, что все настроено корректно.
Проверка конфигурации Nginx
Ghost CLI создает конфигурационный файл Nginx для вашего домена в /etc/nginx/sites-available/your_domain.com.conf и создает символическую ссылку на него в /etc/nginx/sites-enabled/. Проверьте синтаксис Nginx:
sudo nginx -tЕсли вы видите syntax is ok и test is successful, значит, конфигурация верна. Перезагрузите Nginx, если вы вносили изменения вручную или хотите убедиться, что все применено:
sudo systemctl reload nginxПодробности о конфигурации Nginx доступны в официальной документации Nginx. Для сравнения Nginx с другими веб-серверами, такими как Caddy, можно ознакомиться с нашим гайдом: Nginx или Caddy для малого VPS: Сравнение и бенчмарк 2026.
Настройка брандмауэра UFW
Если вы используете UFW (Uncomplicated Firewall) на Ubuntu, убедитесь, что порты 80 и 443 открыты.
sudo ufw allow 'Nginx Full' sudo ufw enableЕсли UFW был отключен, команда sudo ufw enable активирует его. Всегда проверяйте статус брандмауэра: sudo ufw status.
Шаг 6: Завершение установки и доступ к админке Ghost
После успешного завершения установки Ghost CMS ваш блог должен быть доступен по адресу, который вы указали. Перейдите в веб-браузере по адресу https://your_domain.com/ghost.
Вы увидите страницу приветствия Ghost, где вам будет предложено создать учетную запись администратора. Заполните необходимую информацию: имя, адрес электронной почты и пароль. После создания учетной записи вы будете перенаправлены в панель управления Ghost, откуда сможете начать публиковать контент.
Управление Ghost CMS: Основные команды
Ghost CLI предоставляет удобные команды для управления вашей установкой Ghost. Все эти команды следует выполнять из каталога установки Ghost (/var/www/ghost) от имени пользователя ghost-user.
| Команда Ghost CLI | Описание |
|---|---|
ghost start | Запускает остановленный экземпляр Ghost. |
ghost stop | Останавливает запущенный экземпляр Ghost. |
ghost restart | Перезапускает Ghost. Полезно после изменения конфигурации. |
ghost status | Отображает текущий статус вашей установки Ghost (запущен/остановлен). |
ghost update | Обновляет Ghost до последней стабильной версии. |
ghost doctor | Проверяет вашу установку Ghost на наличие проблем и рекомендует решения. |
ghost log | Отображает логи Ghost в реальном времени. |
ghost config url https://your_new_domain.com | Изменяет URL вашего блога (после изменения домена). |
Например, для обновления Ghost до последней версии достаточно перейти в каталог /var/www/ghost и выполнить ghost update. Ghost CLI автоматически загрузит новые файлы, выполнит миграцию базы данных и перезапустит службу.
Рекомендации по безопасности и оптимизации
После установки Ghost CMS на Ubuntu 24.04 рекомендуется принять дополнительные меры для обеспечения безопасности и оптимизации производительности.
Регулярные обновления системы
Хотя Ghost CLI обновляет сам Ghost, важно также регулярно обновлять операционную систему и все системные пакеты. Настройте автоматические обновления или выполняйте их вручную раз в неделю/месяц:
sudo apt update && sudo apt upgrade -y sudo apt autoremove -yЭти команды обновят все установленные пакеты и удалят неиспользуемые зависимости, поддерживая систему в актуальном и чистом состоянии.
Настройка резервного копирования
Регулярное резервное копирование является критически важным для любого веб-сайта. Вы можете использовать различные инструменты, такие как rsync для файлов и mysqldump для базы данных, или интегрировать ваш VPS с облачными решениями для бэкапов. Рекомендуется создавать ежедневные или еженедельные резервные копии.
Использование CDN (Content Delivery Network)
Для повышения производительности и безопасности вашего блога Ghost рассмотрите возможность использования CDN, например, Cloudflare. CDN кэширует статический контент (изображения, CSS, JS) на серверах по всему миру, что ускоряет загрузку сайта для посетителей и снижает нагрузку на ваш VPS. Cloudflare также предоставляет защиту от DDoS-атак и бесплатный SSL-сертификат, который может работать в связке с Let's Encrypt.
Если ваш проект требует значительных ресурсов и высокой посещаемости, важно заранее оценить потребности вашего сервера. Наша статья Сколько ресурсов VPS нужно сайту с 50000 посетителями? поможет вам в этом.
Заключение
Установка Ghost CMS на Ubuntu 24.04 предоставляет мощную, быструю и современную платформу для вашего блога или онлайн-издания. Следуя этому пошаговому руководству, вы смогли успешно развернуть Ghost, настроить Nginx и защитить ваш сайт с помощью Let's Encrypt SSL-сертификата. Благодаря простому управлению через Ghost CLI и стабильной основе Ubuntu LTS, ваш проект будет готов к масштабированию и долгосрочной работе.





