Как установить Ghost CMS на свой VPS: пошаговая инструкция
Подробный гайд по установке быстрой Ghost CMS на собственный VPS сервер. Разбираем требования, настройку Ubuntu, Node.js и запуск блога с нуля.
Все началось с того, что я в очередной раз подзабросил свои соцсети, блог и каналы. Блог на Wordpress требовал значительной доработки. Telegram - вложений в привлечение подписчиков. Хотелось пространства, где я не ограничен лимитами по знакам, которые не попадут завтра под очередные блокировки. Поиски привели меня к ранее неизвестному Ghost.
Простой и понятный интерфейс, ничего лишнего, возможность установить на собственный сервер и ни от кого не зависеть. Выбор был очевиден.
Что такое Ghost CMS и почему не Wordpress?
Ghost — это движок для блогов и медиа, заточенный под одно: писать и публиковать тексты. Никаких 50 тысяч плагинов, конструкторов страниц и магазинов на JavaScript. Открыл редактор — пишешь. Встроены подписки, рассылки, платный контент. Всё, что нужно автору, и почти ничего сверху.
WordPress пытается быть всем сразу: блог, интернет-магазин, лендинг, форум, корпоративный сайт. Из-за этого он медленный, требует постоянного обслуживания и обрастает плагинами, которые конфликтуют друг с другом. Ghost — это осознанный отказ от универсальности в пользу скорости и простоты.
Что нужно для установки
Для установки понадобится не так уж и много - виртуальный сервер (VPS). Я выбрал Beget. Причем для старта хватит самой простой конфигурации за 330₽ в месяц.

Операционную систему выбрал Ubuntu 24.04 LTS, как наиболее совместимую.
Так же понадобится доменное имя. Зарегистрировать его можно все на том же Beget.
Когда сервер уже куплен, необходимо зайти в панель управлеия DNS и направить A-запись вашего домена (например, `blog.domain.ru`) на IP-адрес нового сервера. Без этого Ghost не сможет выпустить бесплатный SSL-сертификат при установке.
Первичная настройка сервера
Подключаемся к серверу через терминал от имени root:ssh root@IP_СЕРВЕРА
Так как на сервере 1 Гб оперативной памяти, установка может зависнуть. Создаем файл подкачки (Swap) на 2 ГБ. Вводим команды по очереди:
fallocate -l 2G /swapfile
chmod 600 /swapfile
mkswap /swapfile
swapon /swapfile
echo '/swapfile none swap sw 0 0' | tee -a /etc/fstab
Ghost категорически запрещает установку от имени пользователя root ради безопасности. Создаем нового пользователя:
# Обновляем систему
apt update && apt upgrade -y
# Создаем пользователя ghostadmin (придумайте пароль, остальные поля пропустите через Enter)
adduser ghostadmin
# Даем ему права администратора
usermod -aG sudo ghostadmin
# Переключаемся на этого пользователя (ВСЕ ДАЛЬНЕЙШИЕ ШАГИ ДЕЛАЕМ ОТ НЕГО!)
su - ghostadmin
Установка необходимых компонентов
Выполняем команды от имени ghostadmin. В процессе система может запросить пароль пользователя ghostadmin.
# Устанавливаем NGINX и MySQL
sudo apt install nginx -y
sudo apt install mysql-server -y
# Задаем пароль для базы данных
# В примере ниже пароль: YOUR_PASSWORD
sudo mysql -e "ALTER USER 'root'@'localhost' IDENTIFIED WITH caching_sha2_password BY 'YOUR_PASSWORD'; FLUSH PRIVILEGES;"
# Устанавливаем Node.js (Для новых версий Ghost СТРОГО версия 22.x)
curl -fsSL https://deb.nodesource.com/setup_22.x | sudo -E bash -
sudo apt install -y nodejs
Установка Ghost-CLI и подготовка директории
Устанавливаем официальную утилиту и создаем папку для блога.
# Устанавливаем Ghost-CLI
sudo npm install ghost-cli@latest -g
# Создаем папку и выдаем права
sudo mkdir -p /var/www/ghost
sudo chown ghostadmin:ghostadmin /var/www/ghost
sudo chmod 775 /var/www/ghost
# ПЕРЕХОДИМ В ПАПКУ (Обязательно перед установкой!)
cd /var/www/ghost
Находясь внутри папки /var/www/ghost, запускаем установку:
ghost install
Установщик задаст несколько вопросов (отвечайте внимательно):
- Blog URL: Введите домен с https (например:
https://blog.domain.ru) - MySQL hostname: Нажмите
Enter(оставит localhost) - MySQL username: Введите
root - MySQL password: Введите пароль из Шага 3 (например:
YOUR_PASSWORD) - Ghost database name: Нажмите
Enter - Set up a ghost MySQL user?
Y - Set up NGINX?
Y - Set up SSL?
Y(попросит ваш email, нужнен для сертификата) - Set up systemd?
Y - Start Ghost?
Y
Установка завершена! Админка доступна по адресу: https://вашдомен.ru/ghost
Вместо заключения
Эту статью вы читаете как раз на моей новой площадке. Впереди еще немало работы. Нужно подключить почтовый сервер, а так же сделать множество настроек, но об этом в других статьях.
Подписывайтесь так же на мой Telegram-канал!