Установка Cezerin на Ubuntu 18.04
Cezerin — лёгкая open-source платформа для интернет-магазина на базе React и Node.js. В этой инструкции подробно показано, как установить Cezerin на Ubuntu 18.04: от обновления системы и установки Node.js/MongoDB до настройки Nginx и systemd-сервиса. В конце — чек-листы, варианты развёртывания и распространённые ошибки.

Краткое определение: Cezerin — это открытая single-page eCommerce‑платформа на React и Node.js с серверным рендерингом и поддержкой PWA.
Важно: пример использует статический IP 192.168.0.4 и Ubuntu 18.04. Подставьте свои значения (IP/домен/пути).
Основные требования
- Сервер с Ubuntu 18.04.
- Установлен пароль root или доступ через sudo.
- Статический IP в примере: 192.168.0.4 (можно заменить на домен).
- Права на установку пакетов и редактирование конфигураций.
Что вы сделаете в этой инструкции
- Обновите систему.
- Установите Node.js 12.x и build-essential.
- Установите MongoDB 4.0 и запустите службу.
- Скачаете и соберёте Cezerin, запустите магазин и API.
- Настроите Nginx как обратный прокси (порт 80 → Cezerin:3000).
- Создадите systemd‑unit для управления Cezerin.
Факты и порты
- По умолчанию Store: порт 3000, API: порт 3001.
- В примере используется Node.js 12.x и MongoDB 4.0.
1. Подготовка сервера
Обновите пакеты и выполните апгрейд:
apt-get update -y
apt-get upgrade -yПосле обновления перезагрузите сервер, если это требуется.
Примечание: всегда делайте бэкап важных данных перед крупными обновлениями.
2. Установка Node.js (12.x)
Ubuntu 18.04 по умолчанию не содержит последних Node.js. Добавим репозиторий NodeSource и установим Node.js 12.x:
curl -sL https://deb.nodesource.com/setup_12.x | bash -
apt-get install nodejs build-essential -yПроверьте версии:
node -vОжидаемый пример вывода (в исходной инструкции):
v12.5.0И для npm:
npm -vОжидаемый пример вывода:
6.9.0Совет: при необходимости используйте nvm для управления несколькими версиями Node.
3. Установка MongoDB 4.0
Добавим официальный репозиторий MongoDB и установим mongodb-org:
apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 9DA31620334BD75D9DCB49F368818C72E52529D4
echo "deb [ arch=amd64 ] https://repo.mongodb.org/apt/ubuntu bionic/mongodb-org/4.0 multiverse" | tee /etc/apt/sources.list.d/mongodb-org-4.0.list
apt-get update -y
apt-get install mongodb-org -yЗапустите службу MongoDB и проверьте её статус:
service mongod start
service mongod statusПример ожидаемого статусного вывода (сокращено):
Active: active (running)
MongoDB connected successfullyВажно: если вы планируете продакшн‑развёртывание, рассмотрите настройку аутентификации для MongoDB и резервного копирования данных.
4. Скачивание и установка Cezerin
Склонируйте репозиторий и установите зависимости:
cd /opt
git clone https://github.com/cezerin/cezerin.git
cd /opt/cezerin
npm update node-sass
npm install --unsafe-perm --allow-root
npm run build
npm run setupЗапустите приложение локально:
npm startОжидаемый пример вывода при успешном старте:
[start-api] info: API running at http://localhost:3001
[start-api] info: MongoDB connected successfully
[start-store] info: Store running at http://localhost:3000После этого откройте в браузере http://192.168.0.4:3000 (или замените на ваш IP/домен).

5. Настройка Nginx как обратного прокси (порт 80)
Установите Nginx:
apt-get install nginx -yСоздайте файл виртуального хоста:
nano /etc/nginx/sites-available/cezerin.confДобавьте конфигурацию (замените server_name на ваш IP или домен):
upstream cezerin {
server 127.0.0.1:3000 weight=100 max_fails=5 fail_timeout=5;
}
server {
listen 80;
server_name 192.168.0.4;
location / {
proxy_set_header X-Forwarded-Host $host;
proxy_set_header X-Forwarded-Server $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_pass http://cezerin/;
}
}Активируйте сайт и проверьте конфигурацию:
ln -s /etc/nginx/sites-available/cezerin.conf /etc/nginx/sites-enabled/
nginx -t
systemctl restart nginxВажно: для публичного сайта настоятельно рекомендуется включить HTTPS (см. раздел «Безопасность» ниже).
6. Создание systemd‑сервиса для Cezerin
Создайте unit‑файл:
nano /etc/systemd/system/cezerin.serviceВставьте:
[Unit]
Description=Cezerin Server
[Service]
ExecStart=/usr/bin/npm start
WorkingDirectory=/opt/cezerin
Restart=always
RestartSec=10
StandardOutput=syslog
StandardError=syslog
SyslogIdentifier=nodejs-example
[Install]
WantedBy=multi-user.targetОбновите systemd, запустите и включите сервис при загрузке:
systemctl daemon-reload
systemctl start cezerin
systemctl enable cezerin
systemctl status cezerinОжидаемый пример вывода: служба active (running).
7. Критерии приёмки
- Store доступен по http://
илидомен> и возвращает страницу магазина. - API доступен на порту 3001 и сообщает о подключении к MongoDB.
- systemd‑служба Cezerin активна и автоматически рестартует при падении.
8. Быстрая проверка и отладка
- Проверка логов systemd:
journalctl -u cezerin -f- Проверка логов Nginx:
tail -n 200 /var/log/nginx/error.log
tail -n 200 /var/log/nginx/access.log- Если npm install падает на node-sass, попробуйте npm rebuild node-sass или установить совместимую версию node-sass.
Примеры распространённых ошибок и что делать:
- MongoDB не запускается → проверить /var/log/mongodb и конфигурацию mongod.conf.
- Порт 3000 занят → определить процесс: sudo ss -tulpn | grep 3000 и завершить/перенастроить.
- Nginx 502 Bad Gateway → проверить, запущен ли Cezerin и слушает ли 127.0.0.1:3000.
9. Безопасность и продакшн‑рекомендации
- Включите HTTPS: получите сертификат от Let’s Encrypt и настройте Nginx для https. Пример (если у вас домен):
apt-get install certbot python3-certbot-nginx -y
certbot --nginx -d your.domain.example- Ограничьте доступ к MongoDB (привязка к localhost и аутентификация).
- Настройте брандмауэр (ufw): разрешите порты 22,80,443 и закройте ненужные.
ufw allow OpenSSH
ufw allow 'Nginx Full'
ufw enable- Регулярно обновляйте зависимости и ядро OS, а также делайте бэкапы базы данных.
10. Альтернативные подходы к развёртыванию
- Docker: разворачивать Cezerin в контейнерах (отдельные контейнеры для store, api, mongodb, nginx). Упрощает масштабирование и переносимость.
- Использовать процесс‑менеджеры (pm2) вместо systemd для более гибкого управления Node‑процессами.
- Размещать MongoDB на управляемом сервисе (Atlas) для отказоустойчивости.
Когда альтернативы не подходят: Docker добавляет слой абстракции и может усложнить отладку для новичков.
11. Чек‑листы по ролям
Администратор сервера:
- Обновил систему и установил Node/Mongo/Nginx.
- Настроил firewall и HTTPS.
- Настроил systemd и мониторинг.
Разработчик / интегратор:
- Собрал проект (npm run build).
- Проверил логи API и store.
- Настроил окружения (env vars) для API/Store.
Владелец магазина:
- Проверил UI и доступные страницы.
- Создал тестовый товар и проверил оформление заказа.
12. Мини‑руководство по обновлениям (playbook)
- Перевести магазин в режим обслуживания (при необходимости).
- Сделать бэкап MongoDB.
- На сервере в /opt/cezerin выполнить git pull.
- npm install && npm run build.
- systemctl restart cezerin && проверить логи.
- Отключить режим обслуживания.
13. Краткий cheat sheet команд
# Обновление системы
apt-get update -y && apt-get upgrade -y
# Node и сборка
curl -sL https://deb.nodesource.com/setup_12.x | bash -
apt-get install nodejs build-essential -y
# MongoDB
apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv
echo "deb [ arch=amd64 ] https://repo.mongodb.org/apt/ubuntu bionic/mongodb-org/4.0 multiverse" | tee /etc/apt/sources.list.d/mongodb-org-4.0.list
apt-get update -y && apt-get install mongodb-org -y
service mongod start
# Cezerin
cd /opt
git clone https://github.com/cezerin/cezerin.git
cd cezerin
npm install --unsafe-perm --allow-root
npm run build
npm start
# systemd
systemctl daemon-reload
systemctl start cezerin
systemctl enable cezerin 14. Что делать, если что‑то идёт не так (короткий план действий)
- Проверить статус служб: systemctl status cezerin, service mongod status, systemctl status nginx.
- Смотреть логи (journalctl, /var/log/nginx/*, логи приложения в /opt/cezerin).
- Проверить занятые порты: ss -tulpn | egrep ‘3000|3001|80’.
- Возврат к предыдущей рабочей версии: откатить git‑коммит или восстановить бэкап базы.
15. Заключение
Вы установили Cezerin, настроили обратный прокси и systemd‑службу. Для продакшна обязательно включите HTTPS, настройте бэкап и мониторинг. Если нужно, можно перейти к развёртыванию в Docker или добавить CI/CD для автоматических обновлений.
Важно: если у вас остались вопросы по конкретным ошибкам — пришлите вывод команд systemctl status и последние строки логов, и я помогу с диагностикой.
Краткое резюме
- Cezerin развёрнут на Ubuntu 18.04 с Node.js 12.x и MongoDB 4.0.
- Nginx настроен как обратный прокси; systemd управляет службой.
- В руководстве есть чек‑листы, план обновлений и советы по безопасности.
Похожие материалы
RDP: полный гид по настройке и безопасности
Android как клавиатура и трекпад для Windows
Советы и приёмы для работы с PDF
Calibration в Lightroom Classic: как и когда использовать
Отключить Siri Suggestions на iPhone