Данная статья применима к:
- Astra Linux Special Edition РУСБ.10015-01 (очередное обновление 1.7)
Аннотация
Данная статья содержит описание последовательности действий для установки Интранет-версии СПС КонсультантПлюс (далее - Консультант+) на ОС Astra Linux Special Edition РУСБ.10015-01. Для установки использовался предоставленный разработчиками Консультант+ комплект ПО.
Установка
В качестве примера будет рассмотрена установка Консультант+ для пользователя consultant (это имя принято в настройках Консультатнт+ по умолчанию). Предполагается, что установка выполняется администратором системы, имеющим привилегии суперпользователя (для Astra Linux Special Edition - также имеющим высокий уровень целостности). Архив для установки загружен администратором в подкаталог Загрузки домашнего каталога.
Создать пользователя для тестирования можно командой:
sudo useradd -m consultantСкопировать установочный комплект в домашний каталог пользователя :
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 с ключом --adm:
sudo ./licons --admПрограмма выведет в консоль версию сборки, копирайт, каталог с ИБ и каталогзапуска llicons. При необходимости программа построит общие словари. Пример полученной информации при запуске: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 ЕстьУстановить права доступа к файлам для информационной базы OFFLINE:
sudo chown -R user:user /home/user/OFFLINE/
sudo chmod -R 775 /home/user/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, имя которого можно заменить на любое другое. При замене пользователя или каталогов необходимоскорректировать и привести пути в конфигурационных файлах в соответствие с теми, которые будут созданы или изменены.Имена файлов и каталогов в путях регистрозависимы!
Пример необходимых значений и файлов см. Приложение 2.- В файле /home/consultant/ONLINE/cons/SYSTEM/conssrv2.service проверьте и скорректируйте параметры:
WorkingDirectory=/home/consultant/ONLINE/cons/SYSTEM
ExecStart=/home/consultant/ONLINE/cons/SYSTEM/conssrv2
User=consultant
Group=consultant - Создать символическую ссылку на этот файл в каталоге /etc/systemd/system:
sudo ln -s /home/consultant/ONLINE/cons/SYSTEM/conssrv2.service /etc/systemd/system - В файле /home/consultant/ONLINE/cons/SYSTEM/online-worker@.ser vice проверьте и скорректируйте параметры:
WorkingDirectory=/home/consultant/ONLINE/cons/TEMP/CONSCACHE
ExecStart=/home/consultant/ONLINE/cons/CGI/online.cgi --port %I --conssrv standalone
User=consultant
Group=consultant - Создайть символическую ссылку на этот файл в каталоге /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
Корректный результат:
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
Если процессы не запустились, нужно внимательно проверить права на папки и файлы для вашего пользователя, а также пути во всех конфигурационных файлах (следите за регистром). - Настроить 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
- Активировать необходимые модули 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">
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> - Скопировать файл /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
Корректный результат выполнения команды, не содержит сообщений об ошибках:
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 - Проверить, что все нужные сервисы по-прежнему запущены:
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
- В файле /home/consultant/ONLINE/cons/SYSTEM/conssrv2.service проверьте и скорректируйте параметры:
- Настроить балансировщик для распределения нагрузки:Для распределения нагрузки используется прокси-сервер haproxy. Настройка осуществляется в файле /etc/haproxy/haproxy.cfg.
- Добавить параметры балансировки. Это можно выполнить в редакторе,для этого выполняем команду:
sudo mcedit /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
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
- Добавить параметры балансировки. Это можно выполнить в редакторе,для этого выполняем команду:
Обновление ИВ на новую версию
- Для замены модуля приложения 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