Скачать и установить на сервер:
При установке SQL server указать следующие параметры:
Тип установки - Базовый
Программа имеет модульную структуру. Базовая версия включает в себя следующие компоненты:
Mis.Server.App
(основной компонент отвечающий за взаимодействие между клиентом и сервером)Mis.WebApi.ClinicLicense.Mediator
(контроль лицензии)Mis.WebApi.Authentication
(аутентификация в программе)Mis.WebApi.Dictinaries
(вспомогательная служба, отвечающая за авторизацию)Mis.WebApi.GateWay
(распределение запросов между модулями)Mis.WebApi.Patients.Files
(обработка и хранение файлов пациентов)Mis.WebApi.ProtocolService
(работа с исследованиями)Mis.WebApi.User.Profile
(хранение фотографий пользователей)Загрузить на сервер и распаковать в каталог, в котором будет работать программа, архив с компонентами. По умолчанию это: C:/Medidea
Для работы программы на северер необходимо установить сертификат.
Утилита для генерации сертификата находится в папке проекта в каталоге ../cert.
Для генерации и установки сертификата:
Запустить командную строку от имени Администратора
Перейти в каталог cert с помощью команды
cd C:\[путь к директории]\cert
И выполнить команду
`makeCertificate.bat`
Если сервер не запускается из-за проблем с сертификатом:
Открыть доступ к закрытому ключу сертификата для пользователя из-под которого будет запускаться служба. Для этого:
Открыть MMC.exe, добавить или удалить оснастку, добавить Сертификаты.
В открывшемся окне выбрать “учетной записи компьютера” -> готово -> ”да".
Раскрыть “Сертификаты” ->“Личное”, найти сертификат ItIdeaMisCert, ПКМ -> Все задачи -> Управление закрытыми ключами -> добавить пользователя от которого будет запускаться Mis.Server.App и нажать ОК.
В настройках Брандмауэра перейти в “Дополнительные параметры”, открыть “Правила для входящих подключений” и создать новое правило со следующими параметрами:
Возможно изменение портов, которые использует программа. Переназанчение портов производится в конфигурационных файлах программы. Более подробно с изменением натроек можно ознакомиться в главе "Конфигурация".
Найти диспетчер конфигурации можно двумя способами:
В диспетчере перейти в каталог "Сетевая конфигурация SQL Server", далее в подкаталог "Протоколы для <название_вашего_экземпляра>".
Включить все протоколы.
Открыть протокол TCP/IP, перейти во вкладку IP-адреса, в самом нижнем блоке IPAll указать TCP Port - 1433.
Также 1433 TCP порт необходимо указать в разделе с локальным ip-адресом сервера. После внесения изменений в свойства TCP/IP нажать "ОК".
В Диспетчере перейти в службы SQL Server и перезапустить службу SQL Server(SQLEXPRESS2019), чтобы изменения вступили в силу.
Для этого выполнить следующие манипуляции:
Необходимо запусить и подключиться к SQL серверу проверкой подлинности Windows.
Нажать правой кнопкой мыши по серверу и выбрать в контекстном меню "Свойства".
В свойствах открыть вкладку "Безопасность" и выбрать в соответствующих категориях параметр "Проверка подлинности SQL server и Windows" и нажать "ОК".
Открыть каталог “Безопасность“ и в нём открыть “Имена для входа“. Правой кнопкой мыши нажать на имя “sa“ и в открывшемся контекстном меню выбрать “Свойства“.
В свойствах открыть вкладку "Общие". Сгенерировать надёжный пароль и вставить в поля "Пароль" и "Подтверждение пароля".
Также необходимо убедиться, что деактивирован параметр "Требовать использование политики паролей".
В поле "База данных по умолчанию" желательно указать ранее восстановленную базу данных.
Открыть вкладку "Состояние" и включить имя для входа, а также предоставить разрешение на подключение к ядру СУБД и нажать "ОК".
После настройки необходимо в службах перезапустить SQL Server, чтобы изменения вступили в силу.
Необходимо установить MongoDB и его нативный графический интерфейс MongoDB Compass. Для этого понадобится один файл-установщик, который находится в сетевой папке в каталоге Support -> Программы и дистрибутивы. Называется файл "mongodb-windows-x86_64...". Установщик достаточно запустить на сервере и пройти стандартную процедуру не меняя параметры установки, за исключением указания на одном из этапов установки необходимость установки MongoDB Compass. После установки настройка не требуется, как в случае с SQL server.
Запустить генератор лицензии, находящийся в следующем каталоге сетевой папки: \\nas\support\Программы и дистрибутивы\LicenseGenerator
В левом верхнем углу открыть меню и выбрать раздел "Организации"
Добавить новую организацию, нажав на плюс и указав данные клиники
Если какоих-то данных нет, например, клиника не предоставила почту, можно указать прочерк в этом поле.
После добавления организации добавить лицензию. Открыть меню генератора лицензий и выбрать раздел "Лицензии".
Нажать на плюсик и заполнить данные параметров лицензии, а также по необходимости добавить модули, которые должны быть доступны клинике.
1.1.*.*
ConfUpdaterConsole - это утилита для автоматической замены данных в конфигурационных файлах.
Уилита находится тут: \\nas\support\Программы и дистрибутивы\Утилита замены конфигов\Утилита замены конфигов
Утилита замены конфигов
на сервер.TemplateSettings.json
в подкаталоге Templates
. Заменить IP, порты, строки подключений к базам данных, id лицензии и другие данные на актуальные.ConfUpdaterConsole.exe
и указать путь до каталога со службами.У каждой WebApi есть файл настроек appsettings.json. К каждой WebApi можно обратиться по определенной ссылке, у каждой WebApi разные адреса, так как на одном порту может быть запущена только одна WebApi.
Адрес WebApi настраивается в блоке:
"Kestrel": {
"Endpoints": {
"Http": {
"Url": "http://localhost:5052"
}
}
}
у каждой WebApi есть блок Kestrel, в которой прописываются конечные точки. Конечных точек может быть несколько, но в базовых WebApi обычно хватает только http точки. В конечной точке видим URL-адрес, состоящий из ip адреса (или localhost) и порта. У каждой WebApi есть предварительно утвержденный порт, на котором она работает Порты служб. У служб Gateway и ClientSignal обязательно должен быть установлен именно ip адрес, не localhost, так как клиентская часть программы обращается к ним с других компьютеров. У остальных служб можно оставить localhost, так как они общаются между собой в пределах одного хоста.
Далее в appsettings есть блок
ConnectionStrings": {
"MisAuthenticationConnection": "Server=localhost\\SQLEXPRESS2016;Database=MisAuthenticationDB;user id=sa;password=HSdkjfdg;MultipleActiveResultSets=true",
"MisConnectionString": "Server=localhost\\SQLEXPRESS2016;Database=mis;user id=sa;password=HSdkjfdg;MultipleActiveResultSets=true",
},
это блок, отвечающий за подключение WebApi к Базе данных. Может быть прописано несколько подключений - одно подключение к базе MIS (MisConnectionString) - то есть к основной, второе подключение к базе (MisAuthenticationConnection), созданной конкретно для этой самой WebApi (отдельная база есть для WebApi Authentication, PBX). На примере выше видим блок из WebApi Authentication. Блок "Server=localhost\SQLEXPRESS2016" определяет, к какому серверу по какому адресу подключаться (Может быть написано по-другому: "data source=localhost\SQLEXPRESS2016", разницы нет). Вместо localhost может быть указан ip-адрес компьютера, где установлен экземпляр SQL сервера. После "" указывается экземпляр SQL сервера. На одном компьютере может быть установлено несколько экземпляров Sql server, у каждого будет свое имя и свои базы. Database=mis - определяет к какой базе будет подключение.
После настройки веб апи, браузере перейти по url кестрела (например localhost:5052) и после перехода на страницу авторизации добавить пользователя (admin admin).
На компьютере клиента ищем в созданной ранее папке MedIdea\Mis.Server.App файл Mis.Server.App.exe.config.
В конфигурационном файле настроить следующие блоки:
1. Блок <container>
.
В этом блоке конфигурируются модули программы. По названиям модулей можно понять за что отвечает конкретный <register...
.
Для базовой настройки ищем блок
<!-- RestApiRepository -->
<register type="IRestApiRepository" mapTo="RestApiRepository">
<lifetime type="singleton" />
<constructor>
<param name="baseUrl" value="http://localhost:5049" />
<param name="login" value="admin" />
<param name="password" value="admin" />
</constructor>
</register>
это блок для связи с WebApi.GateWay.
Изменить значение в параметре baseUrl на адрес, которые указали в appsettings.json службы WebApi.GateWay (http://<тут ip службы GateWay>:<порт службы GateWay>)
2. Блок <system.serviceModel>
.
В нем прописываются конечные точки сервисов ('%Endpoit%’ и ‘%base%’). Найти эти точки и заменить порт. По умолчанию указаны порты - 5051 и 5050. Если сервер облачный, порты могут быть уже заняты другими серверами. Проверить какой диапазон свободен (как было описано в пункте по настройке брандмауэра)
3. Блок <connectionStrings>
В этом блоке прописано подключение к базе.
"data source = localhost/SQLSERVER2016" - localhost заменить на IP адрес сервера клиента и добавить ",1433"
(должно получиться так: <ip-address>,1433\\SQLSERVER2016
. Обычно на облачных серверах название экземпляра sql server - "SQLSERVER2016". Если у вас наименование экземпляра другое - изменить на верное).
В ConnectionString изменить в "initial catalog = mis" mis на название восстановленной базы данных. user id=sa;password=Admin112200;
- изменить на нужный пароль sql server
11. Создание клиентской части .
Если у клиента облачная версия программы: Лаунчер, который ставится на каждый рабочий компьютер клиники, смотрит в файле updates.xml какой архив и по какому пути нужно скачать, проверяет его hash и скачивает из ftp-папки архив, разархивирует его и запускает клиентскую часть. Эта ftp папка располагается на нашем сервере 146.185.208.110, по пути D:/MedIdea/%clinicName%Updates.
При появлении нового клиента: Создать новую папку по пути D:/MedIdea/ , назвать папку %clinicName%Updates. Внутри папки создать папку arc. В папку arc загрузить полученный от сборки архив. В папку D:/MedIdea/%clinicName%Updates поместить файл updates.xml.
Создать нового пользователя для доступа к ftp папке. В пуске ввести mmc.exe, файл-добавить или удалить оснастку, выбирать “локальные пользователи” и “готово”. Раскрыть “Локальные пользователи…”, открыть “пользователи”, справа появятся все пользователи. Нажать пкм по правой части - “новый пользователь”. Открывается окно создания пользователя. Пользователь - %clinicName%ftp , в полное имя то же самое. В описание можно вписать пароль, чтобы потом его не забыть и вставить его в поле "пароль". Убирать галочку “требовать смены пароля при следующем входе в систему”, поставить галочки “запретить смену пароля пользователем” и “Срок действия пароля не ограничен”. Нажать кнопку создать. Открыть свойства созданного пользователя - членство в группах -> добавить -> добавить группу ftp и сохранить.
Создать в папке D:/MedIdea/%clinicName%Updates папку \Launcher и скопировать в нее файлы лаунчера (из папки со своего рабочего компьютера - Mis\Mis.Client.Launcher\bin\Release).
Открыть папку \Launcher, открыть файл Mis.Client.Launcher.exe.Config, изменить строки:
`<add key="PathFtp" value="ftp://%имя_*пользователя_ftp%:%пароль_пользователя*_ftp%@146.185.208.110/%clinicName%Updates/" /> `
`<add key="DestinationFolderName" value="%clinicName%" /> `
Вставить нужные значения. Сохранить и загрузить папку с лаунчером на рабочие места.
Если у клиента локальная версия программы: создать папку MedIdea/MisUpdates, внутри MisUpdates папку arc. В папку arc загрузить полученный от сборки архив. В папку MedIdea/MisUpdates поместить файл updates.xml. Для того, чтобы лаунчеру была доступна папка MedIdea/MisUpdates в сети, нужно открыть доступ к папке для локальной сети, доступ без пароля. Открыть конфиг ранее загруженного лаунчера, изменить значения:
`<add key="Path" value="\\%ipaddress%\MisUpdates" /> `
`<add key="DestinationFolderName" value="%clinicName%" /> `
(Информацию о том, как расшарить доступ к папке и как перейти в сетевую папку через проводник, можно найти в открытых источниках)