Гид по технологиям

Установка Ghost на Raspberry Pi — пошаговый гид

8 min read Raspberry Pi Обновлено 09 Jan 2026
Ghost на Raspberry Pi: установка и руководство
Ghost на Raspberry Pi: установка и руководство

Зернистое фото человека под одеялом, похожего на привидение

Блоги дают вам возможность делиться идеями и опытом с широкой аудиторией. Ghost — современная платформа для ведения блогов и управления контентом. Она ориентирована на простоту, скорость публикации и встроенные возможности монетизации (рассылки, подписки, платный доступ). Ghost — с открытым исходным кодом, поэтому вы можете установить его на собственный сервер, в том числе на Raspberry Pi.

В этом руководстве вы найдёте подробную инструкцию по развёртыванию Ghost на Raspberry Pi, рекомендации по безопасности, резервному копированию, отладке и альтернативные подходы (Docker, Nginx, Ghost(Pro)).

Почему Ghost хорошо подходит для Raspberry Pi

  • Простота: минималистичный редактор и фокус на создании и публикации контента.
  • Функции «из коробки»: рассылки, подписки и система участников без необходимости множества плагинов.
  • Открытый исходный код и возможность самохостинга на недорогом оборудовании.

Важно: для серьёзной нагрузки Raspberry Pi подойдёт для личных или небольших проектов. При высокой посещаемости лучше рассмотреть облачный хостинг или выделенный сервер.

Что потребуется

  • Raspberry Pi (рекомендуется модель 4 с минимум 2–4 ГБ ОЗУ).
  • Установленная и настроенная ОС (Raspberry Pi OS / Debian) и доступ по SSH.
  • Публичный IP или домен и доступ к панели регистратора домена для редактирования DNS.
  • Доступ к сборке пакетов (apt), возможность установки Node.js и MariaDB.
  • Основные навыки работы в терминале.

Краткое определение терминов:

  • Reverse proxy — обратный прокси: сервер, который принимает внешние запросы и пересылает их внутреннему сервису.
  • Ghost CLI — официальный инструмент для установки и управления Ghost.

Подготовка DNS

В панели управления доменом откройте Advanced DNS. Удалите или отредактируйте текущие записи и создайте A-запись:

  • Host: @
  • Value: <ваш публичный IP>
  • TTL: минимально допустимое значение

Если хотите использовать поддомен, например ghost.example.com, создайте A-запись с Host = ghost и Value = ваш IP.

Важно: распространение DNS может занять от нескольких минут до 24–48 часов в зависимости от регистратора и кэша.

Подготовка Raspberry Pi и Apache в качестве обратного прокси

Подключитесь к Raspberry Pi по SSH и обновите систему:

sudo apt update
sudo apt upgrade -y

Установите Apache, если он ещё не установлен, и включите нужные модули proxy:

sudo apt install apache2 -y
sudo a2enmod proxy proxy_http
sudo service apache2 restart

Создайте файл конфигурации для сайта:

cd /etc/apache2/sites-available/
sudo nano ghost.conf

Вставьте конфигурацию виртуального хоста (замените ghost.your-domain.tld на ваш домен):


    ServerName ghost.your-domain.tld
    ProxyPass / http://127.0.0.1:2368/
    ProxyPassReverse / http://127.0.0.1:2368/
    ProxyPreserveHost On

Сохраните (Ctrl+O) и выйдите (Ctrl+X). Затем включите сайт и перезапустите Apache:

sudo a2ensite ghost.conf
sudo service apache2 restart

Примечание: вы также можете использовать nginx как обратный прокси — пример конфигурации приведён в разделе «Альтернативные подходы».

Добавление базы данных (MariaDB)

Ghost требует базу данных. MariaDB — распространённый выбор для Raspberry Pi.

Установите MariaDB (если ещё не установлена) и запустите клиент:

sudo apt install mariadb-server -y
sudo mariadb

Рекомендуемый и точный порядок команд для создания базы и пользователя:

CREATE DATABASE ghost;
CREATE USER 'ghost'@'localhost' IDENTIFIED BY 'topsecretpassword';
GRANT ALL PRIVILEGES ON ghost.* TO 'ghost'@'localhost';
FLUSH PRIVILEGES;
EXIT;

Замените ‘topsecretpassword’ на надёжный пароль. Запомните имя БД, имя пользователя и пароль — они понадобятся при установке Ghost.

Создание пользователя и базы данных Ghost в MariaDB

Установка Node.js

Ghost требует Node.js. На момент написания Ghost корректно работает с версиями Node.js LTS (например, 16.x или 18.x — проверьте требования текущей версии Ghost в документации).

Перейдите в домашнюю директорию и подключите репозиторий NodeSource, затем установите nodejs:

cd ~
curl -sL https://deb.nodesource.com/setup_16.x | sudo bash -
sudo apt install nodejs -y

Проверьте версию:

node --version

Вы увидите, например, v16.x. При необходимости используйте другую ветку setup_18.x для Node.js 18.

Установка Ghost CLI и развертывание Ghost

Установите Ghost CLI глобально:

sudo npm install -g ghost-cli@latest

Создайте директорию для Ghost и установите туда приложение (обычно /var/www/ghost):

cd /var/www/
sudo mkdir ghost
sudo chown $USER:$USER ghost
cd ghost
ghost install

Ghost CLI выполнит системные проверки. На Raspberry Pi вы можете увидеть предупреждение, что «Linux version is not Ubuntu 16, 18, or 20». Это предупреждение — информационное; при стандартной настройке на Raspberry Pi можно продолжать. Также будет проверка локального MySQL; если вы используете MariaDB и она запущена — подтвердите, иначе пропустите проверку и укажите данные вручную.

Если появится запрос об установке Systemd — соглашайтесь (y), чтобы Ghost мог запускаться как системная служба.

Установка может занять от нескольких минут до 15 минут в зависимости от скорости сети и модели Raspberry Pi.

Терминал с предупреждениями системных проверок при установке Ghost

Первичная настройка аккаунта и вход в админку

После завершения установки Ghost попросит указать URL сайта и данные базы данных (hostname — localhost, database — ghost, username — ghost, password — тот, что вы задали). Затем согласитесь на настройку systemd и на старт сервиса.

Откройте браузер и перейдите по адресу:

http://your-domain-name.tld/ghost/

Создайте первую учётную запись (название сайта, имя администратора, email и пароль — Ghost требует минимум 10 символов). После успешного создания аккаунта Ghost отправит письмо с подтверждением с адреса вида noreply@your-domain.tld.

Экран создания первой учётной записи в Ghost с приветствием

Настройка HTTPS с помощью Let’s Encrypt

Для безопасности обязательно включите HTTPS. Установите certbot и получите сертификат:

sudo apt install certbot python3-certbot-apache -y
sudo certbot --apache

Укажите ваш email и выберите домен, для которого хотите включить HTTPS. Certbot установит сертификаты и обновит конфигурацию Apache. Перезапустите Apache:

sudo systemctl restart apache2

Теперь ваш сайт должен открываться по https://your-domain-name.tld. При необходимости войдите в админку заново.

Первые шаги в интерфейсе Ghost

В админ-панели (/ghost/) вы увидите дашборд, редактор постов и настройки сайта. Интерфейс — минималистичный блоковый редактор (WYSIWYG), похожий по принципам на современные редакторы контента.

Интерфейс редактирования главной страницы в Ghost

Через панель вы можете:

  • Добавлять посты и страницы
  • Управлять участниками и подписчиками
  • Настраивать платные подписки и рассылки
  • Подключать темы и кастомизировать стиль

Страница настроек сайта, участники и дополнительные параметры; управление постами слева

Резервное копирование и обновления

Регулярные бэкапы критичны. Резервируйте как файлы сайта, так и базу данных.

Пример команд для резервного копирования базы MariaDB и каталога Ghost:

# дамп базы
sudo mysqldump -u ghost -p ghost > /home/pi/ghost-db-backup.sql
# архив файлов Ghost
sudo tar -czvf /home/pi/ghost-files-backup.tar.gz -C /var/www ghost

Для восстановления:

# восстановление базы
sudo mysql -u root -p
CREATE DATABASE ghost;
GRANT ALL PRIVILEGES ON ghost.* TO 'ghost'@'localhost' IDENTIFIED BY 'topsecretpassword';
EXIT;
sudo mysql -u ghost -p ghost < /home/pi/ghost-db-backup.sql
# распаковка файлов
sudo tar -xzvf /home/pi/ghost-files-backup.tar.gz -C /var/www/

Перед обновлением Ghost выполните бэкап и проверьте совместимость версий Node.js и Ghost.

Отладка — распространённые ошибки и решения

  1. Ghost не стартует после установки:

    • Проверьте статусы systemd: sudo systemctl status ghost_your-site-com — замените имя службы.
    • Посмотрите логи: sudo journalctl -u ghost_your-site-com -n 200.
    • Убедитесь, что Node.js корректной версии установлен.
  2. Проблемы с соединением к базе:

    • Проверьте, что MariaDB запущена: sudo systemctl status mariadb.
    • Убедитесь, что данные пользователя и пароля совпадают с теми, что в конфигурации Ghost.
  3. Ошибки обратного прокси (ошибка 502/504):

    • Убедитесь, что Ghost слушает на 127.0.0.1:2368: sudo ss -tulpn | grep 2368.
    • Проверьте конфигурацию ProxyPass и ProxyPassReverse.
  4. Проблемы с Let’s Encrypt:

    • Убедитесь, что домен указывает на сервер и порт 80 открыт.
    • Если certbot не может подтвердить владение, временно отключите редиректы и проверьте доступ по HTTP.

Альтернативные подходы

  • Docker: развёртывание Ghost в контейнере упрощает обновления и миграции; хорош для пользователей, знакомых с контейнерами. Используйте официальные образы ghost и отдельный контейнер для MariaDB.

  • Nginx вместо Apache: nginx часто потребляет меньше ресурсов и проще в конфигурации для обратного прокси. Пример локации для nginx:

server {
    listen 80;
    server_name ghost.your-domain.tld;

    location / {
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header HOST $http_host;
        proxy_pass http://127.0.0.1:2368;
    }
}
  • Ghost(Pro): платный сервис-хостинг от команды Ghost. Удобен для тех, кто не хочет заниматься администрированием, но стоит денег.

Когда этот подход не подойдёт (контрпримеры)

  • Если ожидается десятки тысяч одновременных посетителей, Raspberry Pi вряд ли справится.
  • Для мультисайтовых решений с высокой нагрузкой лучше использовать облачный VPS или выделенный сервер.
  • Если вам нужна встроенная поддержка многих плагинов — WordPress может быть удобнее.

Мини-SOP: быстрая чек-лист-инструкция для администратора

  1. Подготовить Raspberry Pi и доступ SSH.
  2. Настроить DNS A-запись для домена/поддомена.
  3. Обновить систему: apt update && apt upgrade.
  4. Установить Apache/nginx и настроить обратный прокси.
  5. Установить MariaDB, создать БД и пользователя.
  6. Установить Node.js (подходящую версию).
  7. Установить Ghost CLI и выполнить ghost install.
  8. Настроить SSL с certbot и проверить HTTPS.
  9. Сделать первый бэкап после установки.

План действий при инциденте (runbook)

  1. Сайт недоступен:

    • Проверить статус сервиса Ghost: sudo systemctl status ghost_*.
    • Проверить логи Ghost и системные журналы.
    • Перезапустить сервис: sudo systemctl restart ghost_*.
    • При проблемах с БД: sudo systemctl status mariadb; проверить состояние таблиц и доступ.
  2. После неудачного обновления:

    • Остановить Ghost: ghost stop.
    • Восстановить файлы и базу из последней резервной копии.
    • Откатить обновление Node.js, если проблема связана с несовместимостью.

Совместимость и советы по миграции

  • Перед обновлением Ghost проверяйте требования к Node.js и к версиям пакетов в официальной документации.
  • При миграции между серверами используйте дамп базы и tar-архив файлов. Для минимального простоя скопируйте файлы и выполните импорт БД вне пиковых часов.

Критерии приёмки

  • Сайт доступен по HTTPS на вашем домене.
  • Админ-панель /ghost/ открывается и позволяет создать пост.
  • Резервная копия БД и файлов успешно создана и проверена.
  • Сервис Ghost запущен как systemd unit и автоматически стартует после перезагрузки.

1‑строчная глоссарий

  • Ghost CLI — официальный инструмент для управления Ghost.
  • Reverse proxy — сервер-посредник (Apache/nginx), перенаправляющий внешние запросы к локальному приложению.
  • MariaDB — форк MySQL, совместимая реляционная база данных.

Итог

Ghost — удобная платформа для личных и малых публичных блогов. Самохостинг на Raspberry Pi даёт вам полный контроль, экономит деньги и служит отличной учебной площадкой для администрирования серверов. Для стабильной работы важны корректная настройка обратного прокси, защищённая база данных и регулярные резервные копии.

Короткое резюме:

  • Подготовьте DNS и Raspberry Pi.
  • Установите Apache/nginx, MariaDB, Node.js и Ghost CLI.
  • Запустите ghost install, настройте admin и включите HTTPS.
  • Делайте бэкапы и тестируйте обновления в тестовой среде.

Примечание: если вы планируете развёртывать блог для коммерческого проекта с большой аудиторией, рассмотрите переход на VPS или на Ghost(Pro) для обеспечения масштабируемости и SLA.

Поделиться: X/Twitter Facebook LinkedIn Telegram
Автор
Редакция

Похожие материалы

RDP: полный гид по настройке и безопасности
Инфраструктура

RDP: полный гид по настройке и безопасности

Android как клавиатура и трекпад для Windows
Гайды

Android как клавиатура и трекпад для Windows

Советы и приёмы для работы с PDF
Документы

Советы и приёмы для работы с PDF

Calibration в Lightroom Classic: как и когда использовать
Фото

Calibration в Lightroom Classic: как и когда использовать

Отключить Siri Suggestions на iPhone
iOS

Отключить Siri Suggestions на iPhone

Рисование таблиц в Microsoft Word — руководство
Office

Рисование таблиц в Microsoft Word — руководство