Данная статья применима к:
- 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
Обновление ИВ на новую версию
- Для замены модуля приложения online.cgi:
- Остановить пул приложений командой:
sudo systemctl stop online-pool.target - Заменить необходимые файлы ИВ online.cgi и файлы в каталоге static XXXX_XX_XX_XXXXXX.
- Запустить пул приложений:
sudo systemctl start online-pool.target
- Остановить пул приложений командой:
- Для замены модуля службы conssrv2:
- Оостановить пул приложений:
sudo systemctl stop conssrv2.service - Заменить файлы;
- Запустить службу:
sudo systemctl start conssrv2.service
- Оостановить пул приложений:
Применение изменений в файле online.ini
Группу приложений online-pool.target необходимо перезагружать при изменении в файлах каталога CGI и SYSTEM:
- Остановите пул приложений командой:
sudo systemctl stop online-pool.target - Заменить необходимые файлы ИВ online.cgi и файлы в каталоге staticXXXX_XX_XX_XXXXXX;
- Запустить пул приложений:
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
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.
Запуск программ и пакетов. Удаление программ и пакетов.
Просмотр запущенных программ и установленных пакетов.
Просмотр и остановка запущенных процессов.
22