Бипуим: Документация
8-800-505-24-05Сайт Бипиум
  • 😎Отвечаем на ваши вопросы
  • 🎂Версии и обновления
  • ❗Обновление до версии 2.0
  • Документация
    • 🆕С чего начать
      • Регистрация и вход
      • Создаем каталоги и записи
      • Формируем отчёты
      • Настраиваем правовую политику
      • Применяем автоматизации
    • ⚙️Конструктор данных
      • Отделы
      • Каталоги
        • Редактирование структуры
        • Настройка отображения
        • Поиск и фильтрация
        • Импорт записей
          • 📗Импорт из Excel
        • Экспорт записей
        • Активность
      • Системные каталоги
        • Сотрудники
        • События
        • Внешние запросы
        • Сценарии
        • Процессы
        • Доступ к сервисам
        • Вебхуки
      • Виды
      • Записи
    • 📊Отчеты
      • Графики
    • 🔑Права
      • Правила
      • Привилегии
      • Правовые группы
      • Правовые виды
      • Права на поля
      • Комбинация прав
    • 🤖Автоматизации
      • События
        • Изменение данных
        • Внешние запросы
      • Сценарии
        • Компоненты
          • Начало процесса
          • Конец процесса
          • Таймер
          • Ошибка
          • Шлюз «ИЛИ» (условное ветвление)
          • Шлюз «И» (распараллеливание)
          • Получить запись
          • Найти записи
          • Изменить запись
          • Создать запись
          • Удалить запись
          • Структура каталога
          • Загрузить файл
          • Сгенерировать документ
          • Назначение переменных
          • Код (Javascript)
          • Веб-запрос
          • SQL-запрос
          • Конвертер
          • Парсер
          • Запуск процесса
          • Получение почты
          • Отправка почты
          • Соединяющая линия
          • Отправить сообщение
        • Переменные
        • Выражения
        • Входные и выходные параметры компонентов
        • Примеры настройки
          • Условие
          • Цикл
      • Ограничения
  • Лицензии
    • 🌐Тип лицензирования
  • Примеры
    • 🔑Права доступа к данным
    • 🤖Автоматизации
      • Выгрузка файлов на Яндекс Диск
      • Отправка на больничный
      • Автоматизация оплаты счетов
      • Создание наименований записей
      • Расчет скидок для клиентов
      • Запрет на создание дубликатов в каталоге
      • Автозаполнение данных по ИНН
      • Переброс данных между связанными каталогами
      • Очередь сценариев
      • Отслеживание заявок с сайта помощью UTM-меток
      • Просрочка задач по дедлайну
      • Реализация механизма согласования записей
      • Массовое изменение записей
      • Создание каталога для рассылки почты
      • Перенос данных между системами Бипиума
      • Импорт данных из Excel
      • Генерация счет-фактуры
      • Генерация excel-отчетов
      • Планировщик задач
      • Импорт банковских выписок
      • Производственный календарь
      • Складской учет
  • Интеграции
    • 🥂Методы интеграции
      • Интеграция данных
        • API
        • Вебхуки (webhooks)
      • Интеграция интерфейса
        • Веб-формы
        • Веб-расширения
      • Примеры интеграций
        • Тильда
          • Прием данных с формы Tilda
          • Интеграция веб-интерфейса в Tilda
        • Интеграция с сервисом «DaData»
        • Интеграция c «Единой информационной системой в сфере закупок»
        • Мессенджеры
          • Интеграция с Telegram-ботом
        • Почтовые сервисы
          • UniSender
          • MailChimp
        • Сервисы Google
          • Google Calendar
        • Телефония
          • Oktell
            • Панель телефонии Oktell
            • Компонент Bpium в Oktell
        • 1C
    • 🔌API
      • Данные
        • Каталоги (Catalogs)
        • Записи (Records)
        • Связи (Relations)
        • Истории (Histories)
        • Файлы (Files)
        • Отделы (Sections)
        • Виды (Views)
        • Сообщения (Messages)
      • Агрегация
        • Разложения (Values)
        • Сводка (Totals)
      • Отчеты
        • Дашборды (Boards)
        • Графики (Widgets)
      • Поисковые выборки
        • Доступные связи (AvailableRecords)
        • Доступные условия фильтра (AvailableFilterRecords)
        • Сотрудники (Users)
        • Контакты (Contacts)
      • Права (Rights)
      • Профиль (Profile/me)
  • Установка на сервер
    • 🧱Архитектура
      • Варианты разворачивания
    • 🖥️Требования
    • 📂Установка как служба
    • 🛳️Установка через Docker
    • 🎛️Мультидоменная среда
    • 🆘Материалы
      • TLS/SSL Сертификат
      • Параметры config.env
        • Для Bpium
        • Для Bpium S3
        • Для Bpium BPM
      • Запуск
      • Обсуживание
        • Активация
        • Обновление
        • Бэкап и восстановление базы
        • Брендирование (Whitelabel)
        • Удаление
      • Перенос базы из облака
      • Возможные проблемы в ходе установки и работы
  • Обучение
    • Базовый курс
      • Урок 1. Отделы
      • Урок 2. Каталоги с данными
      • Урок 3. Карточки записей
      • Урок 4. Связи между данными
      • Урок 5. Фильтры и виды
      • Урок 6. Приглашение сотрудников
      • Урок 7. Права доступа к данным
      • Урок 8. Графические отчеты
      • Урок 9. Бизнес-процессы
      • Урок 10. Интеграции
    • Технический курс
      • Урок 1. Принцип работы автоматизаций
      • Урок 2. Первая автоматизация изнутри
      • Урок 3. Валидация данных
      • Урок 4. Простые вычисления
      • Урок 5. Расчет суммы заказа
      • Урок 6. Генерация счетов/документов
      • Урок 7. Рассылка почтовых сообщений
      • Урок 8. Прием внешних данных
      • Урок 9. Отправка данных на сторонние сервисы
    • Паттерны проектирования ИС
      • Унификация
      • Упорядоченность
      • Разделение
      • Актуализация
      • Вынос параметров
      • Выделение позиций
      • Слияние
      • Дублирование
      • Типизация
      • Информирование
Powered by GitBook
On this page
  • Общая структура
  • Основные схемы
  • Минимальный набор для тестового запуска Бипиум
  • Рекомендуемый набор для рабочего (production) запуска Бипиум
  1. Установка на сервер
  2. Архитектура

Варианты разворачивания

PreviousАрхитектураNextТребования

Last updated 9 months ago

Общая структура

Bpium Enterprise состоит из 3 независимых приложений:

  • Bpium — сервер приложения и логики

  • Bpium S3 — сервер файлового хранилища

  • Bpium BPM — сервер исполнения процессов

Также для работы используются другие приложения:

  • Postgre SQL — сервер баз данных

  • Redis— сервер хранилища состояния процессов и очереди заданий

Клиенты для работы сотрудников:

  • Веб-приложение (браузер) — приложение для настройки системы и работы сотрудников

  • Мобильное приложение — приложение для работы сотрудников

Серверные приложения, база данных и файловое хранилище могут быть установлены на одном или разных серверах, работать на защищенном канале связи HTTPS или незащищенном HTTP.

Основные схемы

Минимальный набор для тестового запуска Бипиум

Описание:

Односерверная архитектура, работающая по HTTP без балансировщика. Самый простой вариант разворачивания. Все 3 приложения и база данных работают на одном сервере, клиент обращается к приложениям напрямую по HTTP. Данный вариант используется крайне редко, так как сервисов, работающих на незащищенном канале связи HTTP, с каждым днем становится всё меньше и меньше, поэтому данную схему рекомендуем использовать только для тестового запуска Бипиума.

Требуемое ПО:

  • Дистрибутив Bpium

  • PostgreSQL

  • Redis

Как настроить:

  1. Установить PostgreSQL и создать пустую базу данных • Версия не ранее 10 (допустимы 11+, 12+, 13+, 14+) • Сервер PostgreSQL должен быть установлен на том же сервере, что и Bpium, или на другом отдельном сервере, но в пределах локальной сети (если на удаленном сервере, то могут будут большие задержки) • Сервер PostgreSQL должен работать как служба (в Windows)

Параметр
Описание
Значение для схемы

DB_CONNECTION_STRING

строка подключения к базе данных Бипиума. Формат: postgres://логин:пароль@адрес:порт/бд

Пример: postgres://user:password@localhost:5432/bpium_db

HOST

публичный/локальный IP-адрес или домен сервера для доступа из внешних ресурсов.

Пример: domen.ru или 213.48.87.211

PORT_HTTP

порт веб-сервера Bpium для входящих HTTP запросов.

80

S3_HOST

публичный/локальный IP-адрес или домен сервера хранилища файлов для доступа из внешних ресурсов

Пример: domen.ru или 213.48.87.211

S3_PORT

порт хранилища файлов S3

2020

BPM_HOST

публичный/локальный IP-адрес или домен сервера для доступа из внешних ресурсов. Формат: domen.ru или 213.48.87.211

localhost

BPM_PORT

порт сервера процессов BPM

2030

  1. Запустить исполняемый файл bpium-setup. Данный исполняемый файл подготовит базу данных для работы приложения: при пустой базе данных будут созданы необходимые для запуска таблицы, созданы системные данные; если эти данные уже есть в базе, при необходимости будет проведена миграция.

  2. Запустить приложения Бипиума. Есть 2 варианта запуска: 1) Просто запустить исполняемые файлы приложений (bpium, bpium-s3, bpium-bpm) 2) Зарегистрировать приложения в системе в качестве служб/демонов. Так как данную схему мы рекомендуем только для тестового развертывания, предлагаем воспользоваться первым вариантом

  3. Проверка работы: 1) Проверка основного Bpium-сервера (API): запустите браузер и в адресной строке наберите домен или IP-адрес, который был указан в config.env файле в параметре HOST. Если откроется страница авторизации, значит Bpium-сервер работает. Стандартный логин и пароль для авторизации: admin/admin 2) Проверка сервера хранилища файлов (Bpium-S3). Создайте новый каталог с одним полем типа Файл, создайте новую запись в данном каталоге и попробуйте загрузить туда любой небольшой файл. Если рядом с файлом не появился восклицательный знак, значит сервер хранилища файлов работает корректно. 3) Проверка сервера исполнения процессов (Bpium-BPM). • Перейдите в каталог “Сценарии”, создайте новую запись с любым сценарием(можно даже простой сценарий с компонентами Начало процесса и Конец процесса). • Перейдите в каталог “Внешние запросы”, создайте новую запись: в поле URL укажите значение test, в поле Сценарий выберите созданный ранее сценарий. • В адресной строке наберите следующую строку: адрес_сервера/api/webrequest/test где адрес_сервера - это домен или IP-адрес сервера Bpium (параметр HOST из файла config.env). • Перейдите в каталог “Процессы” и проверьте появилась ли запись. Если запись появилась, то проверьте, что результат в данной записи “Завершен” - в этом случае можно сделать вывод, что сервер исполнения процессов работает корректно.

Рекомендуемый набор для рабочего (production) запуска Бипиум

Описание:

Односерверная архитектура, работающая по HTTPS с дополнительным веб-сервером (балансировщиком) nginx. В данной схеме запросы сначала поступают на балансировщик через защищенный канал HTTPS, расшифровываются и перенаправляются нужному приложению по HTTP. Поэтому в настройках балансировщика должны быть прописаны соответствующие правила, перенаправляющие запросы нужному приложению. Именно данный вариант разворачивания мы сами используем при установке на серверах клиентов, а также рекомендуем тем, кто выполняет установку самостоятельно.

В иллюстрации схемы все 3 приложения и база данных работают на одном сервере, но мы всё таки рекомендуем вынести базу данных в отдельный сервер, так как это самая нагруженная часть приложения.

Требуемое ПО:

  • Дистрибутив Bpium

  • PostgreSQL

  • Redis

  • Nginx в качестве веб-сервера балансировщика

  • Зарегистрированное доменное имя

Как настроить:

  1. Установить PostgreSQL и создать пустую базу данных • Версия не ранее 10 (допустимы 11+, 12+, 13+, 14+) • Сервер PostgreSQL должен быть установлен на том же сервере, что и Bpium, или на другом отдельном сервере, но в пределах локальной сети (если на удаленном сервере, то могут будут большие задержки) • Сервер PostgreSQL должен работать как служба (в Windows)

  2. Установить Nginx • Версия последняя

  3. Собрать конфигурационный файл для Nginx Мы используем следующий конфигурационный файл:

worker_processes 1;
    events {
    worker_connections 1024;
}

http {
    client_max_body_size 100M;
    include mime.types;
    default_type application/octet-stream;
    sendfile on;
    keepalive_timeout 65;

  server {
    listen 80 default_server;
    server_name _;
    return 307 https://$host$request_uri;
  }
  
  server {
    listen 443 ssl;
# необходимо указать зарегистрированный домен
# в примере ниже domen.ru
    server_name domen.ru;
# необходимо указать путь к файлу сертификата с расширением 
# .crt или .pem (в примере ниже директория C:/bpium/domen_ru.crt
    ssl_certificate C:/bpium/domen_ru.crt;
# необходимо указать путь к ключу сертификата с расширением 
# .key или .pem (в примере ниже директория C:/bpium/domen_ru.key
    ssl_certificate_key C:/bpium/domen_ru.key;
    
    location /storage {
	# необходимо указать порт, который слушает Bpium-S3
	# в примере ниже данным портом является 2020 
            proxy_pass http://localhost:2020; 
            proxy_set_header Host $host;
            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
            proxy_set_header X-Real-IP $remote_addr;
        }
	    
    location / {
	# необходимо указать порт, который слушает сервер Bpium
	# в примере ниже данным портом является 3000 
            proxy_pass http://localhost:3000;
            proxy_set_header Host $host;
            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
            proxy_set_header X-Real-IP $remote_addr;
        }
  }
}
  1. Собрать конфигурационный файл config.env для Bpium. Необходимые минимальные для данной схемы параметры и их описание:

Параметр
Описание
Значение для схемы

DB_CONNECTION_STRING

строка подключения к базе данных Бипиума. Формат: postgres://логин:пароль@адрес:порт/бд

Пример: postgres://user:password@localhost:5432/bpium_db

HOST

домен сервера для доступа из внешних ресурсов

Формат: domen.ru

PORT_HTTP

порт веб-сервера Bpium для входящих HTTP запросов

3000

S3_HOST

домен сервера хранилища файлов для доступа из внешних ресурсов

Формат: domen.ru

S3_PORT

порт хранилища файлов S3 по которому обращается Bpium Server

443

S3_HTTPS

Использовать протокол HTTPS.

true

BPM_HOST

публичный/локальный IP-адрес или домен сервера исполнения процессов

localhost

BPM_PORT

порт сервера исполнения процессов BPM

2030

В данной схеме в параметре PORT_HTTP 80-ый и 443-ий порты указывать нельзя, так как этот порт будет открыт nginx’ом. Рекомендуем использовать любой другой порт, например: 3000

  1. Собрать конфигурационный файл config.env для Bpium-S3. Приложение Bpium-S3 в данной схеме требует отдельного файла config.env, поэтому само приложение и конфигурационный файл должны быть в отдельной директории.

Параметр
Описание
Значение для схемы

S3_HOST

домен сервера хранилища файлов

Формат: domen.ru

S3_PORT

порт, на котором будет работать сервер хранилища файлов

2020

  1. Запустить исполняемый файл bpium-setup. Данный исполняемый файл подготовит базу данных для работы приложения: при пустой базе данных будут созданы необходимые для запуска таблицы, созданы системные данные; если эти данные уже есть в базе, при необходимости будет проведена миграция.

  2. Запустить nginx.

  3. Запустить приложения Бипиума. Есть 2 варианта запуска: 1) Просто запустить исполняемые файлы приложений (bpium, bpium-s3, bpium-bpm) 2) Зарегистрировать приложения в системе в качестве служб/демонов. Для проверки работы рекомендуем воспользоваться сначала первым вариантом. После проверки уже зарегистрировать приложения в системе в качестве служб/демонов После проверки уже зарегистрировать приложения в системе в качестве служб/демонов

  4. Проверка работы: 1) Проверка основного Bpium-сервера (API): запустите браузер и в адресной строке наберите домен, который был указан в основном config.env файле в параметре HOST. Если откроется страница авторизации, значит Bpium-сервер работает. Стандартный логин и пароль для авторизации: admin/admin 2) Проверка сервера хранилища файлов (Bpium-S3). Создайте новый каталог с одним полем типа Файл, создайте новую запись в данном каталоге и попробуйте загрузить туда любой небольшой файл. Если рядом с файлом не появился восклицательный знак, значит сервер хранилища файлов работает корректно. 3) Проверка сервера исполнения процессов (Bpium-BPM). • Перейдите в каталог “Сценарии”, создайте новую запись с любым сценарием(можно даже простой сценарий с компонентами Начало процесса и Конец процесса). • Перейдите в каталог “Внешние запросы”, создайте новую запись: в поле URL укажите значение test, в поле Сценарий выберите созданный ранее сценарий. • В адресной строке наберите следующую строку: адрес_сервера/api/webrequest/test где адрес_сервера - это домен сервера Bpium (параметр HOST из файла config.env). • Перейдите в каталог “Процессы” и проверьте появилась ли запись. Если запись появилась, то проверьте, что результат в данной записи “Завершен” - в этом случае можно сделать вывод, что сервер исполнения процессов работает корректно.

Подробная инструкция данного варианта разворачивания на Windows-сервере описана в нашей статье

Установить Redis • Версия: последняя • Redis должен работать как служба (в Windows) • Ссылка сборки для Windows:

Собрать конфигурационный файл config.env для Bpium. Ознакомиться со всеми параметрами можно в статье Необходимые минимальные для данной схемы параметры и их описание:

Сертификат безопасности выданный для зарегистрированного домена Узнать о том, как получить сертификат для Вашего домена можно в

Установить Redis • Версия: последняя • Redis должен работать как служба (в Windows) • Ссылка сборки для Windows:

🧱
“Установка как служба”
https://github.com/MicrosoftArchive/redis/releases
Параметры config.env
этой статье
https://github.com/MicrosoftArchive/redis/releases