Установка ApostropheCMS на Ubuntu 18.04 LTS

ApostropheCMS — бесплатная и открытая система управления контентом на базе Node.js и MongoDB. Подходит для простых и сложных сайтов с содержимым: поддерживает связи между документами (например, публикации и авторы), теги, откат версий и гибкую систему прав.
Важно: руководство ориентировано на сервер с Ubuntu 18.04 LTS и статическим IP. Права root или эквивалент sudo необходимы.
Что вы получите из этого руководства
- Полный набор команд для подготовки системы и установки ApostropheCMS.
- Настройка Node.js, Yarn, Ruby (rbenv) и MongoDB.
- Создание проекта, пользователь администратора и запуск сервера.
- Советы по отладке, безопасность и альтернативы.
Основные требования
- Сервер с Ubuntu 18.04 LTS.
- Настроенный статический IP-адрес.
- Пароль root или пользователь с правами sudo.
Подготовка системы
Обновите пакеты и перезагрузите систему:
apt-get update -y
apt-get upgrade -yУстановите вспомогательные утилиты:
apt-get install git curl wget unzip -yПримечание: команды выполняйте под root или с sudo.
Установка Node.js и Yarn
ApostropheCMS работает на Node.js. В Ubuntu 18.04 нет актуальных сборок Node.js в стандартном репозитории, поэтому добавим внешний репозиторий для Node.js 8.x (как в оригинальном руководстве):
curl -sL https://deb.nodesource.com/setup_8.x | bash -
apt-get install nodejs -yУстановка Yarn и сопутствующих пакетов:
curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | apt-key add -
echo "deb https://dl.yarnpkg.com/debian/ stable main" | tee /etc/apt/sources.list.d/yarn.list
apt-get update -y
apt-get install yarn zlib1g-dev build-essential libpq-dev libssl-dev libreadline-dev libyaml-dev libsqlite3-dev sqlite3 libxml2-dev libxslt1-dev libcurl4-openssl-dev software-properties-common libffi-dev -yПримечание: пакетный набор содержит библиотеки, часто требующиеся для сборки нативных расширений Ruby/Node.
Установка Ruby через rbenv (для совместимости плагинов)
Некоторые сборки инструментов или плагины могут потребовать Ruby. Мы ставим rbenv и ruby-build:
git clone https://github.com/rbenv/rbenv.git ~/.rbenv
echo 'export PATH="$HOME/.rbenv/bin:$PATH"' >> ~/.bashrc
echo 'eval "$(rbenv init -)"' >> ~/.bashrc
exec $SHELL
git clone https://github.com/rbenv/ruby-build.git ~/.rbenv/plugins/ruby-build
echo 'export PATH="$HOME/.rbenv/plugins/ruby-build/bin:$PATH"' >> ~/.bashrc
exec $SHELL
rbenv install 2.5.3
rbenv global 2.5.3Проверьте версию Ruby:
ruby -vОжидаемый вывод (пример):
ruby 2.5.3p105 (2018-10-18 revision 65156) [x86_64-linux]Установка MongoDB
ApostropheCMS хранит данные в MongoDB. Установите MongoDB из репозитория Ubuntu:
apt-get install mongodb -y
npm install mongodb --saveПримечание: сообщения npm SaveError или enoent при установке модуля mongodb можно игнорировать на данном этапе. Проверьте состояние сервиса:
systemctl status mongodbОжидаемый фрагмент вывода указывает на active (running) сервис mongod.
Установка инструментария и создание проекта
Установите ImageMagick (через npm) и глобальный CLI для Apostrophe:
npm install imagemagick
npm install apostrophe-cli -gПримерный вывод при установке apostrophe-cli должен показать создание символьных ссылок /usr/bin/apostrophe и /usr/bin/apos.
Создайте проект на основе шаблона:
apostrophe create-project apostrophecms
cd apostrophecms
npm installПосле установки зависимостей создайте администратора:
node app.js apostrophe-users:add admin adminСледуйте подсказке для ввода пароля администратора.
Запустите приложение:
node app.jsПо умолчанию ApostropheCMS слушает порт 3000.
Доступ к панели и первые шаги
Откройте в браузере адрес http://your-server-ip:3000 и нажмите Login.

Введите admin и пароль, затем Log In. После входа вы попадёте в панель управления CMS.

Чтобы добавить страницу, используйте меню страниц в левом нижнем углу.

Проверка и базовая отладка
- Если не запускается node app.js — проверьте вывод в терминале на отсутствующие модули и выполните npm install.
- Проверьте логи MongoDB через journalctl -u mongodb или systemctl status mongodb.
- Убедитесь, что порт 3000 открыт в брандмауэре (ufw allow 3000/tcp).
- Если браузер не подключается, попробуйте curl http://127.0.0.1:3000 на сервере, чтобы исключить сетевые проблемы.
Важно: при установке из устаревших репозиториев (Node 8.x) возможно появление предупреждений безопасности. Рассмотрите обновление шаблона и совместимость с более новыми версиями Node.js, если вы создаёте проект для продакшена.
Когда установка может не сработать
- MongoDB не запускается: проверьте свободное место, права на /var/lib/mongodb и корректность конфигурации /etc/mongodb.conf.
- Конфликты версий Node.js: глобально установленные пакеты могут требовать других версий Node. Используйте nvm для управления версиями Node.
- Ошибки сборки нативных модулей: убедитесь, что установлены build-essential и заголовки для требуемых библиотек.
Альтернативные подходы
- Docker: разверните ApostropheCMS в контейнере, чтобы изолировать окружение и проще управлять версиями зависимостей.
- Использовать более новую Ubuntu (20.04/22.04) и актуальную LTS-версию Node.js, если планируете долгосрочную поддержку.
- Хостинг платформы PaaS (Heroku, Render) для быстрого прототипирования.
Безопасность и эксплуатация
- Не оставляйте приложение слушающим на 0.0.0.0 без обратного прокси. В боевом окружении ставьте обратный прокси (Nginx) и настройте SSL (Let’s Encrypt).
- Отключите прямой доступ к MongoDB из интернета. Разрешите подключение только с локального хоста или через туннель.
- Настройте бэкапы для MongoDB и резервные копии файлов медиа.
Рольовые чек-листы при вводе в эксплуатацию
Администратор:
- Проверить доступ в админ-панель.
- Создать учетные записи редакторов и задать права.
- Настроить бэкапы и SSL.
Разработчик:
- Проверить сборку npm, тесты и миграции.
- Автоматизировать деплой через CI/CD.
Оператор:
- Настроить мониторинг процесса node и сервиса MongoDB.
- Включить автоперезапуск системы через systemd или pm2.
Ключевые числа и факты
- Порт по умолчанию: 3000.
- Рекомендованная версия Node в этом руководстве: 8.x (как в оригинале).
- Пример Ruby: 2.5.3 (используется rbenv в руководстве).
- ОС: Ubuntu 18.04 LTS.
Мини-методология развертывания (шаги)
- Обновить систему и установить утилиты.
- Установить Node.js и Yarn.
- Установить rbenv и Ruby при необходимости.
- Установить MongoDB и проверить сервис.
- Установить apostrophe-cli и создать проект.
- Настроить администратора, запустить приложение и проверить веб-доступ.
- Перенести в продакшен с обратным прокси, SSL и мониторингом.
Критерии приёмки
- Веб-интерфейс доступен по http://IP:3000 и показывает страницу логина.
- Удалось создать администратора и войти в панель.
- MongoDB работает и хранит данные (можно проверить создание записи).
Краткое резюме
ApostropheCMS можно установить на Ubuntu 18.04 последовательно: подготовка системы, установка Node.js/Yarn, опционально Ruby, установка MongoDB, глобальная установка apostrophe-cli и создание проекта. Для продакшена добавьте обратный прокси, SSL и бэкапы.
Если у вас появились вопросы или проблемы с конкретной командой — опишите ошибку и вывод терминала, и я помогу пошагово.
Примечание: если вам нужен вариант установки через Docker или обновление под более свежую Ubuntu/Node — подготовлю отдельное руководство.
Похожие материалы
Herodotus: механизм и защита Android‑трояна
Включить новое меню «Пуск» в Windows 11
Панель полей сводной таблицы в Excel — руководство
Включить новое меню «Пуск» в Windows 11
Дубликаты Диспетчера задач в Windows 11 — как исправить