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

Установка FlintCMS на Ubuntu 18.04

5 min read CMS Обновлено 23 Nov 2025
Установка FlintCMS на Ubuntu 18.04
Установка FlintCMS на Ubuntu 18.04

Схема установки FlintCMS на сервере

О чем статья

Пошаговое руководство для разработчиков и администраторов, которые хотят быстро развернуть FlintCMS (открытый Node.js CMS, ориентированный на контент) на сервере Ubuntu 18.04. Подходит для простых сайтов и блогов, когда фронтенд собирает веб-дизайнер без глубоких знаний в коде.

Важно: эта инструкция ориентирована на Ubuntu 18.04 и Node.js 12.x, как в оригинальной документации. На более новых версиях ОС или Node.js возможны небольшие отличия в командах и зависимостях.

Требования

  • Сервер с Ubuntu 18.04.
  • Настроенный статический IP-адрес.
  • Доступ root или пользователь с sudo.

Начало — обновление системы

Обновите списки пакетов и установите обновления:

apt-get update -y  
apt-get upgrade -y

После обновлений желательно перезагрузить сервер, чтобы применить все изменения.

Установка необходимых пакетов

Добавьте репозитории Node.js и Yarn, затем установите зависимости:

curl -sL https://deb.nodesource.com/setup_12.x | bash -  
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 nodejs yarn git 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 и MongoDB

FlintCMS использует Ruby-инструменты для некоторой локальной работы в окружении (rbenv). Настройте локальный профиль для rbenv и установите Ruby:

git clone https://github.com/rbenv/rbenv.git ~/.rbenv  
echo 'export PATH="$HOME/.rbenv/bin:$PATH"' >> ~/.bashrc  
echo 'eval "$(rbenv init -)"' >> ~/.bashrc  
git clone https://github.com/rbenv/ruby-build.git ~/.rbenv/plugins/ruby-build  
echo 'export PATH="$HOME/.rbenv/plugins/ruby-build/bin:$PATH"' >> ~/.bashrc

Перезапустите сессию shell или выполните source ~/.bashrc, затем установите Ruby (пример из исходной инструкции):

rbenv install 2.6.3  
rbenv global 2.6.3

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

ruby -v

Установите MongoDB и пакет nosql (npm):

apt-get install mongodb  
npm install nosql

После установки MongoDB убедитесь, что служба запущена и слушает локальные подключения (обычно порт 27017).

Установка FlintCMS

Создайте рабочую директорию и установите пакет:

mkdir /root/flintcms

cd flintcms  
npm install flintcms

Создайте файл входной точки index.js:

nano index.js

Вставьте:

const Flint = require('flintcms');

const flintServer = new Flint({
  siteName: 'My Amazing Flint Site!'
});

flintServer.startServer();

Сохраните файл. Создайте файл окружения .env:

nano /root/flintcms/.env

Пример содержимого .env (отредактируйте секреты и креденшелы под вашу среду):

# Secret settings
SESSION_SECRET=Fy#xXd)L6UOjrJiOFCHpf3qqesa!h#+z

# Mongo Credentials
DB_HOST=127.0.0.1/test
DB_USER=admin
DB_PASS=admin

DEBUG=flint*

Запустите сервер:

node index.js

Ожидаемый вывод при старте сервера (пример):

   ???????????????????????????????????????????????????????????????????????????????????????????????
   ?                                                                                             ?
   ?                              Welcome to your FlintCMS server!                               ?
   ?                                                                                             ?
   ?                        You can access it here: http://localhost:4000                        ?
   ?   Setting up your server for the first time? Go here: http://localhost:4000/admin/install   ?
   ?                                                                                             ?
   ???????????????????????????????????????????????????????????????????????????????????????????????

Доступ к веб-интерфейсу FlintCMS

Откройте в браузере: http://yourserverip:4000/admin/install

Страница входа FlintCMS

Заполните электронную почту администратора, имя пользователя и пароль. Нажмите Create Account.

Панель FlintCMS

Поздравляем — FlintCMS установлен и запущен.

Советы по эксплуатации и безопасность

  • Запускайте FlintCMS под системным юнитом (systemd) или процесс-менеджером (pm2), чтобы обеспечить автоматический рестарт.
  • Храните секреты (SESSION_SECRET, DB_PASS) вне репозитория и ограничьте права на файл .env (chmod 600).
  • Разграничьте доступ к MongoDB: используйте аутентификацию и firewall (ufw) для ограничения подключений к базе.
  • Настройте обратный прокси (Nginx) для HTTPS (Let’s Encrypt) и проброса на порт 4000.

Тесты, проверка и критерии приёмки

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

  • Сервер запускается без ошибок: node index.js возвращает сообщение о старте.
  • Админ-интерфейс доступен по http://yourserverip:4000/admin/install
  • Можно создать администратора и войти в панель.
  • Содержимое сохраняется в MongoDB и доступно после перезапуска сервера.

Проверочные команды:

curl -I http://localhost:4000
systemctl status mongodb

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

  • Вместо глобальной установки Node.js можно использовать nvm для управления версиями Node.js per-user.
  • Вместо MongoDB на локальной машине можно использовать управляемый MongoDB Atlas и указать соответствующий DB_HOST.
  • Для продакшена предпочтителен запуск через process manager (pm2) и организация обратного прокси через Nginx.

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

  1. Проблема: сервер не запускается, ошибка по модулю
    • Решение: выполните npm install в директории проекта, проверьте права доступа и версию Node.js.
  2. Проблема: подключение к MongoDB не удаётся
    • Решение: проверьте, запущен ли mongodb (systemctl status mongodb) и правильность DB_HOST/креденшелов.
  3. Проблема: сайт доступен по localhost, но не по IP
    • Решение: проверьте, слушает ли приложение на 0.0.0.0 или используйте обратный прокси.
  4. Проблема: 502 Bad Gateway при использовании Nginx
    • Решение: проверьте socket/порт и правильность upstream в конфигурации Nginx, перезапустите сервисы.

Роли — чек-листы для команды

Администратор сервера:

  • Обновить систему и установить зависимости.
  • Настроить firewall, создать systemd unit или pm2-конфигурацию.

Разработчик/верстальщик:

  • Настроить фронтенд-ассеты и проверить интеграцию с API FlintCMS.
  • Проверить поведение в режиме DEBUG (DEBUG=flint*).

Оператор/DevOps:

  • Настроить мониторинг, бэкапы MongoDB и CI/CD для деплоя.

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

  • Инструкция ориентирована на Ubuntu 18.04 и Node.js 12.x. На Ubuntu 20.04+ или Node.js 14/16 возможны отличия в пакетах и версиях зависимостей. Перед миграцией протестируйте установку в staging-среде.

Мини-методология развертывания (быстрая последовательность)

  1. Подготовить сервер: обновление, firewall.
  2. Установить Node.js и Yarn.
  3. Установить Ruby (если требуется) и MongoDB.
  4. Установить flintcms в изолированную директорию.
  5. Настроить .env, запустить и проверить.
  6. Перевести в продакшен через systemd/pm2 + Nginx + SSL.

Быстрая справка (1-строчная глоссарий)

  • FlintCMS: минималистичный CMS на Node.js для управления контентом.
  • Yarn: менеджер пакетов для Node.js.
  • rbenv: менеджер версий Ruby.
  • MongoDB: документная NoSQL база данных.

Частые вопросы

На каком порте работает FlintCMS по умолчанию?

По умолчанию FlintCMS запускается на порту 4000. В продакшене обычно ставят обратный прокси на 80/443.

Где хранятся настройки подключения к БД?

В файле .env в корне проекта (пример в разделе установки). Рекомендуется защищать этот файл правами доступа.

Как запускать FlintCMS как службу?

Настройте systemd unit или используйте pm2 для управления процессом и автозапуска.

Итог

FlintCMS можно быстро развернуть на Ubuntu 18.04 с базовым набором пакетов: Node.js, Yarn, Ruby и MongoDB. После установки настройте .env, запустите server и обеспечьте доступ через обратный прокси и HTTPS для продакшена.

Если нужны примеры systemd unit, конфигурация Nginx или инструкции по бэкапу MongoDB — напишите, и я подготовлю дополнительные шаблоны.

Поделиться: 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 — руководство