Опубликовано: 11.07.2022
Ниже указаны версии ОС и параметры ПК/ виртуальных машин, на которых тестировалась работоспособность сервера Mobile SMARTS при средней (до 10 подключенных устройств) нагрузке.
Версии Linux:
- Astra Linux
- Ubuntu
- Debian
Требования к ПК:
Процессор | Двухъядерный с тактовой частотой ядра 2 ГГц и выше (x64) | |
ОЗУ | 8 ГБ | |
Тип диска | SSD | |
Свободное пространство на диске | 10 Гб и более |
Версии Linux, с которыми работа сервера не тестировалась, но должна поддерживаться:
- Alpine
- CentOS
- Fedora
- OpenSUSE
- Red Hat Enterprise Linux
- SLES
Какой функционал Mobile SMARTS не поддерживается Linux:
- Серверная печать.
- Любые дополнительные коннекторы к учетным системам.
- Сервис подписи документов («Кировка»)
- Коннектор Axapta
- Коннектор 1С работает только в режиме Web (пример строки для подключения к http-сервисам 1С — ).
Запуск базы Mobile SMARTS на сервере Linux
-
На сервере Linux создайте новую папку /opt/MobileSMARTSDB, внутренняя структура которой должна соответствовать описанной ниже.
-
На сервере Linux создайте папку /opt/MSContainer (где «MSContainer» — произвольное имя контейнера), а внутри её — папку «Templates» (opt/MSContainer/Templates).
-
На сервере Windows создайте .zip архив базы продукта Mobile SMARTS (предполагается, что база уже создана и настроена). По умолчанию база продукта находится в папке по пути C:\ProgramData\Cleverence\Databases\.
-
Измените расширение и название архива базы на default.mstmpl.
-
Скопируйте файл default.mstmpl в папку opt/MSContainer/Templates.
-
На сервере Linux выполните команду:
docker pull cleverence1/platform_odata:latest
-
Выполните команду:
sudo docker run -dit --pull=always --name MSContainer -p 10501:80 -v /opt/MobileSMARTSDB:/app/AppData -e InstanceId=msdb -e DataService__ExternalServerUrl=http://ip_сервера:порт cleverence1/platform_odata:latest
Параметр DataService__ExternalServerUrl необходим, чтобы сервер формировал корректные строки подключения и QR-коды.
Перенос базы Mobile SMARTS с ОС Windows
Чтобы перенести уже существующую базу Mobile SMARTS на ОС Linux, необходимо:
-
Проверить структуру папок в папке /opt/MobileSMARTSDB, и в случае отличия, привести ее к такому виду.
В папке «Common» должен лежать файл apps.xml, как в платформе, содержащий описание базы. Пример:
<?xml version="1.0" encoding="utf-8"?>
<AppInstances xmlns:clr="http://schemas.cleverence.ru/clr" count="1"> <AppInstance appId="A0043528-C6CC-48F9-8BB3-8C5BEF2FCA79" folder="AppData/Database" id="rtl15" name="MobileSMARTSDB" platformDataDir="AppData" platformInstallDir="/app" /> </AppInstances>
Своё описание базы вы можете посмотреть в Windows по пути «C:\ProgramData\Cleverence\Common\apps.xml».
-
В папке «Database» должны лежать файлы базы.
-
И только после этого выполнять команду установки из dockerhub.
Для проверки успешности развертывания базы откройте страницы http://ipмашины:10501 (страница сервера), либо http://ipмашины:10501/idбазы (страница базы) в браузере.
Остановка, запуск, перезапуск и удаление сервера Mobile SMARTS
Остановка | docker stop MSContainer |
Запуск | docker start MSContainer |
Перезапуск | docker restart MSContainer |
Удаление (удалится только контейнер, папка с базой останется неизменной) | docker rm MSContainer |
MSContainer — уникальное имя контейнера
Просмотр текущих логов в консоли
docker logs -f MSContainer
MSContainer — уникальное имя контейнера
Установка лицензий
- Остановите сервер
- Положите файлы лицензий в папку «/opt/MobileSMARTSDB/Database/Licenses»
- Запустите сервер
Обновление сервера Mobile SMARTS на новую версию
- Остановите сервер.
- Удалите старый контейнер.
- Установите новую версию, выполнив строку:
sudo docker run -dit --name MSContainer -p 10501:80 -v /opt/MobileSMARTSDB:/app/AppData -e InstanceId=msdb -e DataServiceExternalServerUrl=http://ip сервера:порт cleverence1/platform_odata:latest
Расшифровку параметров строки смотрите тут.
Обновление базы Mobile SMARTS из шаблона
Такой функционал пока не поддерживается.
Включение авторизации по пользователю
- Заранее заведите в вашей базе пользователей с нужными правами, в т. ч. администратора.
- Остановите сервер.
-
В файле «/opt/MobileSMARTSDB/server_config.json» исправьте или создайте строку
{ "Authentication":{ "Enabled": "True" } }
- Запустите сервер.
Настройка подключения к базе Mobile SMARTS
При добавлении новой базы можно подключиться к предустановленной (в нашем случае «Магазин 15»). Для этого нужно выбрать пункт «Add the database located on another computer» --> «Manually enter URL for connection».
Далее введите строку подключения, где вместо 192.168.0.139 — адрес сервера, rtl15 — идентификатор базы (в данном случае используется встроенная база).
Проверка соединения:
Подключение завершено.
Подключение к базе Mobile SMARTS по HTTPS
Подключиться к базе Mobile SMARTS по https можно одним из указанных способов:
-
Получить https сертификат, преобразовать его в pfx формат, и запустить контейнер с параметрами:
-e ASPNETCORE_Kestrel_CertificatesDefaultPassword: пароль -e ASPNETCORE_KestrelCertificatesDefault_Path: /https/aspnet.pfx — путь к папке с сертификатом: /https:ro
-
Запустить через прокси (например, nginx), настроить в нем https сертификат и сделать proxy_pass.
Вариант №2 является наиболее правильным и предпочтительным.