Дерево страниц

Сравнение версий

Ключ

  • Эта строка добавлена.
  • Эта строка удалена.
  • Изменено форматирование.
Данная инструкция содержит подробное описание последовательности действий и команд для установки Интранет-версии СПС КонсультантПлюс (далее - СПС) на ОС

Оглавление


Информация
titleДанная статья применима к:

Аннотация

  • Astra Linux Special Edition РУСБ.10015-01 (очередное обновление 1.
6
  • 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). Команда:

    Command
    sudo useradd -m consultant


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

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


    Информация

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

Подгтотовка к установке

В качестве примера будет рассмотрена установка СПС для пользователя user. Имя пользователя можно заменить на любое другое. Создать пользователя для тестирования можно командой:

Command
sudo useradd -m <имя_пользователя>

Далее предполагается, что архив СПС находится в подкаталоге Загрузки домашнего каталога текущего пользователя, выполняющего установку.

Установка

  1. Скопировать установочный комплект в домашний каталог пользователя user (в примере это каталог /home/user/OFFLINE/CONSBASE), где /mnt/flash/ - источник с подготовленным комплектом:

    Command
    sudo cp - fR Загрузки/OFFLINE/CONSBASE /home/user/OFFLINE/

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

  2. См. Приложению 4. Необходимые файлы находятся в каталоге SERVICE комплекта поставки;

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

    Command
    sudo systemctl reboot

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

    Сформировать запрос на регистрацию:

    Command
    cd /home/consultant/OFFLINE/CONSBASE
    sudo ./licons --reg
    Сформированный запрос будет размещен в подкаталоге SEND (файл с расширением *.QR);
    Сформированный запрос передать для обработки в ОРЦ РИЦ и получить файлы с кодом ответа и расширением *.AR;

    Полученные файлы скопировать в подкаталог RECEIVE, и повторно выполнить команду регистрации:

    Command
    cd /home/consultant/OFFLINE/CONSBASE
    sudo ./licons --reg
    При выполнении команды будет выдана информация о регистрации информационной базы;

    Инициализировать комплект командой licons с ключом --adm:

    Command
    sudo ./licons --adm

    Программа выведет в консоль версию сборки, копирайт, каталог с ИБ и каталогзапуска llicons. При необходимости программа построит общие словари. Пример полученной информации при запуске:

    Command
    Titlelicons --reg
    Licons tool 4020.00.00.443440
    Copyright (C) ConsultantPlus 2020. All rights reserved.
    BASE path:
    Блок кода
    /home/consultant/OFFLINE/CONSBASE/
    BASE/
    pwd: /home/consultant
    ---------------------------------------------------------------- --------------
    Название системы Номер Регистрация
    ---------------------------------------------------
    
    									ADM/
    									BASE/
    									DISTR/
    									RECEIVE/
    									SEND/
    									SYSTEM/
    									USERS/ 



  4. Установить права доступа к файлам для информационной базы OFFLINE:

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


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

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

      Command
      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. Для применения изменений после установки публичного ключа перезагрузить ОС:

      Command
      sudo systemctl reboot


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

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

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

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

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

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

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

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

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

      Блок кода
      Licons tool 4021.00.20.534713
      Copyright (C) КонсультантПлюс 1992-2021
      Название системы Номер Регистрация
      ---------------------------

    КонсультантПлюс: Версия Проф 51113 ЕстьУстановить права доступа к файлам для информационной базы OFFLINE:
    sudo chown -R user:user /home/user/OFFLINE/
    sudo chmod -R 775 /home/user
    1. --------------------------------
      Консультант Бюджетные организации 1030387 Есть


  2. Инициализировать комплект командой licons с ключом --adm:

    Command
    sudo /home/consultant/OFFLINE/CONSBASE/

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

  3. Web-сервер apache2 и сопутствующие пакеты:
    sudo apt install libpng16-16 librsvg2-2 apache2

  4. Балансировщик нагрузки:
    sudo apt install haproxy

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

  6. Пакет для подключении режима авторизации в ИВ:
    sudo apt install odbc-postgresql
    licons --adm

    Программа выведет в консоль версию сборки, копирайт, каталог с информационной базой и каталог запуска licons. При необходимости программа построит общие словари. Пример полученной информации при запуске:

    Блок кода
    Titlelicons --reg
    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 и сопутствующие пакеты:

      Command
      sudo apt install libpng16-16 librsvg2-2 apache2


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

      Command
      sudo apt install haproxy


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

      Command
      sudo apt install fonts-dejavu

      после установки пакета шрифтов выполнить обновление кэша шрифтов:

      Command
      sudo fc-cache -r -f -v


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

      Command
      sudo apt install odbc-postgresql



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

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

      Command
      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 для обслуживания кеша данных интернет-версии при пополнении оффлайн-базы данных:

      Command
      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:

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


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

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


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

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


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

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

        Блок кода
        collapsetrue
        [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:

        Блок кода
        collapsetrue
        [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=
  4. Установить Интранет-версию:

    1. Скопировать файлы:
      sudo cp -fR ~/Загрузки/ONLINE/cons /home/user/ONLINE/
    2. Проверить и скорректировать файл START.KEY, в котором указан каталог с кэшем для ИВ:
      echo --CACHEDIR=/home/user/ONLINE/cons/TEMP | sudo tee/home/user/ONLINE/cons/CGI/START.KEY
    3. Синхронизировать и настроить START.KEY для обслуживания кэша ИВ припополнении оффлайн ИБ:
      cp -fR /home/user/ONLINE/cons/CGI/START.KEY /home/user/OFFLINE/CONSBASE/
    4. Проверить и скорректировать в файле /home/user/ONLINE/cons/CGI/BASE.DIR путь до оффлайн ИБ в текстовом формате:
      echo /home/user/OFFLINE/CONSBASE/ | sudo tee /home/consultant/ONLINE/cons/CGI/BASE.DIR
    5. Создать в каталоге /home/user/ONLINE/cons/TEMP подкаталог CONSCACHE/RTFCACHE:
      mkdir -p /home/user/ONLINE/cons/TEMP/CONSCACHE/RTFCACHE
    6. Создать символическую ссылку на созданный каталог /home/user/ONLINE/cons/TEMP/CONSCACHE/RTFCACHE в каталоге с ресурсом cons:
      sudo ln -s/home/user/ONLINE/cons/TEMP/CONSCACHE/RTFCACHE/home/user/ONLINE/cons/
    7. Установить необходимые для работы права доступа:
      sudo chown -R user:user /home/user/
      sudo chmod 775 -R /home/user/
  5. Настроить интранет-версию:
    В качестве примера будет использована тестовая конфигурация для пользователя user, имя которого можно заменить на любое другое. При замене пользователя или каталогов необходимоскорректировать и привести пути в конфигурационных файлах в соответствие с теми, которые будут созданы или изменены.Имена файлов и каталогов в путях регистрозависимы!
    Пример необходимых значений и файлов см. Приложение 2.
    1. В файле /home/user/ONLINE/cons/SYSTEM/conssrv2.service проверьте и скорректируйте параметры:
      WorkingDirectory=/home/user/ONLINE/cons/SYSTEM
      ExecStart=/home/user/ONLINE/cons/SYSTEM/conssrv2
      User=user
      Group=user
    2. Создать символическую ссылку на этот файл в каталоге /etc/systemd/system:
      sudo ln -s /home/user/ONLINE/cons/SYSTEM/conssrv2.service /etc/systemd/system
    3. В файле /home/user/ONLINE/cons/SYSTEM/online-worker@.ser vice проверьте и скорректируйте параметры:
      WorkingDirectory=/home/user/ONLINE/cons/TEMP/CONSCACHE
      ExecStart=/home/user/ONLINE/cons/CGI/online.cgi --port %I --conssrv standalone
      User=user
      Group=user
    4. Создайть символическую ссылку на этот файл в каталоге /etc/systemd/system:
      sudo ln -s /home/user/ONLINE/cons/SYSTEM/online-worker@.service /etc/systemd/system
    5. В файле /home/user/ONLINE/cons/SYSTEM/online-pool.target проверьте и скорректируйте параметры:
      В параметре Wants секции [Unit] нужное количество запускаемых обработчиков в формате online-worker@ПОРТ.service. Для каждого обработчика нужно указать свой номер ip/tcp порта, который он будет использовать. В примере приведена настройка запуска двух параллельных процессов на портах 8006 и 8007:
      [Unit]
      Wants=conssrv2.service online-worker@8006.service online-worker@8007.service
    6. Создайть символическую ссылку на этот файл в каталоге /etc/systemd/system:
      sudo ln -s /home/user/ONLINE/cons/SYSTEM/online-pool.target /etc/systemd/system
    7. Перезапустить сервис systemd командой:
      sudo systemctl daemon-reload
    8. Запустить пул обработчиков командой:
      sudo systemctl start online-pool.target
    9. Убедиться, что все нужные сервисы запустились командой:
      ps aux | grep online.cgi
      Корректный результат:
      consult+
      consult+
      oba
      6545 42.5
      6546 42.2
      6560 0.0
      9.7 533888 198740 ?
      9.7 533888 199048 ?
      0.0 12788
      980 pts/0
      Ssl
      Ssl
      S+
      13:33
      13:33
      13:33
      0:01 CGI/online.cgi --port 8006 --
      0:01 CGI/online.cgi --port 8007 --
      0:00 grep online
      Если процессы не запустились, нужно внимательно проверить права на папки и файлы для вашего пользователя, а также пути во всех конфигурационных файлах (следите за регистром).
    10. Настроить web-сервер apache2:
      1. Активировать необходимые модули apache2 выполнив следующую команду:
        sudo a2enmod proxy proxy_balancer proxy_http
      2. После активации модулей перезапустить apache2:
        sudo systemctl restart apache2
      3. Отключить авторизацию Apache2 (только для Astra Linux Special Edition): в файле /etc/apache2/apache2.conf указать:
        AstraMode off
    11. Настроить основной порт ИВ для «прослушивания» и открытия пула приложений ИВ. В файле /etc/apache2/ports.conf указать порт, на котором будет работать ваш ресурс в виде (в примере порт 8080):
      Listen 8080
    12. Настроить пул портов, используемых приложением ИВ. Для этого в файле /home/consultant/ONLINE/cons/SYSTEM/online.conf в тэге <VirtualHost*:8080> указать порт, на котором будет работать ресурс (в примере порт 8080):
      <VirtualHost *:8080>
      ServerAdmin vpibot@consultant.ru
      #Корневой каталог ресурса онлайн-версии
      DocumentRoot /home/consultant/ONLINE/cons
      <Directory "/home/consultant/ONLINE/cons">
      Require all granted
      </Directory>
      #Перенаправление на online.cgi только запросов к online.cgi
      #Все статические файлы будут обрабатываться самим apache2
      ProxyPreserveHost On
      ProxyPass /cgi/online.cgi http://127.0.0.1:8081/cgi/online.cgi
      #Настройка стандартных потоков вывода и ошибок в стандартные файлы apache2
      ErrorLog ${APACHE_LOG_DIR}/error.log
      CustomLog ${APACHE_LOG_DIR}/access.log combined
      </ VirtualHost>
    13. Скопировать файл
      1. /home/consultant/ONLINE/cons/
      SYSTEM
      1. CGI/online.
      conf в каталог /etc/apache2/sites-available и создайте символическую ссылку на него в каталоге /etc/apache2/sites-enabled командами:
      sudo cp -fR
      1. cgi --port %I --conssrv standalone
        TimeoutSec=15
        Restart=always
        
        [Install]
        WantedBy=multi-user.target



      2. В файле /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
    14. Проверить синтаксис файлов конфигурации apache2, для этого нужно выполнить команду:
      sudo apache2ctl -t
      Корректный результат выполнения команды, не содержит сообщений об ошибках:
      AH00558: apache2: Could not reliably determine the server's fully qualified domain name, using 127.0.1.1. Set the 'ServerName' directive globally to suppress this message
      Syntax OK
    15. Проверить, что все нужные сервисы по-прежнему запущены:
      ps aux | grep online.cgi
      Корректный результат:
      consult+
      consult+
      oba
      6545 42.5
      6546 42.2
      6560 0.0
      9.7 533888 198740 ?
      9.7 533888 199048 ?
      0.0 12788
      980 pts/0
      Ssl
      Ssl
      S+
      13:33
      13:33
      13:33
      0:01 CGI/online.cgi --port 8006 --
      0:01 CGI/online.cgi --port 8007 --
      0:00 grep online
      Если сервисы остановились, перезапустить их:
      sudo systemctl daemon-reload
      sudo systemctl restart online-pool.target
      Если сервисы работают корректно, перезапустить apache2:
      sudo systemctl restart apache2
  6. Настроить балансировщик для распределения нагрузки:Для распределения нагрузки используется прокси-сервер haproxy. Настройка осуществляется в файле /etc/haproxy/haproxy.cfg.
    1. Добавить параметры балансировки. Это можно выполнить в редакторе,для этого выполняем команду:
      sudo mcedit /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
    2. Проверить готовности ИВ:
      systemctl list-units | grep -E "conssrv|online-|apache|haproxy"
      В результате отобразятся процессы со статусом “loaded active running” :
      apache2.service
      conssrv2.service
      haproxy.service
      online-worker@8006...
      online-worker@8007...
      online-pool.target
      loaded
      loaded
      loaded
      loaded
      loaded
      loaded
      active
      active
      active
      active
      active
      active
      running The Apache HTTP Server
      running conssrv2 service
      running HAProxy Load Balancer
      running Online worker on port 8006
      running Online worker on port 8007
      active
      online-pool.target

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

  1. Для замены модуля приложения online.cgi:
    1. Остановить пул приложений командой:
      sudo systemctl stop online-pool.target
    2. Заменить необходимые файлы ИВ online.cgi и файлы в каталоге static XXXX_XX_XX_XXXXXX.
    3. Запустить пул приложений:
      sudo systemctl start online-pool.target
  2. Для замены модуля службы conssrv2:
    1. Оостановить пул приложений:
      sudo systemctl stop conssrv2.service
    2. Заменить файлы;
    3. Запустить службу:
      sudo systemctl start conssrv2.service

Применение изменений в файле online.ini

Группу приложений online-pool.target необходимо перезагружать при изменении в файлах каталога CGI и SYSTEM:

  1. Остановите пул приложений командой:
    sudo systemctl stop online-pool.target
  2. Заменить необходимые файлы ИВ online.cgi и файлы в каталоге staticXXXX_XX_XX_XXXXXX;
  3. Запустить пул приложений:
    sudo systemctl start online-pool.target

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

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

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

/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

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

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

Авторизация пользователей

Авторизация пользователей на сервере ИВ необходима для работы с функциями «Избранное», «Папки», «Документы на контроле» и т.п. Пользовательские данные хранятся на сервере ИВ, поэтому при обращении пользователя на сервер необходимо идентифицировать его, для чего и используется авторизация. Имеется два способа авторизации: собственная и доменная.

Собственная авторизация

Собственная авторизация применяется в случаях, когда на предприятии нет возможности обеспечить доступ и работу веб-сайта Интранет-версии пользователям с доменом этого предприятия или политиками безопасности. При собственной авторизации пользователи самостоятельно регистрируются в системе задавая Логин, Пароль и указывая свой e-mail. Если режим Собственной авторизации включен, пользователь Интранет-версии может работать как в обычном режиме, не проходя авторизацию (Анонимный вход «Без Авторизации») так и с Авторизацией, введя Логин и Пароль. При Анонимном входе, если пользователь обратился к функциям для которых требуются  пользовательские данные (например, функции «Избранное» и «Папки») появится сообщение о необходимости Авторизации. В этом случае пользователю будет необходимо самостоятельно ввести свой Логин и Пароль или зарегистрироваться. Данные авторизации сохраняются в течение всего сеанса работы. Если пользователь закрыл браузер более чем на 20 минут, потребуется повторная авторизация. Описание подключения режима собственной авторизации см. Приложение 3.

Для корректной работы необходимы:

  • установленная и настроенная БД SQL Postgres;
  • разрешенное подключение пользователя к БД;
  • скорректированные значения параметров в online.ini.

Доменная авторизация

Доменную авторизацию следует применять в случае, когда пользователи ИВ входят в домен предприятия. При включенном режиме доменной авторизации авторизация пользователей происходит автоматически и незаметно для пользователя – в момент входа в Интранет-версию. При этом необходимо, чтобы пользователь вошел на свой компьютер авторизованным пользователем в домене. Пользователи, не прошедшие проверку (не авторизованные в домене), не смогут работать с ресурсом Интранет-версии – для них система потребует ввода имени и пароля существующего доменного пользователя. Описание подключения режима собственной авторизации см. Приложение 4.

Для корректной работы необходимы:

  • готовый домен, для примера: DOMAIN.LOCAL;
  • адрес сайта, для примера: website.ru
  • имя сервера с ресурсом ИВ, для примера: server-name
  • доступ к серверу домена по протоколу LDAP;
  • права root для Linux сервера с ИВ;
  • права Администратора для Windows сервера AD
6Приложение 2

Содержимое файлов настройки ИВ.

Файл BASE.DIR:

basedir=/home/consultant/OFFLINE/CONSBASE

Файл START.KEY:

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

Файл conssrv2.service:

[Unit]

Description=conssrv2 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

Файл online-worker@.service:

Unit]

Description=Online worker on port %I

PartOf=online-pool.target

[Service]

Type=simple

PIDFile=/tmp/online-worker%I.pid

WorkingDirectory=/home/consultant/ONLINE/cons/SYSTEM

User=consultant

Group=consultant

17ExecStart=/home/consultant/ONLINE/cons/CGI/online.cgi --port %I

--conssrv standalone

TimeoutSec=15

Restart=always

[Install]

WantedBy=multi-user.target

Файл apache2.conf (отражено только необходимое изменение):

# Astra security mode.

# AstraMode on

AstraMode off

Файл online.conf:

<VirtualHost *:8080>

ServerAdmin vpibot@consultant.ru

#Корневая директория ресурса онлайн-версии

DocumentRoot /home/consultant/ONLINE/cons

<Directory "/home/consultant/ONLINE/cons">

Require all granted

</Directory>

#Перенаправление на online.cgi только запросов к online.cgi

#Все статические файлы будут обрабатываться самим apache2

ProxyPreserveHost On

ProxyPass /cgi/online.cgi http://127.0.0.1:8081/cgi/online.cgi

#Настройка стандартных потоков вывода и ошибок в стандартные файлы

apache2

ErrorLog ${APACHE_LOG_DIR}/error.log

CustomLog ${APACHE_LOG_DIR}/access.log combined

</ VirtualHost>

Файл haproxy.conf (отражено только необходимое изменение):

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

Внимание! Необходимо соблюдать кодировку символов, регистр

файлов и каталогов, установленных в ОС Linux.

18Приложение 3

Включение режима собственной авторизации ВНИМАНИЕ! В качестве

примера будет использована тестовая конфигурация для пользователя SQL

Postgres cons и БД consdb.

Для включения режима собственной авторизации необходимо:

1.

2.

3.

4.

5.

Установить SQL Postgres

Добавить БД consdb

Добавить пользователя cons и права для работы с БД consdb.

Скорректировать файл online.ini

Перегрузить службу и пул приложения.

В БД SQL Postgres для создания набора таблиц необходимо выполнить

скрипт из комплекта поставки postgres_consdb_tpl_upd.sql.

$ sudo -u cons psql -d consdb -f "postgres_consdb_tpl_upd.sql" -L logfile.log

если все выполнилось без ошибок, то следует проверить выборку из одной

таблицы командой:

$ sudo -u cons psql -d consdb --c="select * from users;" -L logfile_cmd.log

По окончанию вывода, необходимо нажать клавишу q.

Скорректировать файл online.ini (отражено только необходимое изменение):

UserDataInterface = 1

UseQueryHistory = 1

ForceCustomAuth = 1

AdminEmail =

SMTPServer =

SMTPPort = 25

SMTPLogin =

SMTPPwd =

;(default = 0) 0/1 выкл/вкл авторизацию

;(default = 0) 0/1 выключить/включить использование

Истории поисков

; (default = 0) 0/1 выкл/вкл режим Cобственной

авторизации

; e-mail администратора

; адрес почтового сервера для исходящих сообщений

; порт для сервера исходящих сообщений (default = 25)

; логин для сервера исходящих сообщений

; пароль для сервера исходящих собщений

UsersDBPath = "Driver={PostgreSQL ANSI};

database=consdb;server=127.0.0.1;port=5432;uid=cons;pwd=123456"

После изменений значений параметров для работы авторизации необходимо

перезапустить службу conssrv2 и пул приложений.

Остановите пул приложения и службу:

$ sudo systemctl stop online-pool.target

$ sudo systemctl stop conssrv2.service

Запустите пул приложений:

$ sudo systemctl start online-pool.target

19Приложение 4

Включение режима доменной авторизации

ВНИМАНИЕ! В качестве примера будет использована тестовая конфигурация для

пользователя consultant-ldap и группы consultant-ldap-group. Доменное имя

Active Directory domain.local. Полное имя сервера с ресурсом Интранет Версии:

server-name.website.ru. Имена можно заменить на любые, соответствующие

настройкам Ваших сети. Необходимые условия для реализации:

готовый домен, для примера: DOMAIN.LOCAL;

готовый адрес сайта, для примера: website.ru

имя сервера с ресурсом ИВ, для примера: server-name

доступ к серверу домена по протоколу LDAP;

права root для Linux сервера с ИВ;

права Администратора для Windows сервера AD

Для включения режима доменной авторизации необходимо:

1. Добавить поддержку протокола аутентификации для сервера server-name.

2. Добавить поддержку доменной авторизации в web-сервере apache на

сервере server-name

3. Установить связь с контролером домена пользователем consultant-ldap

для сервера server-name.website.ru

4. Добавить пользователей в группу доступа consultant-ldap-group

5. Скорректировать файл online.ini

6. Перегрузить службу и пул приложения.

С корректировать файл online.ini (отражено только необходимое изменение):

UserDataInterface = 1

UseQueryHistory = 1

ForceCustomAuth = 0

;(default = 0) 0/1 выкл/вкл авторизацию

;(default = 0) 0/1 выключить/включить использование

Истории поисков

; (default = 0) 0/1 выкл/вкл режим Cобственной

авторизации

После изменений значений параметров для работы авторизации необходимо

перезапустить службу conssrv2 и пул приложений.

После изменений значений параметров для работы авторизации необходимо

перезапустить службу conssrv2 и пул приложений.

Остановите пул приложения и службу:

$ sudo systemctl stop online-pool.target

$ sudo systemctl stop conssrv2.service

Запустите пул приложений:

$ sudo systemctl start online-pool.target

20Приложение 5

Добавление публичного ключа для Astra Linux SE 1.6

Для добавления публичного ключа требуются права суперпользователя (root).

Вариант 1:

1. Скопировать предоставленную папку /cons_pub_key на ПК

2. Перейти в скопированную папку /cons_pub_key

3. Запустить скрипт:

$ sudo ./add-conskey.sh

4. Перезапустить Операционную систему.

Вариант 2 :

1. В каталог /etc/digsig/keys необходимо скопировать публичный ключ

consultant-plus_pub.key (идет в комплекте с дистрибутивом).

2. Внести изменения в файл /etc/digsig/digsig_initramfs.conf:

2.1 Открыть файл:

$ sudo mcedit /etc/digsig/digsig_initramfs.conf

2.2 Внести изменения:

 DIGSIG_ENFORCE=1

 DIGSIG_LOAD_KEYS=1

2.3 Сохранить изменения и выйти.

3. Выполнить команду:

$ sudo update-initramfs -u -k all

4. Перезапустить операционную систему.

21Приложение 6

Минимальные знания необходимы для сопровождения ПНВ(НВ) ИВ Linux

версии.

 Просмотр файловой структуры. Понимание файловой структуры Linux, в

том числе:

 / – корневой главный каталог

 /home – каталог с папками всех пользователей

 ~ – домашняя папка /home/user_name

 /mnt (mount) – каталог монтирование (подключения) носителей

 /media - съемные носители

 /usr - (user applications) Программы пользователя

 /usr/local - Файлы пользователя

 /bin - (binaries) бинарные файлы пользователя

 /etc - (etcetera) конфигурационные файлы

 Подключения и отключение внешних носителей РУСБ.10015-01 95 01-1

раздел 3.3.2.1.

Установка и просмотр Символических и Жестких ссылок.

Копирование и изменения прав для файлов, каталогов, в том числе

рекурсивно – РУСБ.10015-01 97 01-1 раздел 3.3.

Запуск программ и пакетов. Удаление программ и пакетов.

Просмотр запущенных программ и установленных пакетов.

Просмотр и остановка запущенных процессов.

      1. -pool.target в параметре Wants секции [Unit] указать нужное количество запускаемых обработчиков в формате online-worker@ПОРТ.service. Для каждого обработчика нужно указать свой номер порта, который он будет использовать. В примере приведена настройка запуска двух параллельных процессов на портах 8006 и 8007:

        Блок кода
        [Unit]
        Wants=conssrv2.service online-worker@8006.service online-worker@8007.service


    1. Исправить права доступа к юнитам:

      Command

      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


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

      Command
      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


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

      Command
      sudo systemctl daemon-reload


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

      Command
      sudo systemctl enable online-pool.target


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

      Command
      sudo systemctl start online-pool.target


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

      Command
      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

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

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

        Блок кода
        AstraMode off


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

        Command
        sudo a2enmod proxy proxy_balancer proxy_http


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

        Command
        sudo systemctl restart apache2


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

      Блок кода
      Listen 8080


    9. Настроить пул портов, используемых приложением ИВ. Для этого в файле /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">


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

      Command
      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


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

      Command
      sudo apache2ctl -t

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

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

      Command
      ps aux | grep online.cgi

      Если сервисы остановились, то перезапустить их:

      Command
      sudo systemctl daemon-reload
      sudo systemctl restart online-pool.target

      Если сервисы работают корректно, то перезапустить apache2:

      Command
      sudo systemctl restart apache2


  1. Настроить балансировщик для распределения нагрузки. Для распределения нагрузки используется прокси-сервер 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:

      Command
      sudo systemctl restart haproxy


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

      Command
      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. Остановить пул приложений командой:

      Command
      sudo systemctl stop online-pool.target


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

      Command
      sudo systemctl start online-pool.target


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

      Command
      sudo systemctl stop conssrv2.service


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

      Command
      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

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

Command
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
22