...
- Проверить наличие SQL и IIS (см. Минимальные требования)
- установить .NET версии 4.6.1 (или выше)
- установить ASP.NET Core 2.2 Runtime (ссылка на скачивание)
- установить ASP.NET Core 3.0 Runtime (ссылка на скачивание)
- установить ASP.NET Core 3.1 Runtime (ссылка на скачивание)
- убедиться, что установлены необходимы компоненты для IIS. В случае необходимости - установить (вручную или скриптом).
...
- В IIS настроить пулы приложений и аутентификацию для них (вручную или скриптами)
- <параметры пула>
- при необходимости, включить в используемом пуле поддержку 32-хбитный приложений
- Убедиться, что пулы запускаются от имени пользователя, имеющего доступ для создания БД на SQL-сервере (при использовании Windows-аутентификации). Если на SQL-сервере используется встроенная аутентификация - настройки пользователя будут задаваться далее.
...
Предварительное развертывание
...
- Cкачать пакет с решением и распаковать его в нужное место (по умолчанию - в корень системного диска C: ). На каталог назначить права для пользователя, от имени которого запускается пул приложений.
...
Структура каталога следующая:
express
- каталог прикладного решенияadmin
- в каталоге лежит веб-интерфейс и все для его настройкиapp
- каталог для размещения сборок мобильного приложенияservices
- каталог с веб-сервисами
GrotemServer
- каталог, в котором рекомендуется разворачивать сервер Grotem.Mobilesolutions
- каталог, в котором рекомендуется разворачивать решения (задается в настройках сервера Grotem.Mobile)metadata
- каталог с файлами для создания мобильного решения (metadata.xml и т.д.) скачать
2. Скачать и распаковать архив сервера Grotem.Mobile по ссылке https://develop.superagent.ru
...
, содержимое архива распаковать и переместить в каталог GrotemServer.
...
Внимание: для работы приложения Grotem.Express необходимо скачивать сервер версии 3. Сервер версии 2 с приложением Grotem.Express не совместим.
В итоге, в каталоге GrotemServer должна получиться следующая структура:
- bitmobile3 - каталог с сервером Grotem
- fiscal - сервис фискализации для работы с Атол-Онлайн
- fiscaldevices - сервис фискализации для работы с физической кассой на сервере (ссылка на инструкцию по установке и настройке)
- gateway - шлюз для работы с сервером Grotem и другими сервисами
- synchronization - сервис синхронизации
3. На каталог с сервером и прикладным решением назначить права для пользователя, от имени которого запускается пул приложений (желательно создать отдельного пользователя с ролью локального администратора, в примере - пользователь grotem):
Установка и настройка сервера Grotem.Mobile
Установка шлюза gateway
В оснастке "Диспетчер служб IIS" нужно добавить новое приложение. Для этого:
- в структуре перейти на "Default Web Site"
- в контекстном меню выбрать пункт "Добавить приложение..."
- в поле "Псевдоним" указать
GrotemServer
- в поле "Пул приложений" выбрать ранее созданный пул "grotem_pool"
- в поле "Физический путь" указать путь до каталога "gateway", внутри распакованного архива сервера Grotem.Mobile
Рекомендуется установить пользователя с ролью администратора по кнопке "Подкл. как..." и затем выполнить "Тест настроек", чтобы убедиться в корректной работе.
Далее, в проводнике Windows открыть каталог gateway, в нем найти файл appsettings.example.json и скопировать его под именем appsettings.json. В этом файле заполнить секции:
"Jwt": {
"Issuer": "Identity.API",
"Audience": "http://localhost",
"Key": "{some_big_key_value_here_secret}"
},
"Urls": {
"Synchronization
Установка и настройка сервера Grotem.Mobile
Установка серверного приложения
В оснастке "Диспетчер служб IIS" нужно добавить новое приложение. Для этого:
- в структуре перейти на "Default Web Site"
- в контекстном меню выбрать пункт "Добавить приложение..."
- в поле "Псевдоним" указать
GrotemServer
- в поле "Пул приложений" выбрать ранее созданный пул "grotem_pool"
- в поле "Физический путь" указать путь до каталога "gateway", внутри распакованного архива сервера Grotem.Mobile
Рекомендуется установить пользователя с ролью администратора по кнопке "Подкл. как..." и затем выполнить "Тест настроек", чтобы убедиться в корректной работе.
Далее, в проводнике Windows открыть каталог gateway, в нем найти файл appsettings.example.json и скопировать его под именем appsettings.json. В этом файле заполнить секции:
"Jwt": {
"Issuer": "Identity.API",
"Audience": "http://localhost",
"Key": "{some_big_key_value_here_secret}"
},
"Urls": {
"Synchronization": "http://localhost:5001",
"BitMobile": "http://localhost:5000"
},
Если есть сервис Elasticsearch, заполнить соответствующую секцию данными для доступа.
По аналогии создать и заполнить файл ocelot.json, где для секций BitMobile указать:
"Host": "localhost",
"Port": 5000
для секций Synchronization:
"Host": "localhost",
"Port": 5001
для секций Fiscal:
"Host": "localhost",
"Port": 5002
а также:
"BaseUrl": "http://localhost/grotemserver:5001"
После окончания настроек перезапустить пул "grotem_pool"
Настройка сервера Grotem
В "Диспетчере служб IIS" правым кликом по папке "Сайты" вызвать контекстное меню, в котором выбрать - "Добавить веб-сайт".
В открывшемся окне заполнить параметры:
Имя сайта - bitmobile (пул оставить такой же)
Физический путь - путь до каталога с сервером Grotem, из вышеприведенной структуры - bitmobile3
Подключить как - указать ранее созданного пользователя (в примере - grotem)
Порт – 5000
Для настройки сервера внести изменения в конфигурацию приложения (пункт "Редактор конфигурации")
DataBaseServer - параметры соединения с БД (указать параметры в строке соединения)
для смешанной авторизации на SQL строка подключения будет иметь вид
server=localhost;User Id=<username>;Pwd=<password>;Connection Timeout=3600
для Windows-авторизации:
server=localhost;Integrated Security=SSPI;Connection Timeout=3600
SolutionsFolder - указать каталог для создания решений
- BitMobileServerId - в случае необходимости - изменить префикс сервера
- RootPassword - установить пароль для доступа к серверу
Либо эти параметры можно изменить путем редактирования файла Web.config в каталоге сервера bitmobile3.
После окончания настроек, убедитесь, что для пула "bitmobile" установлена версия среды CLR.NET версии 4
а в "дополнительных параметрах" разрешен запуск 32-разрядных приложений и в поле "Удостоверение" указан ранее созданный пользователь с ролью администратора
Перезапустите пул "bitmobile". Серверное приложение готово к развертыванию мобильных решений.
Проверка работоспособности сервера и шлюза
На данном этапе можно проверить работоспособность установленных сервисов. Для этого в командной строке нужно перейти в папку с сервером Grotem (bitmobile3), и с помощью утилиты Utils.exe проверить, например, версию сервера. Ответ должен возвращаться и при обращении к серверу Grotem напрямую (на 5000 порт), и через шлюз (при обращении через http://localhost/grotemserver):
utils.exe -ver -host http://localhost/bitmobile -p [пароль]
Настройка сервиса синхронизации
Настройка сервиса синхронизации происходит по аналогии с сервером Grotem.
В "Диспетчере служб IIS" правым кликом по папке "Сайты" вызвать контекстное меню, в котором выбрать - "Добавить веб-сайт". В открывшемся окне заполнить параметры:
Имя сайта - syncronization (пул оставить такой же)
Физический путь - путь до каталога с сервисом синхронизации, из вышеприведенной структуры - synchronization
Подключить как - указать ранее созданного пользователя (в примере - grotem)
Порт – 5001
Далее, перейти в Пулы приложений - syncronization - Основные настройки - Версия среды CLR .NET - Без управляемого кода.
Далее, в проводнике Windows открыть каталог syncronization, в нем найти файл appsettings.example.json и скопировать его под именем appsettings.json. В этом файле заполнить секции:
"Database": {
"Prefix": "BitMobile_1_",
"Server": "{SQL address}",
"Login": "{SQL user}",
"Password": "{SQL user password}"
},
"Jwt": {
"Issuer": "Identity.API",
"Audience": "http://localhost",
"Expires": "360",
"Key": "{some_big_key_value_here_secret}"
},
Если есть сервис Elasticsearch, заполнить соответствующую секцию данными для доступа.
После окончания настроек перезапустить пул syncronization.
Настройка сервиса фискализации fiscal
Внимание! разворачивание и настройка сервиса fiscal производится только если требуется работа с сервисом фискализации Атол-онлайн.
Настройка сервиса фискализации также производится по аналогии с остальными.
В "Диспетчере служб IIS" правым кликом по папке "Сайты" вызвать контекстное меню, в котором выбрать - "Добавить веб-сайт". В открывшемся окне заполнить параметры:
Имя сайта - fiscal (пул оставить такой же)
Физический путь - путь до каталога с сервисом синхронизации, из вышеприведенной структуры - fiscal
Подключить как - указать ранее созданного пользователя (в примере - grotem)
Порт - 5002
Далее, перейти в Пулы приложений - syncronization - Основные настройки - Версия среды CLR .NET - Без управляемого кода.
Далее, в проводнике Windows открыть каталог fiscal, в нем найти файл appsettings.example.json и скопировать его под имененм appsettings.json. В этом файле заполнить секции:
"ConnectionString": "Server={SQL address};Database=FiscalDB;User Id={SQL user};Password={SQL user password};",
"Urls": {
"Atol": "{Atol-online URL}"
},
"Jwt": {
"Issuer": "Identity.API",
"Audience": "http://localhost",
"Expires": "360", // minute
"Key": "{some_big_key_value_here_secret}"
},
Если есть сервис Elasticsearch, заполнить соответствующую секцию данными для доступа.
После окончания настроек перезапустить пул fiscal.
,
"BitMobile": "http://localhost:5000"
},
ВАЖНО!
Во всех сервисах в блоке:
```"JwtToken": {
В "SecretKey" требуется вставить строку длиной ровно 16 символов.
Если есть сервис Elasticsearch, заполнить соответствующую секцию данными для доступа.
По аналогии создать и заполнить файл ocelot.json, где для секций BitMobile указать:
"Host": "localhost",
"Port": 5000
для секций Synchronization:
"Host": "localhost",
"Port": 5001
для секций Fiscal:
"Host": "localhost",
"Port": 5002
а также:
"BaseUrl": "http://localhost/grotemserver"
После окончания настроек перезапустить пул "grotem_pool"
Настройка сервера Grotem
В "Диспетчере служб IIS" правым кликом по папке "Сайты" вызвать контекстное меню, в котором выбрать - "Добавить веб-сайт".
В открывшемся окне заполнить параметры:
Имя сайта - bitmobile (пул оставить такой же)
Физический путь - путь до каталога с сервером Grotem, из вышеприведенной структуры - bitmobile3
Подключить как - указать ранее созданного пользователя (в примере - grotem)
Порт – 5000
Для настройки сервера внести изменения в конфигурацию приложения (пункт "Редактор конфигурации")
DataBaseServer - параметры соединения с БД (указать параметры в строке соединения)
для смешанной авторизации на SQL строка подключения будет иметь вид
server=<
адрес_
>;User Id=<username>;Pwd=<password>;Connection Timeout=3600
SQLсервера_
для Windows-авторизации:
server=<
>;Integrated Security=SSPI;Connection Timeout=3600адрес_
SQLсервера_
SolutionsFolder - каталог для создания решений
- BitMobileServerId - ID сервера, в случае необходимости - изменить
- RootPassword - пароль от сервера
Либо эти параметры можно изменить путем редактирования файла Web.config в каталоге сервера bitmobile3.
После окончания настроек, убедитесь, что для пула "bitmobile" установлена версия среды CLR.NET версии 4
а в "дополнительных параметрах" не разрешен запуск 32-разрядных приложений и в поле "Удостоверение" указан ранее созданный пользователь с ролью администратора
Перезапустите пул "bitmobile".
Проверка работоспособности сервера и шлюза
На данном этапе можно проверить работоспособность установленных сервисов. Для этого в командной строке нужно перейти в папку с сервером Grotem (bitmobile3), и с помощью утилиты Utils.exe проверить, например, версию сервера. Ответ должен возвращаться и при обращении к серверу Grotem напрямую (на 5000 порт), и через шлюз (при обращении через http://localhost/grotemserver):
utils.exe -ver -host http://localhost/bitmobile -p [пароль]
Настройка сервиса синхронизации
Настройка сервиса синхронизации происходит по аналогии с сервером Grotem.
В "Диспетчере служб IIS" правым кликом по папке "Сайты" вызвать контекстное меню, в котором выбрать - "Добавить веб-сайт". В открывшемся окне заполнить параметры:
Имя сайта - synchronization (пул оставить такой же)
Физический путь - путь до каталога с сервисом синхронизации, из вышеприведенной структуры - synchronization
Подключить как - указать ранее созданного пользователя (в примере - grotem)
Порт – 5001
Далее, перейти в Пулы приложений - synchronization - Основные настройки - Версия среды CLR .NET - Без управляемого кода.
Далее, в проводнике Windows открыть каталог synchronization, в нем найти файл appsettings.example.json и скопировать его под именем appsettings.json. В этом файле заполнить секции:
"Database": {
"Prefix": "BitMobile_1_", // число в префиксе должно совпадать с ID сервера
"Server": "{SQL address}",
"Login": "{SQL user}",
"Password": "{SQL user password}"
},
"Jwt": {
"Issuer": "Identity.API",
"Audience": "http://localhost",
"Expires": "360",
"Key": "{some_big_key_value_here_secret}"
},
Если есть сервис Elasticsearch, заполнить соответствующую секцию данными для доступа.
После окончания настроек перезапустить пул synchronization.
Настройка сервиса фискализации fiscal
Внимание! разворачивание и настройка сервиса fiscal производится только если требуется работа с сервисом фискализации Атол-онлайн.
Настройка сервиса фискализации также производится по аналогии с остальными.
В "Диспетчере служб IIS" правым кликом по папке "Сайты" вызвать контекстное меню, в котором выбрать - "Добавить веб-сайт". В открывшемся окне заполнить параметры:
Имя сайта - fiscal (пул оставить такой же)
Физический путь - путь до каталога с сервисом синхронизации, из вышеприведенной структуры - fiscal
Подключить как - указать ранее созданного пользователя (в примере - grotem)
Порт - 5002
Далее, перейти в Пулы приложений - fiscal- Основные настройки - Версия среды CLR .NET v.4.
Далее, в проводнике Windows открыть каталог fiscal, в нем найти файл appsettings.example.json и скопировать его под именем appsettings.json. В этом файле заполнить секции:
"ConnectionString": "Server={SQL address};Database=FiscalDB;User Id={SQL user};Password={SQL user password};",
"Urls": {
"Atol": "{Atol-online URL}"
},
"Jwt": {
"Issuer": "Identity.API",
"Audience": "http://localhost",
"Expires": "360", // minute
"Key": "{some_big_key_value_here_secret}"
},
Если есть сервис Elasticsearch, заполнить соответствующую секцию данными для доступа.
После окончания настроек перезапустить пул fiscal.
После запуска сервиса fiscal проверить в БД создание базы FiscalDB. Если база не была создана, то выполнить в командной строке команду:
>dotnet C:\\Grotem\ge_package\GrotemServer\fiscal\Fiscal.API.dll
Возможно возникновение ошибок, например, заняты порты 5000 и 5001. В этом случае необходимо выполнить команду с параметрами:
>dotnet C:\\Grotem\ge_package\GrotemServer\fiscal\Fiscal.API.dll --URLs http://localhost:<любой_свободный_порт> //попытка запуска службы на другом порту
или временно переназначить для сервисов "BitMobile" и "Synchronization" порты на другие свободные, выполнить команду и затем вернуть первоначальные настройки. После запуска сервиса fiscal в БД будет создана база FiscalDB.
Разворачивание мобильного решения
...
}
</script>
```
Далее необходимо убедиться в наличии типа MIME. Для этого в оснастке IIS, в корневом разделе, откройте для редактирования типы MIME
В открывшемся списке проверьте наличие и при необходимости добавьте расширение файла ".application" с типом "application/x-ms-application"
Проверка работоспособности веб-интерфейса
...
В оснастке IIS перейдите на виртуальный каталог express
и перейдите в модуль "URL Rewrite".
В настройке URL Rewrite
создайте одно пустое правило - оно будет выступать в качестве шаблона. Заполним обязательные поля: "Имя", "Шаблон" и "URL-адрес переопределения значением" значением "Template rule" и нажмем "Применить".
...
Установка сертификата производится при помощи утилиты Utils.exe
, запускаемой с ключом -ucert
(подробности смотрите в справке Utils.exe -h
)
Якорь | ||||
---|---|---|---|---|
|
- Windows Server 2012
- СУБД - MS SQL Server 2012
- MSSQL Management Studio
- учетная запись на SQL-сервере с ролями
public
иdbcreator
- Web-сервер - IIS версии 8 и выше
- доступ к веб-серверу из-вне по портам 80 (443 или другим, определенным клиентом)
- внешний фиксированный ("белый") IP-адрес (возможно, доменное имя)
...