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

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

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

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

Главная страница/скриншот Cezerin

Краткое определение: 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/домен).

Панель управления Cezerin — пример интерфейса магазина

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)

  1. Перевести магазин в режим обслуживания (при необходимости).
  2. Сделать бэкап MongoDB.
  3. На сервере в /opt/cezerin выполнить git pull.
  4. npm install && npm run build.
  5. systemctl restart cezerin && проверить логи.
  6. Отключить режим обслуживания.

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. Что делать, если что‑то идёт не так (короткий план действий)

  1. Проверить статус служб: systemctl status cezerin, service mongod status, systemctl status nginx.
  2. Смотреть логи (journalctl, /var/log/nginx/*, логи приложения в /opt/cezerin).
  3. Проверить занятые порты: ss -tulpn | egrep ‘3000|3001|80’.
  4. Возврат к предыдущей рабочей версии: откатить git‑коммит или восстановить бэкап базы.

15. Заключение

Вы установили Cezerin, настроили обратный прокси и systemd‑службу. Для продакшна обязательно включите HTTPS, настройте бэкап и мониторинг. Если нужно, можно перейти к развёртыванию в Docker или добавить CI/CD для автоматических обновлений.

Важно: если у вас остались вопросы по конкретным ошибкам — пришлите вывод команд systemctl status и последние строки логов, и я помогу с диагностикой.


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

  • Cezerin развёрнут на Ubuntu 18.04 с Node.js 12.x и MongoDB 4.0.
  • Nginx настроен как обратный прокси; systemd управляет службой.
  • В руководстве есть чек‑листы, план обновлений и советы по безопасности.
Поделиться: 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 — руководство