Вы просматриваете старую версию данной страницы. Смотрите текущую версию.

Сравнить с текущим просмотр истории страницы

« Предыдущий Версия 3 Следующий »

Порядок установки прикладного решения "Grotem Express"

Заполнение паспорта клиента

Получить от клиента следующие параметры:

Здесь и далее считаем, что все компоненты работают на одном веб-сервере. Сервер БД при этом может отличаться.

  • <внешний адрес> - внешний IP-адрес или доменное имя,и порт, по которым будет осуществляться доступ к сприкладному решению.
  • <порт> - порт, на котором будет отвечать веб-сервер
  • <имя установки> - желаемое имя прикладного решения (вида http://<адрес сервера>:<порт>/<имя установки>) (EN, без пробела)
  • данные для подключения к серверу MSSQL:
    • <адрес СУБД> - адрес или имя сервера
    • тип аутентификации (встроенная или Windows)
    • логин и пароль для аутентификации в СУБД

Установка необходимых компонентов

Настойка операционной системы

  • Проверить наличие SQL и IIS (см. Минимальные требования)
  • установить .NET версии 4.6.1 (или выше)
  • убедиться, что установлены необходимы компоненты для IIS. В случае необходимости - установить (вручную или скриптом).

Cкрипт для выполнения установки (скопируйте текст полностью и выполните как одну команду):

```

dism.exe /online /enable-feature /featurename:IIS-ApplicationDevelopment /featurename:IIS-ASPNET /featurename:IIS-BasicAuthentication /featurename:IIS-CommonHttpFeatures /featurename:IIS-CustomLogging /featurename:IIS-DefaultDocument /featurename:IIS-DigestAuthentication /featurename:IIS-DirectoryBrowsing /featurename:IIS-HealthAndDiagnostics /featurename:IIS-HttpCompressionDynamic /featurename:IIS-HttpCompressionStatic /featurename:IIS-HttpErrors /featurename:IIS-HttpLogging /featurename:IIS-HttpTracing /featurename:IIS-ISAPIExtensions /featurename:IIS-ISAPIFilter /featurename:IIS-LoggingLibraries /featurename:IIS-ManagementConsole /featurename:IIS-ManagementScriptingTools /featurename:IIS-NetFxExtensibility /featurename:IIS-RequestFiltering /featurename:IIS-RequestMonitor /featurename:IIS-Security /featurename:IIS-StaticContent /featurename:IIS-WebServer /featurename:IIS-WebServerManagementTools /featurename:IIS-WebServerRole /featurename:IIS-WindowsAuthentication /featurename:IIS-ASPNET45 /featurename:IIS-NetFxExtensibility45 /featurename:IIS-NetFxExtensibility /featurename:NetFx4Extended-ASPNET45

```

если в системе отсутствует утилита dism.exe, то можно воспользоваться следующей командой:

```

start /w pkgmgr /l:log.etw /iu:IIS-ApplicationDevelopment;IIS-ASPNET;IIS-BasicAuthentication;IIS-CommonHttpFeatures;IIS-CustomLogging;IIS-DefaultDocument;IIS-DigestAuthentication;IIS-DirectoryBrowsing;IIS-HealthAndDiagnostics;IIS-HttpCompressionDynamic;IIS-HttpCompressionStatic;IIS-HttpErrors;IIS-HttpLogging;IIS-HttpTracing;IIS-ISAPIExtensions;IIS-ISAPIFilter;IIS-LoggingLibraries;IIS-ManagementConsole;IIS-ManagementScriptingTools;IIS-NetFxExtensibility;IIS-RequestFiltering;IIS-RequestMonitor;IIS-Security;IIS-StaticContent;IIS-WebServer;IIS-WebServerManagementTools;IIS-WebServerRole;IIS-WindowsAuthentication;IIS-ASPNET45;IIS-NetFxExtensibility45;IIS-NetFxExtensibility;NetFx4Extended-ASPNET45

```

Настройка веб-сервера IIS

  • В IIS настроить пулы приложений и аутентификацию для них (вручную или скриптами)
    • <параметры пула>

  • при необходимости, включить в используемом пуле поддержку 32-хбитный приложений

  • Убедиться, что пулы запускаются от имени пользователя, имеет доступ для создания БД на SQL-сервере (при использовании Windows-аутентификации). Если на SQL-сервере используется встроенная аутентификация - настройки пользователя будут задаваться далее.

Установка прикладного решения

Предварительное развертывание

  • скачать пакет с решением и распаковать его в нужное место (по умолчанию - в корень системного диска C: ). На каталог назначить права для пользователя, от имени которого запускается пул приложений.
  • структура каталога следующая
    • express - каталог прикладного решения
      • admin - в каталоге лежит веб-интерфейс и все для его настройки
      • app - каталог для размещения сборок мобильного приложения
      • services - каталог с веб-сервисами
    • GrotemServer - каталог, в котором рекомендуется разворачивать сервер Grotem.Mobile
    • solutions - каталог, в котором рекомендуется разворачивать решения (задается в настройках сервера Grotem.Mobile)
    • metadata - каталог с файлами дял создания мобильного решения (metadata.xml и т.д.)
  • скачать и распаковать архив сервера Grotem.Mobile по ссылке https://develop.superagent.ru. Содержимое скаченного архива (папку bin и находяшиеся рядом с ней файлы) поместить в каталог GrotemServer.
  • установить права на каталог с прикладным решением и сервером

Установка и настройка сервера Grotem.Mobile

Установка серверного приложения

В оснастке "Диспетчер служб IIS" нужно добавить новое приложение. Для этого:

  • в структуре перейти на "Default Web Site"
  • в контекстном меню выбрать пункт "Добавить приложение..."
  • в поле "Псевдоним" указать GrotemServer
  • в поле "Пул приложений" выбрать ранее созданный пул
  • в поле "Физический путь" указать путь до каталога, куда распакован архив сервера Grotem.Mobile

Для настройки сервера внести изменения в конфигурацию приложения (пункт "Редактор конфигурации")

  • DataBaseServer - параметры соединения с БД (укзаать параметры в строке соединения)

    • для смешанной авторизации на SQL строка подключения будет иметь вид server=localhost;User Id=<username>;Pwd=<password>;Connection Timeout=3600

    • для Windows-авторизации: server=localhost;Integrated Security=SSPI;Connection Timeout=3600

  • SolutionsFolder - указать каталог для создания решений

  • BitMobileServerId - в случае необходимости - изменить префикс сервера
  • RootPassword - установить пароль для доступа к серверу

Серверное приложение готово к развертыванию мобильных решений.

Разворачивание мобильного решения

В командной строке перейдите в каталог GrotemServer. Здесь находится утилита Utils.exe, с помощью которой выполняются все операции с сервером GrotemMobile.

  • средствами Utils.exe

    • создать мобильное решение на основе файла metadata.xml из каталога metadata (имя в EN без пробелов)

    • установить пароль решения

    • загрузить метаданные

    • загрузить начальные данные

  • с помощью SQL Management Studio (или другими средствами)

    • убедиться, что создана БД мобильного решения (имя БД состоит из Bitmobile_<префикс_сервера>_<имя_решения>, например Bitmobile_1_express)
    • к этой БД применить скрипт SuperServiceDatabaseUpdate.sql из каталога metadata

    • В таблицу dbo.dbConfig внести следюущие значения:
      • в строку, где Key=bitmobileURL - в поле Value вставить URL мобильного решения (вида https://express.grotem.com/bitmobile3/solution)
      • где Key=bitmobileLogin - вставить admin
      • где Key=bitmobilePass - вставить пароль от мобильного решения

Проверка работоспособности мобильного решения

Для проверки работоспособности мобильного устройства нужно открыть в браузере диагностическую страницу.

  • проконтролировать доступ к мобильному решению: в браузере перейти по адресу http(s)://<внешний адрес клиента:порт>/<имя сервера Grotem.Mobile>/<имя решения>/device/ping, где:
    • <внешний адрес клиента:порт> - полученные от клиента данные (см. раздел "Заполнение паспорта клиента", пункт 1)
    • <имя сервера Grotem.Mobile> - имя приложения, под которым был развернут сервер Grotem.Mobile (по умолчанию server)
    • <имя решения>
  • в случае успеха в окне браузера болжен отобразиться ответ "pong"

  • занести параметры мобильного решения в паспорт клиента
    • путь подключения
    • пароль решения

Настройка прикладного решения

Подключение каталога с прикладным решением к IIS

В останстке "Internet Information Server (IIS)" ("Панель управления" - "Администраирование") перейти в раздел "Default Web Site".

  • в контекстном меню "Default Web Site" выбрать пункт "Добавить витруальный каталог..."
  • в открывшемся окне указать
    • в поле "Псевдоним" - <имя установки> (см. паспорт клиента)
    • в поле "Физический путь" - путь до каталога express в каталоге с решением (по умолчанию c:\inetpub\<имя_распакованого_решения>\express)
  • проверить настройки при помощи "Тест настроек..."
  • если наблюдаются ошибки авторизации - укажите учетные данные в разделе "Подкл. как..."

В результате структура сайта в "Диспетчере служб IIS" должна выглядеть следующим образом:

Разворачивание веб-сервисов

  • в IIS создать новое Приложение
    • в структуре "Диспетчера служб IIS" найти подкаталог express\service
    • в контекстном меню выбрать "Преобразовать в приложение"
    • в качестве Application Pool выбрать созданный ранее пул
    • проверить настройки соединения
    • в случае ошибок авторизации - принудительно установить учетные данные для подключения

  • выполнить настройки веб-сервиса:

    • перейти в "Редактор конфигураций"

    • адрес сервера БД - в параметры DataAccess:Database:ServerName и DataAccess:DatabaseRo:ServerName
    • имя БД мобильного решения - в DataAccess:Database:DatabaseName и DataAccess:DatabaseRo:DatabaseName
    • признак использования Windows-аутентификации - в DataAccess:Database:UseWindowsAuthentification и DataAccess:DatabaseRo:UseWindowsAuthentification
    • логин (если используется встроенаня авторизация MSSQL) - в DataAccess:Database:UserName и DataAccess:DatabaseRo:DatabaseName
    • пароль (если используется встроенаня авторизация MSSQL) - в DataAccess:Database:Password и DataAccess:DatabaseRo:Password

Проверка работоспособности веб-сервисов

Для проверки работоспосбности используется встроенный модуль Swager, автоматически публикуемый по адресу http(s)://<внешний адрес клиента:порт>/<имя прикладного решения>/service/Docs где:

  • <внешний адрес клиента:порт> - полученные от клиента данные (см. раздел "Заполнение паспорта клиента", пункт 1)
  • <имя установки> - имя установки прикладного приложения (по умолчанию GrotemExpress) (см. соответсвующий параметр в паспорте клиента)

На этой странице нужно получить первоначальный токен, введя учетные данные пользователя (по умолчанию Admin | admin).

Отметить в паспорте клиента факт работоспособности веб-сервисов

Разворачивание веб-интерфейса

  • в структуре "Диспетчера служб IIS" найти подкаталог express\service
  • в контекстном меню выбрать пункт "Проводник"

  • в каталоге admin скопировать файл index.html.template в index.html
  • в файле index.html заполнить следуюшие параметры:

    • %BASE_HREF% - строкой вида /<имя решения>/admin/ (в 2-х местах)

      • начальный и конечный "слэши" - обязательны
    • %BASIC_URL% - адресом подключения в виде http://<имя решения>[:<порт>]/

      • "слэш" в конце строки обязятелен
      • порт нужно указывать, только если он отличается от стандартных для проотоколво http (80) или https (443)
    • %SERVICE_URL% - строкой вида /<имя решения>/service/

      • начальный и конечный "слэши" - обязательны
    • %API% - заменить на строку api/

    • %VERSION% - заменить на строку version
    • %HASH_LINK% - заменить на строку HASH_LINK
    • %GOOGLEPLAYURL% - оставить без изменений - это ссылка для скачивания приложения с Google Play
    • %ANDROID_URL% - оставить без изменений, либо указать ссылку для скачивания apk-файла для ANDRIOD

В итоге файл должен выглядеть примерно следующим образом (считаем. что параметр <имя решения> принят за GrotemExpress)

```

...
<head>
    <base href='/express/admin/'>

...

<script>
        var config = {
            "BASE":              "/express/admin/",
            "BASIC_URL":         "http://xx.xx.xx.xx/",
            "SERVICE_URL":       "/express/service/",
            "API":               "api/",
            "VERSION":           "version",
            "HASH_LINK":         "HASH_LINK",
            "ADMIN_SERVICE_DEV": "/"
            "GOOGLE_PLAY_URL": "https://play.google.com/store/apps/details?id=com.grotem.express",
            "ANDROID_URL": "%ANDROID_URL%"
        }
</script>

```

Проверка работоспособности веб-интерфейса

Если все модули системы настроены корректно, по при открытии в браузере адреса http(s)://<внешний адрес клиента:порт>/<имя прикладного решения>/admin должна открыться страница авторизации сервиса.

Если станица не открывается - нужно проверять корректность настроек.

Публикация мобильного приложения

  • заказать сборку мобильного приложения. При заказе сборки указать адрес для подключения к мобильному решению http(s)://<внешний адрес клиента:порт>/<имя сервера Grotem.Mobile>/<имя решения>
  • полученные файлы (*.apk) разместить в каталоге app (не путать с каталогом admin/app)

Настройка автоматических переадресаций

В оснастке IIS перейдите на виртуальный каталог express и перейдите в модуль "URL Rewrite".

В настройке URL Rewrite создайте одно пустое правило - оно будет выступать в качестве шаблона.

Далее перейдите в каталог, где расположено прикладное решение и отредактеруйте находящийся там файл Web.config - раздел <rules> должен иметь следующий вид:

``` ...

<rules>
    <rule name="WebAdmin" enabled="true" stopProcessing="true">
      <match url="(admin)/.*"/>
      <conditions logicalGrouping="MatchAll" trackAllCaptures="false">
        <add input="{REQUEST_URI}" matchType="IsDirectory" negate="true" pattern="admin/(api)"/>
        <add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true"/>
        <add input="{REQUEST_URI}" pattern="admin/(api)" negate="true"/>
        <add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true"/>
      </conditions>
      <action type="Rewrite" url="{R:1}/"/>
    </rule>
    <rule name="app to admin" enabled="true" stopProcessing="true">
      <match url="([^/]*)app/$"/>
      <conditions logicalGrouping="MatchAll" trackAllCaptures="false">
        <add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true"/>
      </conditions>
      <action type="Redirect" url="{R:1}/express/admin/" redirectType="Found"/>
    </rule>
    <rule name="From Root to login" stopProcessing="true">
      <match url="^(\s*)$"/>
      <action type="Redirect" url="{R:0}/express/admin/" redirectType="Found"/>
    </rule>
</rules>

... ```

Убедиться в работоспособности можно, попытавшись открыть в браузере адрес http(s)://<внешний адрес клиента:порт>/<имя прикладного решения>. При этом должна произойти автоматическая переадресация на страницу входа.

Завершающие контрольные шаги

  • Убедиться, что авторизация в веб-интерфейс происходит успешно (по умолчанию под пользователем Admin | admin)
  • Выйти из системы - убедиться, что вернулись на экран авторизации
  • Убедиться, что скачивается мобильное приложение
  • Повторно войти в систему и сменить пароль для пользователя Admin (в разделе "Сотрудники"). Рекомендуем выйти и повторно войти в систему, чтобы убедиться, что пароль установлен корректно.

Установка лицензий

  • Запросить лицензии (адрес https://clients.superagent.ru/getlicense/)
  • Активировать лицензии на сервере Grotem.Mobile с помощью Utils.exe
  • Убедиться, что вход в мбоильное приложение и первоначальная синхронизация проходят успешно (по умолчанию с пользователем Admin и новым паролем)

Установка сертификата для Push-уведомлений на iOS

Операционаая система iOS для отправки Push-уведомлений требует установку специального сертификата.

Файл сертификата PushCert.p12 находится в подкаталоге Certs каталога metadata.

Установка сертификата производится при помощи утилиты 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-адрес (возможно, доменное имя)

Особенности установки

Установка на IIS 7.0

При установке веб-сервисов на IIS версий 7.0 требуется внести изменения в настройки приложения для правильной регистрации обработчиков событий.

```

<system.webServer>
    <handlers>
        <remove name="svc-Integrated-4.0" />
        <remove name="ExtensionlessUrlHandler-Integrated-4.0" />
        <remove name="OPTIONSVerbHandler" />
        <remove name="TRACEVerbHandler" />
        <add name="ExtensionlessUrlHandler-Integrated-4.0" path="*." verb="*" type="System.Web.Handlers.TransferRequestHandler" resourceType="Unspecified" requireAccess="Script" preCondition="integratedMode,runtimeVersionv4.0" />
            <add name="svc-Integrated-4.0" path="*" verb="*" type="System.ServiceModel.Activation.ServiceHttpHandlerFactory, System.ServiceModel.Activation, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" resourceType="Unspecified" requireAccess="Script" preCondition="integratedMode,runtimeVersionv4.0" lockItem="false" />
    </handlers>
    ...
</system.webServer>

```

  • Нет меток