Установка Discovery Server
Установка приложения из deb пакета
Порядок установки
- Остановите nginx с помощью команды:
 
$ sudo systemctl stop nginx
- Перенесите директорию html из дистрибутива DiscoveryWeb_*** в директорию /var/www (полностью заменяя существующую там папку html).
 
- Выполните следующую команду для начала установки дистрибутива (возможности конфигурации установки описаны далее):
 
sudo dpkg -i DiscoveryServer_LinuxNative_***.deb
При установке пакета будет запущено три сервиса systemd, статус которых можно проверить следующими командами:
sudo systemctl status discovery-platform.reader.service
sudo systemctl status discovery-platform.writer.service
sudo systemctl status discovery-platform.server.service
Запуск/ перезапуск/ остановка также производится через стандартные команды systemd.
Конфигурация установки
Вы можете сконфигурировать установку двумя способами:
- С помощью интерактивного меню, которое доступно с помощью команды:
 
sudo dpkg-reconfigure discovery-server
- С помощью вспомогательного скрипта конфигурирования:
 
./deb/usr/local/bin/configure-all.sh -s /var/tmp/discovery-server -d /var/tmp/discovery-reader -p 5047 -o 5087 -r 5097 -v VDI_
Скрипт может быть также применен в одну строчку с командой установки:
sudo dpkg -i DiscoveryServer_LinuxNative_***.deb &&  sudo ./deb/usr/local/bin/configure-all.sh -s /var/tmp/discovery-server -d /var/tmp/discovery-reader -p 5047 -o 5087 -r 5097 -v VDI_
Параметры командной строки имеют формат:
| -s | --server_directory | Директория временных файлов для сервера (по-умолчанию /var/tmp/discovery-server). | 
| -d | --reader_writer_directory | Директория временных файлов для модулей Reader и Writer (по-умолчанию /var/tmp/discovery-reader). | 
| -p | --server_port | Порт который открывает сервер (по-умолчанию 5047). | 
| -o | --reader_port | Порт который открывает Reader (по-умолчанию 5087). | 
| -r | --writer_port | Порт который открывает Writer (по-умолчанию 5097). | 
| -v | --vdi_prefix | Vdi префикс (by default VDI_). | 
| -h | --help | Показать данное сообщение и выйти. | 
Если в дальнейшем вы хотите изменить разрешенные порты на свои, то это можно сделать в файле /var/www/html/config.json (формат).
{
  "BASE_API_PORT": "5047",
  "READER_API_PORT": "5087",
  "WRITER_API_PORT": "5097",
  "DEFAULT_INSTACE": "BaseInstance",
  "FLAG":""
}
Чтобы проверить результат, откройте файлы:
- /opt/Discovery.Server/Settings/ServerConfig.json (описание формата)
 - /opt/Discovery.Reader/Settings/ReaderConfig.json (описание формата)
 
Ошибки установки
Важно! Если установка не запустилась необходимо проверить следующие данные:
- Наличие aspnetcore-runtime-7.0
Для установки выполните команды: 
// Добавляем репазиторий майкрософт в sorcelist. 
wget https://packages.microsoft.com/config/ubuntu/20.04/packages-microsoft-prod.deb -O packages-microsoft-prod.deb
sudo dpkg -i packages-microsoft-prod.deb
rm packages-microsoft-prod.deb
// Обновляем список пакетов в репазиториях
sudo apt-get update
// устанавливаем дотнет.
sudo apt-get install aspnetcore-runtime-7.0- Версия libssl не соответствует (более новые версии linux могут не содержать libssl нужной (более старой) версии, необходимой для aspnetcore).
Для установки выполните команды: 
wget http://archive.ubuntu.com/ubuntu/pool/main/o/openssl/libssl1.1_1.1.1-1ubuntu2.1~18.04.23_amd64.deb
sudo dpkg -i libssl1.1_1.1.1-1ubuntu2.1~18.04.23_amd64.deb
rm libssl1.1_1.1.1-1ubuntu2.1~18.04.23_amd64.deb- Добавьте в файл данные:
 
add_header Access-Control-Allow-Origin *;
try_files $uri /index.html;
Установка приложения из архива
- Остановите nginx с помощью команды:
 
$ sudo systemctl stop nginx
- Откройте директорию с папками с помощью команды:
 
$ sudo mc
- Проверьте, в какой каталог необходимо перенести данных WEB, для этого:
- Перейдите в /etc/nginx/sites-available.
 - Откройте файл default и добавьте в него данные:
 
 
- Посмотрите, какой адрес указан в разделе root - это необходимо для следующего шага.
 
- Откройте файл ...\Server-Linux\Server-Linux\Settings\ServerConfig.json (описание формата).
 - В поле CommonDirectory укажите директорию, в которую будет установлен сервер, например, "/home/itmans"
 
...
"CommonDirectory": "/home/itmans",
...
- Скопируйте содержимое каталога iTManDiscovery-Web/html в директорию, указанную в разделе root файла default (см. предыдущий шаг).
 - Откройте директорию Server-***-Linux.
 - Откройте файл ..\Server-Linux\Reader-Linux\Settings\ReaderConfig.json (описание формата).
 - В поле CommonDirectory укажите директорию, в которую будет установлен модуль Reader, например, "/home/itmanr"
 
...
"CommonDirectory": "/home/itmanr",
...- Скопируйте архив каталога Server-Linux (версии могут отличаться) в любую отдельную директорию, где будут хранится данные для настройки системы, например, /home/project (например с помощью WinCSP).
 - Разархивируйте данные в эту директорию или создайте поддиректорию Server-Linux, в зависимости как вам удобно будет с ней работать.
 - В общей директории Server-Linux запустите файл Discovery.Server.exe.
В случае, если запуск не произошел (ничего не происходит), то проверьте права доступа, они должны соответствовать: rwxr-xr-x.
Если права другие, то для всех директорий, с которыми будете работать, используйте команду: 
$ chmod -R 755 НазваниеДиректории/
- Выйдите в раздел команд linux.
 - Запустите nginx с помощью следующей команды:
 
$ sudo systemctl start nginx
Редактирование параметров установки
Если после установки сервера вы захотите отредактировать его установочные параметры, то это можно сделать в файлах конфигурации:
- ServerConfig - настройки сервера.
 - ReaderConfig - настройки модуля Reader.
 - WriterConfig - настройки модуля Writer.
 - LoggingSettings - настройки логирования.
 

