Данная статья применима к:
- 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-версии
Далее предполагается, что установочный комплект файлов Консультант+ скопирован (распакован) в подкаталог Загрузки домашнего каталога администратора, выполняющего установку.
Создать пользователя consultant и его домашний каталог (/home/consultant). Команда:
sudo useradd -m consultantСкопировать подкаталог OFFLINE установочного комплекта в домашний каталог пользователя:
sudo cp - fR Загрузки/OFFLINE /home/consultant/В результате операции копирования должна быть создана следующая структура каталогов:
/home/consultant/OFFLINE/CONSBASE/ ADM/ BASE/ DISTR/ RECEIVE/ SEND/ SYSTEM/ USERS/
Установить права доступа к файлам для информационной базы OFFLINE:
sudo chown -R user:user /home/consultant/OFFLINE/
sudo chmod -R 775 /home/consultant/OFFLINE/Если используется Astra Linux Special Edition и ОС должна работать в режиме Защищенной Программной Среды (ЗПС), то установить публичный ключ для программ КонсультантПлюс:
Скопировать публичный ключ из подкаталога 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Для применения изменений после установки публичного ключа перезагрузить ОС:
sudo systemctl reboot
Регистрация offline-версии
Выполнить регистрацию приложения КонсультантПлюс:
Сформировать запрос на регистрацию с помощью входящей в комплект поставки программы licons (представлена файлом с именем liconsXXXXXX, где XXXXXX - код из шести цифр. Программа далее для краткости обозначается именем licons):
sudo /home/consultant/OFFLINE/CONSBASE/licons --regСформированный запрос будет размещен в каталоге /home/consultant/OFFLINE/CONSBASE/SEND (файл с расширением *.QR);
Сформированный запрос передать для обработки в компанию "КонсультантПлюс" и получить файлы с кодом ответа и расширением *.AR;
Полученные файлы скопировать в подкаталог /home/consultant/OFFLINE/CONSBASE/RECEIVE, и повторно выполнить команду регистрации:
sudo /home/consultant/OFFLINE/CONSBASE/licons --regПри выполнении команды будет выдана информация о регистрации информационной базы:
Licons tool 4021.00.20.534713 Copyright (C) КонсультантПлюс 1992-2021 Название системы Номер Регистрация ----------------------------------------------------------- Консультант Бюджетные организации 1030387 Есть
Инициализировать комплект командой 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 Есть
Установка и настройка интранет-версии
Установить пакеты Astra Linux для работы с Интранет-версией (необходимо подключить в качестве репозитория основной диск и диск с актуальным оперативным обновлением):
Web-сервер apache2 и сопутствующие пакеты:
sudo apt install libpng16-16 librsvg2-2 apache2Балансировщик нагрузки:
sudo apt install haproxyПакет шрифтов:
sudo apt install fonts-dejavuпосле установки пакета шрифтов выполнить обновление кэша шрифтов:sudo fc-cache -r -f -vПакет для подключении режима авторизации в ИВ:
sudo apt install odbc-postgresql
Установить Интранет-версию:
Скопировать файлы:
sudo cp -fR ~/Загрузки/ONLINE /home/consultant/ONLINE/После копирования должна быть создана следующая структура каталогов:
/home/consultant/ONLINE/cons/ CGI/ help/ querylog/ static4020_00_20_483774/ SYSTEM/ TEMP/
Проверить и при необходимости скорректировать файл /home/consultant/ONLINE/cons/CGI/START.KEY, в котором указан каталог с кешем данных для интернет-версии:
--CACHEDIR=/home/consultant/ONLINE/cons/TEMP
Скопировать файл /home/consultant/ONLINE/cons/CGI/START.KEY для обслуживания кеша данных интернет-версии при пополнении оффлайн-базы данных:
cp -fR /home/consultant/ONLINE/cons/CGI/START.KEY /home/consultant/OFFLINE/CONSBASE/Проверить и при необходимсти скорректировать в файле /home/consultant/ONLINE/cons/CGI/BASE.DIR путь до оффлайн-информационной базы:
/home/consultant/OFFLINE/CONSBASE/
Создать в каталоге /home/consultant/ONLINE/cons/TEMP подкаталог CONSCACHE/RTFCACHE:
mkdir -p /home/consultant/ONLINE/cons/TEMP/CONSCACHE/RTFCACHEСоздать символическую ссылку на созданный каталог /home/consultant/ONLINE/cons/TEMP/CONSCACHE/RTFCACHE в каталоге с ресурсом cons:
sudo ln -s /home/consultant/ONLINE/cons/TEMP/CONSCACHE/RTFCACHE /home/consultant/ONLINE/cons/Установить необходимые для работы права доступа:
sudo chown -R consultant:consultant /home/consultant/
sudo chmod 775 -R /home/consultant/
Настроить интранет-версию:
- Проверить и при необходимости откорректировать параметры в файлах запуска служб Консультант+ (юнитах). Если используются принятые по умолчанию пользователь и пути к каталогам, то корректировка не требуется. Далее приведены стандартные настройки:
Файл /home/consultant/ONLINE/cons/SYSTEM/conssrv2.service:
Файл /home/consultant/ONLINE/cons/SYSTEM/online-worker@.service:
В файле /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
Исправить права доступа к юнитам:
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Создать символические ссылки на юниты в каталоге /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Перезагрузить службы systemd командой:
sudo systemctl daemon-reloadРазрешить автоматический запуск обработчиков после перезагрузки:
sudo systemctl enable online-pool.targetЗапустить пул обработчиков командой:
sudo systemctl start online-pool.targetУбедиться, что все нужные службы запустились. Команда для проверки:
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
Если процессы не запустились, то следует внимательно проверить права на папки и файлы для вашего пользователя, а также пути во всех конфигурационных файлах (следите за регистром);
- Настроить web-сервер apache2:
Отключить авторизацию Apache2 (только для Astra Linux Special Edition): в файле /etc/apache2/apache2.conf раскомментировать параметр AstraMode и изменить его значение на off:
AstraMode off
Активировать необходимые модули apache2 выполнив следующую команду:
sudo a2enmod proxy proxy_balancer proxy_httpПосле активации модулей перезапустить apache2:
sudo systemctl restart apache2
Настроить основной порт ИВ для «прослушивания» и открытия пула приложений ИВ. Для этого в файле /etc/apache2/ports.conf указать порт, на котором будет работать ваш ресурс в виде (в примере порт 8080):
Listen 8080
Настроить пул портов, используемых приложением ИВ. Для этого в файле /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">
Скопировать файл /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Проверить синтаксис файлов конфигурации apache2 выполнив команду:
sudo apache2ctl -tКорректный результат выполнения команды не содержит сообщений об ошибках;Убедиться, что все нужные службы по-прежнему запущены:
ps aux | grep online.cgiЕсли сервисы остановились, то перезапустить их:sudo systemctl daemon-reloadЕсли сервисы работают корректно, то перезапустить apache2:
sudo systemctl restart online-pool.targetsudo systemctl restart apache2
- Проверить и при необходимости откорректировать параметры в файлах запуска служб Консультант+ (юнитах). Если используются принятые по умолчанию пользователь и пути к каталогам, то корректировка не требуется. Далее приведены стандартные настройки:
- Настроить балансировщик для распределения нагрузки. Для распределения нагрузки используется прокси-сервер haproxy. Параметры настройки сервера haproxy находятся в файле /etc/haproxy/haproxy.cfg:
Добавить пул портов, используемых приложением ИВ:
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
Перезапустить службу haproxy:
sudo systemctl restart haproxyПроверить готовности интернет-версии:
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
Обновление на новую версию
- Для замены модуля приложения online.cgi:
Остановить пул приложений командой:
sudo systemctl stop online-pool.target- Заменить необходимые файлы (/home/consultant/ONLINE/CGI/online.cgi и файлы в каталоге /home/consultant/ONLINE/staticXXXX_XX_XX_XXXXXX);
Запустить пул приложений:
sudo systemctl start online-pool.target
- Для замены модуля службы conssrv2:
Оостановить пул приложений:
sudo systemctl stop conssrv2.service- Заменить обновляемые файлы (/home/consultant/ONLINE/SYSTEM/conssrv2) ;
Запустить службу:
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 status online-pool.target
systemctl status online-worker@800*
systemctl status apache2.service
systemctl status haproxy