Установка сервиса ОД и ЭЦП, сервиса приложений и сервиса обновлений

1. Установка КриптоПро

Для работы ЭЦП необходим "КриптоПро" или "VipNet". Рассмотрим настройку работы "Сервис ОД и ЭЦП" с "КриптоПро".
Скачивание и установка КриптоПро:

cd /opt
wget https://keysystems.ru/files/web/Scripts/CryptoPro/linux-amd64.tgz --no-check-certificate
chmod +x /opt/linux-amd64.tgz
tar -C /opt/ -xvf /opt/linux-amd64.tgz
bash /opt/linux-amd64/install.sh

Для ОС на Debian:

wget -O /opt/linux-amd64_deb.tgz https://keysystems.ru/files/web/Scripts/CryptoPro/linux-amd64_deb.tgz --no-check-certificate
chmod +x /opt/linux-amd64_deb.tgz
tar -C /opt/ -xvf /opt/linux-amd64_deb.tgz
bash /opt/linux-amd64_deb/install.sh

Создание символьных ссылок на утилиты КриптоПро:

ln -s /opt/cprocsp/bin/amd64/certmgr /usr/bin/certmgr
ln -s /opt/cprocsp/bin/amd64/csptest /usr/bin/csptest
ln -s /opt/cprocsp/sbin/amd64/cpconfig /usr/bin/cpconfig

Проверка версии установленного «КриптоПро»:

csptest -enum -info

1721198099006-513

2. Установка сервиса приложений.

Загрузка архива с приложением последней доступной версии:

cd /opt/wsks-3.1.24_443/ctl/tar_files
wget "https://keysystems.ru/files/msu/soft/linux/mss_smart_update/23.1/Keysystems.Mss.WebServicecore23.1.1.7.tar.gz" --no-check-certificate

1721198654276-371

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

bash /opt/wsks-3.1.24_443/ctl/ws_addapp.sh -t "sMSS" -a "Keysystems.Mss.WebServicecore23.1.1.7.tar.gz" -vc "serv" -p "54430"
Параметр «-vc»: "serv", // Виртуальный каталог для приложения
Параметр «p»: "54430", // Выбор порта приложения

1721198852000-569

3. Установка сервиса ОД и ЭЦП.

Для загрузки файлов приложения и установки необходимо использовать команды:

wget -O /opt/wsks-3.1.24_443/ctl/tar_files/Keysystems.UploadWebService.tar.gz "https://keysystems.ru/files/web/INSTALL/SMART2/updates/UploadService/Keysystems.UploadWebService_net6_6.1.8961.715.tar.gz" --no-check-certificate
bash /opt/wsks-3.1.24_443/ctl/ws_addapp.sh -t "sSiUp" -a "Keysystems.UploadWebService.tar.gz" -vc "ecp" -crtv "cpro"

1721199163795-791

Важно! На данный момент версия ОД и ЭЦП 6.1.х.х. использует .NET 6 версии, поэтому приложение не запустится "из коробки"

В первую очередь необходимо узнать kestrel-порт сервиса ОД и ЭЦП в контейнере Web-сервер-КС 3.1.24 порт веб-сервера 443 (wsks-3.1.24_443).

bash /opt/wsks-3.1.24_443/ctl/ws_info.sh

%D0%BE%D0%B4%20%D1%8D%D1%86%D0%BF%20%D0%BF%D0%BE%D1%80%D1%82

В данном случае порт приложения 54431.
Далее необходимо загрузить aspnetcore-runtime-6.0.9-linux-x64.tar.gz и распаковать его в /opt/.dotnet6

wget -O /opt/aspnetcore-runtime-6.0.9-linux-x64.tar.gz https://keysystems.ru/files/web/Linux/netcore/aspnetcore-runtime-6.0.9-linux-x64.tar.gz --no-check-certificate
mkdir -p /opt/.dotnet6 && tar -C /opt/.dotnet6 -xvf /opt/aspnetcore-runtime-6.0.9-linux-x64.tar.gz

Далее необходимо скопировать /opt/.dotnet6 в контейнер wsks-3.1.24_443

docker cp /opt/.dotnet6 wsks-3.1.24_443:/opt/

И отредактировать bash-скрипт запуска сервиса ОД и ЭЦП (kestrel порт 54431).

nano /opt/wsks-3.1.24_443/ctl/app/54431_app.sh

Нужно исправить следующие строчки:

cmdstart="/opt/.dotnet6/dotnet /var/www/html/${app_dir}/${startdll}"
cmdstop="/opt/.dotnet6/dotnet /var/www/html/${app_dir}/${startdll}"

И подправить файл /opt/wsks-3.1.24_443/ctl/ws_ctlapp.sh.

sed -i 's/\/opt\/.dotnet\/dotnet/dotnet/g' /opt/wsks-3.1.24_443/ctl/ws_ctlapp.sh
Для остальных приложений .NET6 потребуется только правка соответствующего bash-скрипта.

Перезапустим контейнер и проверим статус сервиса ОД и ЭЦП.

systemctl restart wsks-3.1.24_443
bash /opt/wsks-3.1.24_443/ctl/ws_info.sh

4. Дополнительная настройка сервиса ОД и ЭЦП.

По умолчанию сервис сохраняет данные внутри контейнера, что может привести к их при удалении приложения из контейнера.
Для обеспечения сохранности данных изменим директорию для хранения файлов:

nano /opt/wsks-3.1.24443/www/html/wsks54431/uploadservice.config

1721201716008-901

Необходимо заменить путь в value, на путь к вашему хранилищу или сетевой папке. Если для хранения используется база данных, следует прописать ее адрес и параметры для подключении к ней в специальной строке, исходную строку же закомментировать.
В данном файле также возможно указать тип крипто-провайдера, если он не указан

1721201892867-811

После изменения конфигурации «uploadservice.config» перезапустите приложение командами:

bash /opt/wsks-3.1.24_443/ctl/ws_ctlapp.sh -p 54431 -m stop
bash /opt/wsks-3.1.24_443/ctl/ws_ctlapp.sh -p 54431 -m start

5. Установка сервиса обновлений.

Загрузка архива с приложением последней доступной версии:

wget -O /opt/wsks-3.1.24_443/ctl/tar_files/ "https://keysystems.ru/files/web/INSTALL/SMART2/updates/UpdateService/Keysystems.UpdateWebService_net6_6.1.21.709.tar.gz" --no-check-certificate

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

bash /opt/wsks-3.1.24_443/ctl/ws_addapp.sh -t "sUPDS" -a "/opt/wsks-3.1.24_443/ctl/tar_files/Keysystems.UpdateWebService_net6_6.1.21.709.tar.gz" -vc "upd"

Как и в случае с сервисом ОД и ЭЦП, сервис обновлений работает на .NET6 поэтому требуется правка bash-скрипта (см. выше п3).