Данная статья применима к:

  • Astra Linux Special Edition РУСБ.10015-01 (очередное обновление 1.7), РУСБ.10015-10
  • Astra Linux Special Edition РУСБ.10015-17
  • Astra Linux Special Edition РУСБ.10015-37 (очередное обновление 7.7)
  • Astra Linux Special Edition РУСБ.10015-03 (очередное обновление 7.6)
  • Astra Linux Special Edition РУСБ.10152-02 (очередное обновление 4.7)
  • Astra Linux Special Edition РУСБ.10015-01 (очередное обновление 1.6)
  • Astra Linux Special Edition РУСБ.10015-16 исп. 1
  • Astra Linux Special Edition РУСБ.10015-16 исп. 2
  • Astra Linux Special Edition РУСБ.10265-01 (очередное обновление 8.1)
  • Astra Linux Common Edition 2.12.43

При написании статьи использовалась версия КонсультантПлюс 4021.

Аннотация

Данная статья содержит описание последовательности действий для установки Интранет-версии СПС КонсультантПлюс (далее - Консультант+) на ОС Astra Linux. Для установки использовался предоставленный разработчиками  Консультант+ комплект ПО. В качестве примера будет рассмотрена установка Консультант+ для пользователя с именем consultant (это имя принято в настройках Консультант+ по умолчанию). Предполагается, что установка выполняется администратором системы, имеющим привилегии суперпользователя (для Astra Linux Special Edition с включенным МКЦ - имеющим привилегии суперпользователя и высокий уровень целостности). Архив для установки загружен администратором в подкаталог Загрузки домашнего каталога администратора.

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

Далее предполагается, что установочный комплект файлов Консультант+ скопирован (распакован) в подкаталог Загрузки домашнего каталога администратора, выполняющего установку.

  1. Создать пользователя consultant и его домашний каталог (/home/consultant). Команда:

    sudo useradd -m consultant

  2. Скопировать подкаталог OFFLINE установочного комплекта в домашний каталог пользователя:

    sudo cp - fR Загрузки/OFFLINE /home/consultant/

    В результате операции копирования должна быть создана следующая структура каталогов:

    /home/consultant/OFFLINE/CONSBASE/
    									ADM/
    									BASE/
    									DISTR/
    									RECEIVE/
    									SEND/
    									SYSTEM/
    									USERS/ 
  3. Установить права доступа к файлам для информационной базы OFFLINE:

    sudo chown -R user:user /home/consultant/OFFLINE/
    sudo chmod -R 775 /home/consultant/OFFLINE/

  4. Если используется Astra Linux Special Edition и ОС должна работать в режиме Защищенной Программной Среды (ЗПС), то установить публичный ключ для программ КонсультантПлюс:

    1. Скопировать публичный ключ из подкаталога SERVICE комплекта поставки:

      sudo cp "Загрузки/SERVICE/PublicKey/consultant-plus_pub.key" "/etc/digsig/keys/"
      sudo chown root:root "/etc/digsig/keys/consultant-plus_pub.key"
      sudo update-initramfs -u -k all

    2. Для применения изменений после установки публичного ключа перезагрузить ОС:

      sudo systemctl reboot

Регистрация offline-версии

  1. Выполнить регистрацию приложения КонсультантПлюс:

    1. Сформировать запрос на регистрацию с помощью входящей в комплект поставки программы licons (представлена файлом с именем liconsXXXXXX, где XXXXXX - код из шести цифр. Программа далее для краткости обозначается именем licons):

      sudo /home/consultant/OFFLINE/CONSBASE/licons --reg

      Сформированный запрос будет размещен в каталоге /home/consultant/OFFLINE/CONSBASE/SEND (файл с расширением *.QR);

    2. Сформированный запрос передать для обработки в компанию "КонсультантПлюс" и получить файлы с кодом ответа и расширением *.AR;

    3. Полученные файлы скопировать в подкаталог /home/consultant/OFFLINE/CONSBASE/RECEIVE, и повторно выполнить команду регистрации:

      sudo /home/consultant/OFFLINE/CONSBASE/licons --reg

      При выполнении команды будет выдана информация о регистрации информационной базы:

      Licons tool 4021.00.20.534713
      Copyright (C) КонсультантПлюс 1992-2021
      Название системы Номер Регистрация
      -----------------------------------------------------------
      Консультант Бюджетные организации 1030387 Есть
  2. Инициализировать комплект командой licons с ключом --adm:

    sudo /home/consultant/OFFLINE/CONSBASE/licons --adm
    Программа выведет в консоль версию сборки, копирайт, каталог с информационной базой и каталог запуска licons. При необходимости программа построит общие словари. Пример полученной информации при запуске:
    Licons tool 4020.00.00.443440
    Copyright (C) ConsultantPlus 2020. All rights reserved.
    BASE path: /home/consultant/OFFLINE/CONSBASE/BASE/
    pwd: /home/consultant
    ---------------------------------------------------------------- --------------
    Название системы Номер Регистрация
    ---------------------------------------------------------------- --------------
    КонсультантПлюс: Версия Проф 51113 Есть
    При выпрлнении команды может быть выдано предупреждение о том, что наполнение информационной базы устарело.

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

  1. Установить пакеты Astra Linux для работы с Интранет-версией (необходимо подключить в качестве репозитория основной диск и диск с актуальным оперативным обновлением):

    1. Web-сервер apache2 и сопутствующие пакеты:

      sudo apt install libpng16-16 librsvg2-2 apache2

    2. Балансировщик нагрузки:

      sudo apt install haproxy

    3. Пакет шрифтов:

      sudo apt install fonts-dejavu
      после установки пакета шрифтов выполнить обновление кэша шрифтов:
      sudo fc-cache -r -f -v

    4. Пакет для подключении режима авторизации в ИВ:

      sudo apt install odbc-postgresql


  2. Установить Интранет-версию:

    1. Скопировать файлы:

      sudo cp -fR ~/Загрузки/ONLINE /home/consultant/ONLINE/

      После копирования должна быть создана следующая структура каталогов:

      /home/consultant/ONLINE/cons/
      								CGI/
      								help/
      				                querylog/
      								static4020_00_20_483774/
      								SYSTEM/
      								TEMP/
    2. Проверить и при необходимости скорректировать файл /home/consultant/ONLINE/cons/CGI/START.KEY, в котором указан каталог с кешем данных для интернет-версии:

      --CACHEDIR=/home/consultant/ONLINE/cons/TEMP

    3. Скопировать файл /home/consultant/ONLINE/cons/CGI/START.KEY для обслуживания кеша данных интернет-версии при пополнении оффлайн-базы данных:

      cp -fR /home/consultant/ONLINE/cons/CGI/START.KEY /home/consultant/OFFLINE/CONSBASE/

    4. Проверить и при необходимсти скорректировать в файле /home/consultant/ONLINE/cons/CGI/BASE.DIR путь до оффлайн-информационной базы:

      /home/consultant/OFFLINE/CONSBASE/

    5. Создать в каталоге /home/consultant/ONLINE/cons/TEMP подкаталог CONSCACHE/RTFCACHE:

      mkdir -p /home/consultant/ONLINE/cons/TEMP/CONSCACHE/RTFCACHE

    6. Создать символическую ссылку на созданный каталог /home/consultant/ONLINE/cons/TEMP/CONSCACHE/RTFCACHE в каталоге с ресурсом cons:

      sudo ln -s /home/consultant/ONLINE/cons/TEMP/CONSCACHE/RTFCACHE /home/consultant/ONLINE/cons/

    7. Установить необходимые для работы права доступа:

      sudo chown -R consultant:consultant /home/consultant/
      sudo chmod 775 -R /home/consultant/

  3. Настроить интранет-версию:

    1. Проверить и при необходимости откорректировать параметры в файлах запуска служб Консультант+ (юнитах). Если используются принятые по умолчанию пользователь и пути к каталогам, то корректировка не требуется. Далее приведены стандартные настройки:
      1. Файл /home/consultant/ONLINE/cons/SYSTEM/conssrv2.service:

        [Unit]
        Description=ConsultantPlus service
        
        [Service]
        Type=simple
        PIDFile=/tmp/conssrv2.pid
        WorkingDirectory=/home/consultant/ONLINE/cons/SYSTEM
        
        User=consultant
        Group=consultant
        
        ExecStart=/home/consultant/ONLINE/cons/SYSTEM/conssrv2
        TimeoutSec=15
        Restart=always
        
        [Install]
        WantedBy=multi-user.target
        
      2. Файл /home/consultant/ONLINE/cons/SYSTEM/online-worker@.service:

        [Unit]
        Description=ConsultantPlus service
        
        [Service]
        Type=simple
        PIDFile=/tmp/conssrv2.pid
        WorkingDirectory=/home/consultant/ONLINE/cons/SYSTEM
        
        User=consultant
        Group=consultant
        
        ExecStart=/home/consultant/ONLINE/cons/SYSTEM/conssrv2
        TimeoutSec=15
        Restart=always
        
        [Install]
        WantedBy=multi-user.target
        le@se16:~$ cat /home/consultant/ONLINE/cons/SYSTEM/online-worker@.service
        [Unit]
        Description=ConsultantPlus worker on port %I
        PartOf=online-pool.target
        
        [Service]
        Type=simple
        PIDFile=/tmp/online-worker%I.pid
        WorkingDirectory=/home/consultant/ONLINE/cons/TEMP/CONSCACHE
        
        User=consultant
        Group=consultant
        
        ExecStart=/home/consultant/ONLINE/cons/CGI/online.cgi --port %I --conssrv standalone
        TimeoutSec=15
        Restart=always
        
        [Install]
        WantedBy=multi-user.target
      3. В файле /home/consultant/ONLINE/cons/SYSTEM/online-pool.target в параметре Wants секции [Unit] указать нужное количество запускаемых обработчиков в формате online-worker@ПОРТ.service. Для каждого обработчика нужно указать свой номер порта, который он будет использовать. В примере приведена настройка запуска двух параллельных процессов на портах 8006 и 8007:

        [Unit]
        Wants=conssrv2.service online-worker@8006.service online-worker@8007.service
    2. Исправить права доступа к юнитам:

      sudo chmod -x /home/consultant//ONLINE/cons/SYSTEM/online-worker@.service

      sudo chmod -x /home/consultant//ONLINE/cons/SYSTEM/online-pool.target
      sudo chmod -x /home/consultant//ONLINE/cons/SYSTEM/conssrv2.service

    3. Создать символические ссылки на юниты в каталоге /etc/systemd/system:

      sudo ln -s /home/consultant/ONLINE/cons/SYSTEM/conssrv2.service /etc/systemd/system
      sudo ln -s /home/consultant/ONLINE/cons/SYSTEM/online-worker@.service  /etc/systemd/system
      sudo ln -s /home/consultant/ONLINE/cons/SYSTEM/online-pool.target /etc/systemd/system

    4. Перезагрузить службы systemd командой:

      sudo systemctl daemon-reload

    5. Разрешить автоматический запуск обработчиков после перезагрузки:

      sudo systemctl enable online-pool.target

    6. Запустить пул обработчиков командой:

      sudo systemctl start online-pool.target

    7. Убедиться, что все нужные службы запустились. Команда для проверки:

      ps aux | grep online.cgi
      Корректный результат:

      consultant 688 6.1 6.5 502680 262928 ? Ssl 17:33 0:04 /home/consultant/ONLINE/cons/CGI/online.cgi --port 8007 --conssrv standalone
      consultant 691 6.2 6.5 502680 263068 ? Ssl 17:33 0:05 /home/consultant/ONLINE/cons/CGI/online.cgi --port 8006 --conssrv standalone

      Если процессы не запустились, то следует внимательно проверить права на папки и файлы для вашего пользователя, а также пути во всех конфигурационных файлах (следите за регистром);

    8. Настроить web-сервер apache2:
      1. Отключить авторизацию Apache2 (только для Astra Linux Special Edition): в файле /etc/apache2/apache2.conf раскомментировать параметр AstraMode и изменить его значение на off:

        AstraMode off
      2. Активировать необходимые модули apache2 выполнив следующую команду:

        sudo a2enmod proxy proxy_balancer proxy_http

      3. После активации модулей перезапустить apache2:

        sudo systemctl restart apache2

    9. Настроить основной порт ИВ для «прослушивания» и открытия пула приложений ИВ. Для этого в файле /etc/apache2/ports.conf указать порт, на котором будет работать ваш ресурс в виде (в примере порт 8080):

      Listen 8080
    10. Настроить пул портов, используемых приложением ИВ. Для этого в файле /home/consultant/ONLINE/cons/SYSTEM/online.conf:

      1. в тэге <VirtualHost*:8080> указать порт, на котором будет работать ресурс (в примере порт 8080):

        <VirtualHost *:8080>
        ServerAdmin vpibot@consultant.ru
        ...
      2. Указать пути к документам (при использовании стандартных настроек изменения не требуются):

        DocumentRoot /home/consultant/ONLINE/cons
        <Directory "/home/consultant/ONLINE/cons">
    11. Скопировать файл /home/consultant/ONLINE/cons/SYSTEM/online.conf в каталог /etc/apache2/sites-available и создать символическую ссылку на него в каталоге /etc/apache2/sites-enabled командами:

      sudo cp -fR /home/consultant/ONLINE/cons/SYSTEM/online.conf /etc/apache2/sites-available
      sudo ln -s /etc/apache2/sites-available/online.conf /etc/apache2/sites-enabled/online.conf

    12. Проверить синтаксис файлов конфигурации apache2 выполнив команду:

      sudo apache2ctl -t
      Корректный результат выполнения команды не содержит сообщений об ошибках;

    13. Убедиться, что  все нужные службы по-прежнему запущены:

      ps aux | grep online.cgi
      Если сервисы остановились, то перезапустить их:
      sudo systemctl daemon-reload
      sudo systemctl restart online-pool.target
      Если сервисы работают корректно, то перезапустить apache2:
      sudo systemctl restart apache2

  4. Настроить балансировщик для распределения нагрузки. Для распределения нагрузки используется прокси-сервер haproxy. Параметры настройки сервера haproxy находятся в файле /etc/haproxy/haproxy.cfg:
    1. Добавить пул портов, используемых приложением ИВ:

      frontend online
      bind 127.0.0.1:8081
      default_backend servers
      backend servers
      timeout queue 30s
      server s1 127.0.0.1:8006 check maxconn 1
      server s2 127.0.0.1:8007 check maxconn 1
    2. Перезапустить службу haproxy:

      sudo systemctl restart haproxy

    3. Проверить готовности интернет-версии:

      systemctl list-units | grep -E "conssrv|online-|apache|haproxy"
      В результате отобразятся процессы со статусом “loaded active running” :

        apache2.service                                                                          loaded active running   The Apache HTTP Server
        conssrv2.service                                                                         loaded active running   ConsultantPlus service
        haproxy.service                                                                          loaded active running   HAProxy Load Balancer
        online-worker@8006.service                                                               loaded active running   ConsultantPlus worker on port 8006
        online-worker@8007.service                                                               loaded active running   ConsultantPlus worker on port 8007
        online-pool.target                                                                       loaded active active    ConsultantPlus starting worker pool

На этом настройка интранет-версии завершена. Проверить её работоспособность можно открыв встроенный браузер Firefox и зайдя по адресу http://127.0.0.1:8080

Обновление на новую версию

  1. Для замены модуля приложения online.cgi:
    1. Остановить пул приложений командой:

      sudo systemctl stop online-pool.target

    2. Заменить необходимые файлы (/home/consultant/ONLINE/CGI/online.cgi и файлы в каталоге /home/consultant/ONLINE/staticXXXX_XX_XX_XXXXXX);
    3. Запустить пул приложений:

      sudo systemctl start online-pool.target

  2. Для замены модуля службы conssrv2:
    1. Оостановить пул приложений:

      sudo systemctl stop conssrv2.service

    2. Заменить обновляемые файлы (/home/consultant/ONLINE/SYSTEM/conssrv2) ;
    3. Запустить службу:

      sudo systemctl start conssrv2.service

Диагностика ошибок

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

  • /var/log/apache2/error.log
  • /home/consultant/ONLINE/cons/TEMP/CONSCACHE/CONS_ERR.TXT
  • /home/consultant/ONLINE/cons/TEMP/CONSCACHE/LOG.TXT
  • /home/consultant/ONLINE/cons/SYSTEM/CONS_ERR.TXT
  • /home/consultant/OFFLINE/CONSBASE/CONS_ERR.TXT

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

systemctl list-units | grep -E "conssrv|online-|apache|haproxy"
systemctl status online-pool.target
systemctl status online-worker@800*
systemctl status apache2.service
systemctl status haproxy

  • No labels