Содержание
Для оперативного решения возникших вопросов по работе Корпоративного сервера Р7-Офис, при обращении в службу технической поддержки рекомендуем предоставить максимально полную информацию о текущей конфигурации и установке сервера. Пожалуйста, соберите и отправьте следующую информацию:
1. Версия операционной системы (ОС) и архитектура сервера
- Уточните точную версию ОС, на которой установлен Р7-Офис Корпоративный сервер.
- Укажите, в какой архитектуре развернут Корпоративный сервер:
- Single — все модули находятся на одном сервере.
- Middle — некоторые модули вынесены на отдельные серверы.
2. Режим установки
Сообщите, выполнялась ли установка в онлайн или оффлайн режиме.
3. Версии компонентов Р7-Офис
Выполните следующую команду в терминале, чтобы получить информацию о версиях всех установленных компонентов Р7-Офис:
rpm -qa | grep r7-office
или, если используется APT:
apt list | grep r7-office
4. Логи сервера совместной работы
Приложите актуальные логи, находящиеся в каталоге: /var/log/r7-office/
5. Статус системных служб
Выполните команду для получения статуса всех служб и сохраните вывод в файл «services.txt»:
systemctl -a > services.txt
6. Информация о сертификатах
- Сообщите, переводился ли портал на HTTPS?
- Уточните тип используемых SSL-сертификатов:
- Собственные сертификаты.
- Сертификаты, приобретённые у центра сертификации (например, Let’s Encrypt, GlobalSign и др.).
- Укажите тип сертификата, относится ли он к wildcard (например, «*.r7-office.ru»).
Автоматический сбор информации с помощью скрипта Get-info.sh
Для удобства сбора информации рекомендуем использовать автоматизированный скрипт Get-info.sh, который доступен по следующей ссылке. После запуска скрипта в директории «/tmp» будет создан архив со всей собранной информацией, который нужно отправить в службу поддержки для более детального анализа.
Важно: при использовании скрипта также укажите следующую информацию:
- Укажите, в какой архитектуре развернут Корпоративный сервер:
- Single — все модули находятся на одном сервере.
- Middle — некоторые модули вынесены на отдельные серверы.
- Сообщите, выполнялась ли установка в онлайн или оффлайн режиме.
- Уточните тип используемых SSL-сертификатов:
- Собственные сертификаты.
- Сертификаты, приобретённые у центра сертификации (например, Let’s Encrypt, GlobalSign и др.).
В процессе выполнения скрипта от вас потребуется указать следующие данные:
- Доменное имя и IP-адрес Корпоративного сервера.
- Имя пользователя базы данных.
- В случае отдельно установленного Сервера документов потребуется его домен и IP, а для отдельного сервера базы данных PostgreSQL потребуется IP, логин и пароль.
Если вам необходимо проверить настройки интеграции с Р7-Командами, скрипт автоматически установит пакет nmap (в случае отсутствия) для проверки доступности порта и вам потребуется ввести домен и IP-адрес Сервера управления Командами.
Описание скрипта Get-info.sh
Скрипт get-info.sh представляет собой диагностический инструмент на языке bash, предназначенный для сбора разнообразной системной информации и данных для различных продуктов Р7-Офис (Корпоративный сервер 2024, Корпоративный сервер 2019, Сервер документов, Команда). Скрипт использует утилиту whiptail для создания интерактивных диалоговых окон для взаимодействия с пользователем.
Основные функции скрипта:
- Предварительные проверки и установка зависимостей:
- Проверяет наличие утилиты tar.
- Проверяет наличие утилиты whiptail. Если whiptail не установлен, скрипт пытается установить его.
- Сбор общей системной информации:
- Собирает информацию об операционной системе (/etc/os-release, uname -a, /etc/astra_version, /etc/astra_license).
- Собирает технические характеристики сервера (CPU, память, дисковое пространство, сетевые интерфейсы) с использованием команд lscpu, free -h, df -h, ip addr.
- Собирает информацию об имени хоста (hostnamectl).
- Собирает информацию об открытых портах (ss -ntlup).
- Получает список всех служб в системе (systemctl -a).
- Копирует содержимое файла /etc/hosts.
- Вся собранная информация сохраняется во временный файл /tmp/info.txt.
- Сбор информации о версиях ПО Р7-Офис и логах:
- Определяет установленные пакеты Р7-Офис
- Сохраняет информацию о версиях во временный файл /tmp/r7-install.txt.
- Ищет и архивирует файлы логов из директории
/var/log/r7-office
, изменённые за последние 7 дней.
- Интерактивный выбор диагностируемого ПО:
- С помощью whiptail предлагает пользователю выбрать установленное ПО Р7-Офис:
- Корпоративный сервер 2024
- Корпоративный сервер 2019
- Сервер документов
- Команда
- Диагностика в зависимости от выбора ПО:
- Корпоративный сервер 2024:
- Запрашивает домен и IP-адрес Корпоративного сервера.
- Выполняет проверку доступности домена по HTTPS (curl -I -s —connect-timeout 10).
- Выполняет проверку SSL-сертификата домена (openssl s_client, openssl x509 -noout -dates).
- Проверяет, является ли сертификат wildcard.
- Предлагает выбрать конфигурацию сервера (Single, Middle, Интеграция с Р7-Командой).
- Single:
- Архивирует конфигурацию Nginx для Сервера документов (/etc/r7- office/documentserver/nginx/ds.conf). Запрашивает логин пользователя БД и выполняет SQL-запросы для получения настроек из таблиц MessageSettings и EmailServers локальной базы данных cddisk.
- Middle:
- Спрашивает, вынесен ли PostgreSQL и Сервер документов.
- Если PostgreSQL вынесен, запрашивает его IP, логин и пароль, создает временный файл .pgpass и выполняет SQL-запросы к удаленной БД.
- Если PostgreSQL не вынесен, запрашивает логин пользователя БД и выполняет SQL- запросы к локальной БД.
- Если Сервер документов вынесен, запрашивает его домен и IP, выполняет проверки доступности домена, SSL-сертификата и соответствия домена IP.
- Если Сервер документов не вынесен, архивирует локальную конфигурацию Nginx для Сервера документов.
- Интеграция с Р7-Командой:
- Выполняет проверку использования RSA шифрования для сертификата Корпоративного сервера.
- Проверяет наличие пользователя ‘team’ в RabbitMQ.
- Устанавливает nmap при необходимости и проверяет доступность порта 5672 на IP Корпоративного сервера.
- Ищет сертификат .pfx в
/opt/r7-office/Api
, проверяет его наличие в appsettings.json, срок действия, отсутствие пароля и права доступа. - Запрашивает домен и IP сервера Управления Командами и выполняет проверки доступности домена, SSL- сертификата и соответствия домена IP.
- Интеграция с Р7-Командой:
- Корпоративный сервер 2019:
- Архивирует логи из
/var/log/r7-office
(последние 7 дней). - Предлагает выбрать используемый протокол (HTTPS/HTTP).
- HTTPS:
- Запрашивает домен и IP Корпоративного сервера, выполняет проверки доступности домена и SSL-сертификата. Спрашивает, вынесен ли Сервер документов. Если вынесен, запрашивает его домен и IP, выполняет проверки доступности домена, SSL-сертификата и соответствия домена IP. Если не вынесен, архивирует локальную конфигурацию Nginx для Сервера документов.
- HTTP:
- Запрашивает IP Корпоративного сервера, выполняет проверку доступности по HTTP (curl -I -s —connect-timeout 10). Спрашивает, вынесен ли Сервер документов. Если вынесен, запрашивает его IP и выполняет проверку доступности по HTTP. Если не вынесен, архивирует локальную конфигурацию Nginx для Сервера документов.
- Архивирует логи из
- Сервер документов:
- Архивирует логи из
/var/log/r7-office
(последние 7 дней). - Предлагает выбрать используемый протокол (HTTPS/HTTP).
- HTTPS:
- Запрашивает домен и IP Сервера документов, выполняет проверки доступности домена и SSL-сертификата. Запрашивает домен и IP Корпоративного сервера, выполняет проверки доступности домена и соответствия домена IP. Архивирует локальную конфигурацию Nginx для Сервера документов.
- HTTP:
- Запрашивает IP Сервера документов, выполняет проверку доступности по HTTP. Запрашивает IP Корпоративного сервера, выполняет проверку доступности по HTTP. Архивирует локальную конфигурацию Nginx для Сервера документов.
- Архивирует логи из
- Команда:
- Собирает версию Команды из /root/.team/version.
- Извлекает настройки подключения к RabbitMQ (hostname, port, username, password) из /opt/team/config_server/configs/addressbook-production.properties.
- Запрашивает домен и IP сервера Управления Командами, выполняет проверки доступности домена, SSL-сертификата, соответствия домена IP и наличия соответствия в /etc/hosts.
- Запрашивает домен и IP Корпоративного сервера, выполняет проверки доступности домена, соответствия домена IP, использования RSA шифрования для сертификата и соответствия IP из конфигурационного файла (r7disk.sync.rabbit-host).
- Устанавливает nmap при необходимости и проверяет доступность порта RabbitMQ (порт и хост из конфигурации Команды).
- Выполняет программную проверку подключения к RabbitMQ, используя Node.js и библиотеку amqplib (при условии наличия установленной библиотеки по указанному пути).
- Копирует файл конфигурации Команды /root/.team/config, маскируя чувствительные данные (пароли, ключи) перед добавлением в архив.
- Архивирование и очистка:
- Все собранные временные файлы (/tmp/info.txt, /tmp/services.txt, /tmp/r7-install.txt, /tmp/config) добавляются в tar архив.
- Архив сжимается с помощью gzip.
- Временные файлы удаляются.
- Имя итогового архива формируется как /tmp/log_ДДММГГГГ_ЧЧММСС.tar.gz.
- Скрипт выводит сообщение whiptail с указанием пути к созданному архиву.
Скрипт активно использует whiptail для отображения сообщений о ходе выполнения и результатах проверок пользователю в интерактивном режиме. Все выводимые сообщения также дублируются в файл /tmp/info.txt, который затем добавляется в итоговый архив.