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