Установка и настройка системы

Инструкция для размещения ADVANTA на сервере с ОС Windows и СУБД MS SQL Server

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

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

Для начала работы создайте на сервере приложения папку SL_Files и распакуйте туда содержимое архива (инсталляционного диска), чтобы путь к содержанию папки был: C:\SL_Files

На 64х-разрядных операционных системах следует использовать 64х-разрядный IIS (Internet Information Services) и 64х-разрядный .NET Framework.

Для настройки сервера баз данных необходимо запустить SQL Server Managment Studio и выполнить следующие действия.

  1. В окне «Обозреватель объектов» (Object Explorer) правой кнопкой мышки кликнуть на «Базы данных» (Database) → «Восстановить базу данных» (Restore Database).

    Рисунок 3.1 – Параметры разворачивания бэкапа в MS SQL Server 2008 R2
    1. В разделе «Общие» (General):
      • В поле «В базу данных» (To database) ввести название создаваемой из бэкапа базы данных – streamline.
      • В разделе «Источник для восстановления» (Source for restore) выбрать «Устройство» (From device: ).
      • Выбрать бэкап из папки C:\SL_Files\DB_Backup\.
      • В окне «Восстанавливаемые резервные наборы данных» (Select the backup sets to restore) выбрать последнюю версию бэкапа (отметить галочкой).
    2. В разделе «Параметры» (Options) (или «Файлы» (Files) для MS SQL Server 2016), в окне «Восстановить файлы базы данных как» (Restore the database files as:) в колонке «Восстановить как» (Restore as) нужно переписать названия для файлов данных и лога БД – для файла данных ввести название streamline.mdf, для файла лога streamline_log.lgf.
      • Нажать на «ОК».

        Рисунок 3.2 – Параметры разворачивания бэкапа в MS SQL Server 2008 R2
  2. Создать учетную запись «advanta»:
    • В окне «Обозреватель объектов» (Object Explorer) раскрыть «Безопасность» (Security), нажать правой кнопкой мышки на «Имена входа» (Logins)и выбрать «Создать имя входа» (New Login).
    • В разделе «Общие» (General):
      • В поле «Имя входа» (Login name) ввести advanta.
      • Выставить опцию «Проверка подлинности SQL Server» (SQL Server authentication).
      • Убрать опцию «Требовать использование политики паролей» (Enforce password policy).
      • Ввести пароль учетной записи (введенный пароль затем понадобится указать на сервере приложения для доступа к базе данных).
      • Выставить используемый язык «Язык по умолчанию» (Default language) выбрав в выпадающем меню «Русский» (Russian).
    • Нажать «ОК».
  3. Открыть созданную учетную запись. Перейти на страницу «Сопоставление пользователей» (User Mapping):
    • В окне «Пользователи, сопоставленные с этим именем входа» (User mapped to this login) в столбце «Схема» (Map) установить галочку напротив базы streamline.
    • В окне «Членство в роли базы данных для: streamline» (Database role membership for: streamline) выставить права db_owner.

      ВНИМАНИЕ!

      Схема базы данных должна оставаться dbo! В противном случае структура базы данных нарушается и последующее обновление системы будет невозможно.
      db_owner – это права доступа пользователя на таблицу в базе данных, а не схема!
    • Нажать «ОК».
  4. Включить функцию интеграции со средой CLR, для чего выполнить следующие действия:
    • в окне Обозреватель объектов (Object Explorer) нажать правой кнопкой мыши на базе данных streamline и выбрать пункт «Создать запрос» (New Query);
    • выполнить следующий скрипт (на инсталляционном диске файл с текстом скрипта – sp_configure.sql расположен в папке SL_Files\DB_Backup\):
      sp_configure 'show advanced options', 1;
      GO
      RECONFIGURE;
      GO
      sp_configure 'clr enabled', 1;
      GO
      RECONFIGURE;
      GO
  5. Выполнить скрипт исключения ошибок взаимоблокировки транзакций (на инсталляционном диске файл с текстом скрипта – READ_COMMITTED_SNAPSHOT.sql расположен в папке SL_Files\DB_Backup\):
    SELECT is_read_committed_snapshot_on FROM
    sys.databases WHERE name= DB_NAME();
    GO
     
    DECLARE @cmd nvarchar(200)
    SET @cmd = 'ALTER DATABASE ' + DB_NAME() + ' SET SINGLE_USER WITH ROLLBACK IMMEDIATE;';
    EXEC(@cmd);
    GO
     
    DECLARE @cmd nvarchar(200)
    SET @cmd = 'ALTER DATABASE ' + DB_NAME() + ' SET READ_COMMITTED_SNAPSHOT ON;';
    EXEC(@cmd);
    GO
     
    DECLARE @cmd nvarchar(200)
    SET @cmd = 'ALTER DATABASE ' + DB_NAME() + ' SET MULTI_USER;';
    EXEC(@cmd);
    GO
     
    SELECT is_read_committed_snapshot_on FROM
    sys.databases WHERE name= DB_NAME();
  6. Выполнить скрипт отключения опции принудительной работы по HTTPS:
    UPDATE Core_Settings SET VALUE = 'False' WHERE Name = 'USE.SSL'
    Скрипт работает только на SQL Server 2008 SP3 c версией 10.50.6000 и выше.
  7. Если у вас SQL Server 2017 и выше, выполнить скрипт для корректной работы OLAP-кубов:
    USE [название базы];
    GO
     
    DECLARE @clrName nvarchar(4000);
    DECLARE @asmBin varbinary(MAX);
     
    SELECT @clrName = clr_name FROM sys.assemblies WHERE name = 'StringUtilities'
    SELECT @asmBin = content FROM sys.assembly_files WHERE name = 'StringUtilities'
     
    DECLARE @hash varbinary(64);
     
    SELECT @hash = HASHBYTES('SHA2_512', @asmBin);
     
    EXEC sys.sp_add_trusted_assembly @hash = @hash, @description = @clrName;
    Выполнять скрипт из-под учётной записи с предопределенной ролью сервера sysadmin или с разрешением CONTROL SERVER.
Проверьте параметры MS SQL Server, чтобы были разрешены удалённые подключения для учётных записей SQL.

Перед проведением работ на сервере приложения в каталоге C:\Inetpub\wwwroot необходимо создать папку streamline и содержимое C:\SL_Files\Context_bkp поместить в созданную папку. Выполнение настройки сервера приложения состоит из нескольких процедур:

  1. Установка обязательных компонентов на с сервер с IIS.
  2. Настройка Internet Information Services (IIS).
  3. Редактирование системных файлов.
  4. Получение лицензии.
  5. Установка компонентов системы.

Рассмотрим эти процедуры более подробно.

В мастере настройки дополнительных ролей и компонентов нужно включить роль *«Разработка приложений»*, после чего включить следующие пункты:

  • ASP;
  • ASP .NET 3.5;
  • ASP .NET 4.5.


Рисунок 3.3 – Настройка ролей и компонентов сервера с IIS

  1. Открыть «Диспетчер служб IIS» (Internet Information Services (IIS) Manager). Далее в разделе «Узлы» (Sites) раскрыть «Веб-узел по умолчанию» (Default web site) и нажать правой кнопкой мыши на папке streamline.
  2. В раскрывшемся меню нажать «Преобразовать в приложение» (Convert to application).
  3. В появившемся окне нажать «Ок».
  4. Перейти к разделу «Пулы приложений» (Application pools):
    • открыть «Основные настройки» (Basic Settings) пула приложений, содержащего приложение «streamline» и выполнить следующие действия:
      • в пункте «Версии среды .NET Framework» (.NET Framework version) выбрать значение .NET Framework 4.0.30319 ;
      • в пункте «Режим управляемого конвейера» (Managed Pipeline Mode) выбрать режим «Встроенный» (Integrated);
    • открыть «Дополнительные настройки» (Advanced Settings) пула приложений, содержащего приложение streamline и изменить параметр «Загрузить профиль пользователя» (Load User Profile) на «True».
  5. Добавление типа MIME (для Windows Server 2008 R2)
    • в Диспетчере IIS перейти на веб сайт, в котором находится приложение streamline
    • в просмотре возможностей перейдите в «типы MIME», в случае отсутствия расширения .woff:
      • добавьте новый тип: ◦в поле «Расширение файла» введите .woff
      • в поле «Тип MIME» введите font/x-woff.

Редактирование файла client.config:

  1. Тег
     <add name="db" providerName="System.Data.SqlClient" connectionString="Data Source=DB_servername;Initial Catalog=streamline;User=advanta;Password=Type_your_password;Max Pool Size=500" /> 

    Начиная с версии 3.18 нужно внести правки ещё в два тега:

    <add name="busDb" providerName="System.Data.SqlClient" connectionString="Data Source=DB_servername;Initial Catalog=streamline;User=advanta;Password=Type_your_password;Max Pool Size=500" />
    <add name="dbCubes" providerName="System.Data.SqlClient" connectionString="Data Source=DB_servername;Initial Catalog=streamline;User=advanta;Password=Type_your_password;Max Pool Size=500" /> 


    Значения:

    • connectionString – строка подключения к базе данных.
    • Data Source – название сервера базы данных
    • Initial Catalog – название базы данных
    • User – пользователь для базы данных
    • Password – пароль пользователя
    • sqlServerCacheDb – имя строки подключения для базы данных распределенного кэша.
    • signalRDb – имя строка подключения к базе с которой работает SignalR (пуш-уведомления).
  2. Тег
     <add key="WebPath" value="http://servername/streamline"/>

    параметр value – это ссылка, которая отображается в уведомлениях из системы, рассылаемых на почтовые ящики. Вместо слова servername впишите адрес вашего сервера.

    Внимание!

    Для системы Адванта, начиная с версии 3.04 необходимо настроить маршрутизацию таким образом, чтобы сервер мог подключиться к самому себе по внешнему адресу. Данное требование связано с изменениями в работе таймера, экспорте диаграммы Ганта и интеграцией с Office 365.
    Пример: внешний адрес сервера client.a2nta.ru, сервер IIS должен корректно заходить по этому адресу. В файле конфигурации системы Адванта client.config необходимо указать корректный путь в параметре WebPath. Для приведенного выше примера:
    <add key="WebPath" value="https://client.a2nta.ru" />

    Для этого нужно в настройках Bindings (привязки, в настройках IIS) сайта указать тот внешний адрес системы, но без указания протокола и названия приложения. Например, если система открывается по адресу https://a2nta.ru/streamline, то в настройках привязки нужно указать лишь a2nta.ru .

  3. В теге
    <register name="searchIndexDirectoryPath" type="System.IO.DirectoryInfo, mscorlib">
      <constructor>
        <param name="path" value="C:\documents\search" />
      </constructor>
    </register>

    в параметре value прописывается путь к поисковому индексу системы на диске. Например C:\SL_Files\Doc_Files\search.

    Рекомендуется поисковый индекс хранить на скоростной и не нагруженной другими задачами дисковой системе, например, на отдельном SSD-диске сервера.
  4. В теге
    <param name="documentsFolder" value="C:\documents\streamline" type="string"></param>

    в параметре value прописывается путь к документам на диске. Например C:\SL_Files\Doc_Files\streamline.

    Документы хранятся в созданной вами папке, куда вы скопировали дистрибутив: C:\SL_Files\Doc_Files\streamline. Скопируйте содержимое папки с документами в вашу папку (или оставьте документы там, где они сейчас) и пропишите путь до хранения документов.
  5. В теге
    <add key="TimeZone" value="+5" />

    в параметре value укажите часовой пояс, который должен отображаться в системе.

  6. В разделе <appSettings> в теге
    <add key="CubeCommandTimeout" value="30" />

    в параметре value можно указать ограничение времени ожидания выполнения команд в подключении к OLAP-кубу (в секундах). Если параметр не указан в файле client.config, то он устанавливается в значение по умолчанию - 60 секунд.

После внесения изменений перенесите файл client.config в корневую папку системы (по умолчанию c:\inetpub\wwwroot\streamline)

На данный момент доступно 4 языка на выбор:
  • Русский (по-умолчанию)
  • Английский (добавлен в версии 3.04.2348.32888-3ed5179)
  • Чешский
  • Украинский

Для выбора языка, отличного от русского, нужно:

  1. Открыть на редактирование файл globalization.config.
    Для версии системы, меньше 3.03.2166.х, настройка языка в файле web.config.
  2. Найти строку:
    <globalization culture="ru-RU" uiCulture="ru-Ru" fileEncoding="windows-1251" requestEncoding="utf-8" responseEncoding="utf-8" />
  3. Изменить в ней значение параметра uiCulture на:
    • uk-UA , если нужен украинский язык интерфейса.
    • cs-CZ , если нужен чешский язык интерфейса.
    • en , если нужен английский язык интерфейса.
Для возврата к русскому языку нужно установить значение ru-Ru.

На сервер приложений нужно установить следующие библиотеки: Microsoft® System CLR Types for Microsoft® SQL Server® 2016.

Все вышеперечисленные компоненты можно найти на инсталляционном диске с системой в папке <..Tools\SQL_Library\>

  1. Запустить файл C:\SL_Files\License\SL.Protect.ClientInfo.ехе
  2. Выслать созданный файл sl.dat специалисту сервиса технической поддержки компании «Адванта-Груп».
  3. Полученный в ответ файл sl.lic поместить в папку C:\Inetpub\wwwroot\streamline.

Внимание!

Лицензия привязывается к процессору, жестким дискам и операционной системе. При изменении количества ядер, размера\количества логических дисков, версии операционной системы необходимо генерировать новый _sl.dat и новую лицензию. Вышлите файл sl.dat с новой конфигурацией специалисту сервиса технической поддержки компании «Адванта-Груп».

Утилита для запуска сервиса – скачать

Установка

  1. Скопировать содержимое архива в папку C:\SL_Files\Scheduler\
  2. Запустить командную строку от имени администратора.
  3. Запустить из командной стройки файл C:\SL_Files\Scheduler\a2schr.exe с ключом -i.

Интервал срабатывания таймера

Таймер срабатывает раз в 600 секунд.

Удаление таймера производится через ключ -u. Также таймер можно удалить другими способами, известными администратору.
Для корректной работы всех компонентов системы, необходимо, чтобы сервис таймера подключался к системе по тому же внешнему адресу, по которому к системе подключаются пользователи. Для этого нужно в настройках Bindings (привязки, в настройках IIS) сайта указать тот внешний адрес системы, но без указания протокола и названия приложения. Например, если система открывается по адресу https://a2nta.ru/streamline, то в настройках привязки нужно указать лишь a2nta.ru .

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

  1. На сервере должна быть включена служба «Advanta Scheduler»
  2. Системный лог таймера хранится в txt файле C:\SL_Files\Scheduler\a2shcr.txt. При возникновении ошибок, они отображаются в нём.