1) Установка сервер БД FireBird (версия 3)
   - Скачать файл Firebird-3.0.5.33220-0.amd64.tar.gz
       https://github.com/FirebirdSQL/firebird/releases/download/R3_0_5/Firebird-3.0.5.33220-0.amd64.tar.gz

   - Если Firebird уже установлен, рекомендуется сделать резервную копию файла firebird.conf.

   - Распаковать архив и запустить скрипт установки install.sh с правами администратора.
   - В процессе установки ввести имя пользователя: SYSDBA, пароль: masterkey

   - Перезапустить сервер БД выполнив следующую команду:
       sudo systemctl restart firebird-superserver.service

2) Установка web-части программы АИС Эксперт
   - Выполнить установку deb-пакета:

       sudo dpkg -i aisexpert-web-0.9.5-20191127gitd7bfe09-ubuntu16.04-amd64.deb

     В процессе установки необходимо ввести сетевой адрес АИС Эксперт, к которому
     будет подключена web-часть. Сетевой адрес можно поменять после установки внеся
     изменения в файл /opt/aisexpert-web/backend/run.sh

     Примечание: наименование deb-пакета может отличаться от указанного в инструкции.

3) Установка АИС Эксперт
   - Выполнить установку deb-пакета:

       sudo dpkg -i aisexpert-0.9.27-20200117git6faac91-ubuntu16.04-amd64.deb

     Примечание 1: наименование deb-пакета может отличаться от указанного в инструкции.

     Примечание 2: при первой установке АИС база данных имеет название "aisexert-empty.fdb".
     Для корректной работы, необходимо переименовать "aisexpert-empty.fdb" в "aisexpert.fdb".
     Следует обратить внимание, что если установка повторная, то переименование базы
     приведет к потере данных, которые находятся в ранее используемой БД. Во избежание
     потерь данных при повторных устновках, рекомендуется использовать скрипты обновления
     структуры БД (описание модернизации структуры БД с использованием скриптов находится
     в пункте 6 данного руководства).
     
     
   - При использовании новой БД, её следует переключить в асинхронный режим работы:
       /opt/firebird/bin/gfix -write async /var/opt/aisexpert/database/aisexpert.fdb

   - В процессе установки необходимо указать в каком режиме будет работать сервис
     авторизации пользователей UsersPool.
     Допускается два режима:
       1) Режим подключения к MS ActiveDirectory по протоколу LDAP;
       2) Режим эмуляции MS ActiveDirectory (упрощенная система авторизации).

     Режим авторизации можно будет поменять в дальнейшем путем переконфигурирования
     запуска сервиса UsersPool.

   - Выполнить конфигурирование программы (если необходимо) путем редактирования файла
     конфигурации:
       /etc/aisexpert/aisexpert.conf

     Необходимо обратить внимание на следующие секции (убедиться что параметры в них
     корректные):
       database - параметры подключения к базе данных;
       foms - параметры ФОМС сервера;
       users_pool - параметры для подключения к пулу пользователей (MS ActiveDirectory);
       monitoring.mail_smtp - параметры для отправки почтовых сообщений

   - После конфигурирования программы ее нужно перезапустить выполнив команду:
       sudo systemctl restart aisexpert.service

   - Корректность запуска и работы программы можно проконтролировать при помощи лог-файла:
       /var/opt/aisexpert/log/aisexpert.log

4) Конфигурирование режима работы сервиса UsersPool
   - Остановить сервис UsersPool
       sudo systemctl stop userspool.service

   - Изменение режима работы
     Открыть файл /etc/systemd/system/userspool.service в редакторе с правами на запись.
     Найти строку запуска сервиса: ExecStart=/opt/aisexpert/bin/userspool

       1) Режим подключения к MS ActiveDirectory по протоколу LDAP
          Убедиться, что в строке запуска сервиса отсутствует ключ запуска '-e'

       2) Режим запуска в режиме эмуляции
          Убедиться, что в строке запуска сервиса присутствует ключ запуска '-e'

   - Перечитать конфигурацию systemd
       sudo systemctl daemon-reload

   - Запустить сервис командой
       sudo systemctl start userspool.service

   - По лог-файлу /var/opt/aisexpert/log/aisexpert.log убедиться, что сервис
     AisExpert установил соединение с сервисом UsersPool

5) Конфигурирование сервиса UsersPool.

   При установке АИС Эксперт будет выдано сообщение:
   "Select UsersPool service work mode (use emulation - E; use LDAP - L) [E/l]".

   При выборе режима "use emulation - E", АИС эксперт работает в режиме эмуляции.
   В этом режиме учётные данные располагаются в файле userspool.conf, в секции
   emulation_users.
   
   Пример заполнения Администратора АИС Эксперт:
    - login:  admin
      passw:  111
      name:   Administrator
      sid:    S-f2bef157-7e06-4ec0-ba7b-4c228d19e38c
      admin:  true
      group:  AisExpertAdmins
   
   Пример заполнения Пользователя АИС Эксперт: 
    - login:  user
      passw:  222
      name:   User
      sid:    S-1-5-21-3367162706-3484438191-3934887228-1118
      admin:  false
      group:  AisExpertUsers

   Названия групп должны быть взять из секции active_directory:
    root_group - название группы администраторов.
    user_group - название группы пользователей.


   При выборе режима "use LDAP - L", АИС эксперт работает в режиме LDAP аутентификации,
   используя Контроллер Домена Windows.

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

6) Модернизация структуры БД с использованием скриптов.

   В случае обновления версии АИС Эксперт, запуск сервиса не сможет быть произведён из-за ошибки:

   Incompatible database versions. Version required: 5. Current version: 4. Need update database structure to version 5.

   Это означает, что текущая версия АИС Эксперт настроена на работу с Базой Данных версии 5, но База Данных имеет версию 4.

   Для того что бы продложить работу необходимо обновить версию БД с версии 4 на версию 5. Если данное обновление не произвести, то
   запуск АИС Эксперт будет не возможен.

   Существует два варианта обновления БД.

   Вариант А.
   Если База Данных "чистая", то скрипт обновления не нужен. Можно воспользоваться тем фактом, что с дистибутивом поставляется версия
   БД совместимая с текущей версией АИС Эксперт. Обновление БД производится следующим образом:

   А.1) остановить сервис АИС Эксперт командой:
      sudo systemctl stop aisexpert

   А.2) остановить сервер Firebird командой:
      sudo systemctl stop firebird-superserver

   А.3) Переименовать либо удалить текущую базу данных aisexpert.fdb, которая располагается в каталоге /var/opt/aisexpert/database/
   
   А.4) Переименовать базу данных /var/opt/aisexpert/database/aisexpert-empty.fdb в /var/opt/aisexpert/database/aisexpert.fdb

   А.5) запустить сервер Firebird командой:
      sudo systemctl start firebird-superserver 

   А.6) запустить сервер АИС Эксперт командой:
      sudo systemctl start aisexpert

   Вариант Б.
   Если БД содержит данные, то предпочтительным способом будет обновление структуры БД до нужной версии с сохранением данных.
   Обновление в данном случае, нужно производить последовательно от версии к версии. Например, для того что бы обновить версии БД с 3 до 5,
   необходимо сначала обновить БД с версии 3 на версию 4. А затем, обновить БД с версии 4 на версию 5.

   Скрипты обновления поставляются вместе с АИС Эксперт, и располагаются после установки в каталоге: /var/opt/aisexpert/database-upgrade 

   С помомщью скрипта show-db-version, можно узнать текущую версию БД:
   ./show-db-version [полный_путь_к_файлу_БД]
   Вывод:
   Current Database version is: [N], где N - номер версии БД.

   Обновление БД по данному варианту производится следующим образом:

   Б.1) остановить сервис АИС Эксперт командой:
      sudo systemctl stop aisexpert

   Б.2) остановить сервер Firebird командой:
      sudo systemctl stop firebird-superserver

   Б.3) Запустить ./show_db_version [полный_путь_к_файлу_БД] для того что бы узнать версию БД с которой работает АИС Эксперт.

   Б.4) Далее последовательно запускать ./update_db [полный_путь_к_файлу_БД] [ТекущаяВерсия], увеличивая ТекущаяВерсия на единицу. 

   Б.5) После очередной итерации появится вывод: "version_N_to_M.sql already updated". Это означает что версия M, максимальна. Обновлений больше нет.

   Б.6) запустить сервер Firebird командой:
      sudo systemctl start firebird-superserver 

   Б.7) запустить сервер АИС Эксперт командой:
      sudo systemctl start aisexpert




