Настройки администратора для внедрения КЭДО > Использовать в КЭДО решение «Интеграция с Госключом» / Установить сервисы для интеграции с Госключом

Установить сервисы для интеграции с Госключом

После установки решения Интеграция с Госключом установите на сервер следующие сервисы:

  • rutokensign реализует автоматическое подписание документов на стороне сервера, генерирует технологические подписи к API-ключу;
  • signimprover нужен для корректной работы сервиса rutokensign;
  • node-jszip — архивирует документы.

Архив с файлами для установки этих сервисов вы получите от менеджера ELMA365.

Предварительные настройки для установки сервисов

Перед тем, как установить сервисы, выполните следующие действия:

  1. Обеспечьте доступ к Рутокену с обезличенным сертификатом электронной подписи юридического лица на сервере, где будут установлены сервисы. При этом:
    • на физическом сервере с прямым доступом к Рутокену убедитесь, что к серверу будет доступ из сети, в которой развёрнута ELMA365;
    • на виртуальной машине обеспечьте доступ к Рутокену через гипервизор.
  1. Установите следующие пакеты для работы сервисов на сервере (список пакетов указан для ОС Linux):
    • pcscd;
    • opensc;
    • openssl;
    • libengine-pkcs11-openssl;
    • librtpkcs11ecp  пакет формата .deb , входит в состав архива;
    • openjdk не ниже версии 19. Например, установите njdk-19-jre. Для ОС Astra Linux и подобных российских систем можно использовать ГосJava;
    • docker нужен только для поставки SaaS.

Состав архива для установки сервисов

Содержимое архива для установки сервисов, предоставленный менеджером ELMA365,  позволяет:

  • файл init.sh запустить файлы set_services.sh и run_services.sh. Также выполнить запуск Docker-контейнера с сервисом node-jszip, если команда содержит флаг -d;
  • файл set_services.sh задать инструкции в утилите crontab, чтобы в случае перезагрузки сервера автоматически запускались сервисы rutokensign и signimprover;
  • файл run_services.sh создать необходимые переменные окружения. Также остановить работу сервисов rutokensign и signimprover, если они ранее были запущены, и затем последовательно запустить их. Выполнить запуск Docker-контейнера с сервисом node-jszip, если команда содержит флаг -d;
  • файл kill_services.sh  остановить работу сервисов rutokensign и signimprover, запущенных на портах 8080 и 8000;
  • пакет librtpkcs11ecp_2.15.1.0-1_amd64.deb обеспечить работу системы с Рутокеном. Устанавливается с помощью пакетного менеджера dpkg;
  • папка services хранить JAR-архивы сервисов. Содержит файлы signimprover-0.0.1-SNAPSHOT.jar и signrutoken-0.0.1-SNAPSHOT.jar, а также папку с логами logs;
  • папка services/logs хранить логи. Новый файл в этой папке создаётся при каждом запуске сервисов, название файла содержит временную метку.

Установка сервисов

Выполните следующие шаги, чтобы установить сервисы решения:

  1. Убедитесь, что на вашем сервере открыт порт 8080 для входящих подключений. Если вы используете поставку SaaS, также нужен открытый порт 3000 для docker.
  2. Распакуйте архив для установки сервисов в отдельную папку на сервере.
  3. Убедитесь, что установлены все пакеты для работы сервисов.
  4. Из корневой папки, куда вы распаковали архив и которая содержит файлы формата .sh, выполните команду chmod +x ./*.sh, чтобы выдать права на исполнение bash-скриптов в этой папке.
  5. Запустите файл init.sh. Если не возникли ошибки в консоли, то сервисы успешно запустились. Чтобы в поставке Saas скачать образ для docker и развернуть контейнер с образом, используйте в команде флаг -d.
  6. Выполните команду curl localhost:8080 для итоговой проверки. Если сервисы успешно запущены, вы получите ответ с HTTP-кодом 404. Это означает, что сервис подключён и работает корректно.

Решение ошибок при установке сервисов

Описание ошибки

Решение

  1. Не загружается образ из Docker Hub

Проверьте наличие доступа до hub.docker.com и затем повторите запрос.

  1. Сервисы не запускаются из-за внутренней ошибки

Проверьте содержание логов в папке services/logs, чтобы понять причину. Чаще всего причиной является неактуальная версия Java либо установлены не все пакеты.

  1. Сервисы не запускаются автоматически после перезагрузки сервера

Проверьте утилиту crontab с помощью команды crontab –l, и в ответе проверьте наличие строки вида @reboot /home/{имя_пользователя}/{название_папки_с_сервисом}/run_services.sh

Далее:

  • если такой строки нет запустите файл set_services.sh из папки с сервисами или добавьте строку вручную;
  • если строка есть, но сервисы не запущены проверьте crontab у других пользователей командой crontab -u {имя_пользователя} -l. Если в ответе строка отсутствует, продублируйте её из ответа первой команды.
  1. При запросе к сервису возникает ошибка с таймаутом

Нет доступа до сервера. Выясните и устраните причину этого.