Данная статья применима к:
- Astra Linux Special Edition РУСБ.10015-01 (очередное обновление 1.7)
Аннотация
Данная статья содержит описание последовательности действий для установки Интранет-версии СПС КонсультантПлюс (далее - Консультант+) на ОС Astra Linux. Для установки использовался предоставленный разработчиками Консультант+ комплект ПО. В качестве примера будет рассмотрена установка Консультант+ для пользователя consultant (это имя принято в настройках Консультант+ по умолчанию). Предполагается, что установка выполняется администратором системы, имеющим привилегии суперпользователя (для Astra Linux Special Edition - также имеющим высокий уровень целостности). Архив для установки загружен администратором в подкаталог Загрузки домашнего каталога.
Установка
Далее предполагается, что установочный комплект файлов Консультант+ скопирован (распакован) в подкаталог Загрузки домашнего каталога пользователя, выполняющего установку.
Создать пользователя для тестирования командой:
sudo useradd -m consultantСкопировать подкаталог OFFLINE установочного комплекта в домашний каталог пользователя:
sudo cp - fR Загрузки/OFFLINE/CONSBASE /home/consultant/OFFLINE/Если ОС работает в режиме Защищённой Программной Среды (ЗПС), то установить публичный ключ для программ КонсультантПлюс:
Скопировать публичный ключ из подкаталога 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
Выполнить регистрацию приложения КонсультантПлюс:
Сформировать запрос на регистрацию:
cd /home/consultant/OFFLINE/CONSBASE
sudo ./licons --regСформированный запрос будет размещен в подкаталоге SEND (файл с расширением *.QR);
Сформированный запрос передать для обработки в компанию "КонсультантПлюс" и получить файлы с кодом ответа и расширением *.AR;
Полученные файлы скопировать в подкаталог RECEIVE, и повторно выполнить команду регистрации:
cd /home/consultant/OFFLINE/CONSBASE
sudo ./licons --regПри выполнении команды будет выдана информация о регистрации информационной базы:
Licons tool 4021.00.20.534713 Copyright (C) КонсультантПлюс 1992-2021 Название системы Номер Регистрация ----------------------------------------------------------- Консультант Бюджетные организации 1030387 Есть
Инициализировать комплект командой licons с ключом --adm:
sudo ./licons --admПрограмма выведет в консоль версию сборки, копирайт, каталог с ИБ и каталог запуска llicons. При необходимости программа построит общие словари. Пример полученной информации при запуске:Licons tool 4020.00.00.443440 Copyright (C) ConsultantPlus 2020. All rights reserved. BASE path: /home/consultant/OFFLINE/CONSBASE/BASE/ pwd: /home/consultant ---------------------------------------------------------------- -------------- Название системы Номер Регистрация ---------------------------------------------------------------- -------------- КонсультантПлюс: Версия Проф 51113 Есть
Установить права доступа к файлам для информационной базы OFFLINE:
sudo chown -R user:user /home/consultant/OFFLINE/
sudo chmod -R 775 /home/consultant/OFFLINE/CONSBASE/Установить пакеты Astra Linux для работы с Интранет-версией (необходимо подключить в качестве репозитория основной диск и диск с актуальным оперативным обновлением):
Web-сервер apache2 и сопутствующие пакеты:
sudo apt install libpng16-16 librsvg2-2 apache2Балансировщик нагрузки:
sudo apt install haproxyПакет шрифтов (после установки пакета - выполняется обновление кэша шрифтов):
sudo apt install fonts-dejavusudo fc-cache -r -f -vПакет для подключении режима авторизации в ИВ:
sudo apt install odbc-postgresql
Установить Интранет-версию:
Скопировать файлы:
sudo cp -fR ~/Загрузки/ONLINE/cons /home/consultant/ONLINE/Проверить и скорректировать файл START.KEY, в котором указан каталог с кэшем для ИВ:
echo --CACHEDIR=/home/consultant/ONLINE/cons/TEMP | sudo tee/home/consultant/ONLINE/cons/CGI/START.KEYСинхронизировать и настроить START.KEY для обслуживания кэша ИВ припополнении оффлайн ИБ:
cp -fR /home/consultant/ONLINE/cons/CGI/START.KEY /home/consultant/OFFLINE/CONSBASE/Проверить и скорректировать в файле /home/consultant/ONLINE/cons/CGI/BASE.DIR путь до оффлайн ИБ в текстовом формате:
echo /home/consultant/OFFLINE/CONSBASE/ | sudo tee /home/consultant/ONLINE/cons/CGI/BASE.DIRСоздать в каталоге /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/
Настроить интранет-версию:
В качестве примера будет использована тестовая конфигурация для пользователя consultant, имя которого можно заменить на любое другое. При замене пользователя или каталогов необходимоскорректировать и привести пути в конфигурационных файлах в соответствие с теми, которые будут созданы или изменены.Имена файлов и каталогов в путях регистрозависимы!Проверить параметры в следующих файлах:
- Файл /home/consultant/ONLINE/cons/SYSTEM/conssrv2.service:
Создать символическую ссылку на этот файл в каталоге /etc/systemd/system:
sudo ln -s /home/consultant/ONLINE/cons/SYSTEM/conssrv2.service /etc/systemd/system- Файл /home/consultant/ONLINE/cons/SYSTEM/online-worker@.service:
Создайть символическую ссылку на этот файл в каталоге /etc/systemd/system:
sudo ln -s /home/consultant/ONLINE/cons/SYSTEM/online-worker@.service /etc/systemd/systemВ файле /home/consultant/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
Создайть символическую ссылку на этот файл в каталоге /etc/systemd/system:
sudo ln -s /home/consultant/ONLINE/cons/SYSTEM/online-pool.target /etc/systemd/systemПерезапустить сервис systemd командой:
sudo systemctl daemon-reloadЗапустить пул обработчиков командой:
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 выполнив следующую команду:
sudo a2enmod proxy proxy_balancer proxy_httpПосле активации модулей перезапустить apache2:
sudo systemctl restart apache2Отключить авторизацию Apache2 (только для Astra Linux Special Edition): в файле /etc/apache2/apache2.conf раскомментировать параметр AstraMode и изменить его значение на off:
AstraMode off
Настроить основной порт ИВ для «прослушивания» и открытия пула приложений ИВ. Для этого в файле /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
Диагностика работы сервисов выполняется командами:
sudo systemctl status online-pool.target
sudo systemctl status online-worker@800*
sudo systemctl status apache2.service
sudo systemctl status haproxy