Для оперативного решения возникших вопросов по работе Корпоративного сервера Р7-Офис, при обращении в службу технической поддержки рекомендуем предоставить максимально полную информацию о текущей конфигурации и установке сервера. Пожалуйста, соберите и отправьте следующую информацию:

1. Версия операционной системы (ОС) и архитектура сервера

  • Уточните точную версию ОС, на которой установлен Р7-Офис Корпоративный сервер.
  • Укажите, в какой архитектуре развернут Корпоративный сервер:
    • Single — все модули находятся на одном сервере.
    • Middle — некоторые модули вынесены на отдельные серверы.

2. Режим установки

Сообщите, выполнялась ли установка в онлайн или оффлайн режиме.

3. Версия Корпоративного сервера

Укажите установленную версию Корпоративного сервера. Чтобы узнать версию Корпоративного сервера 2024, добавьте «/version» к URL-адресу Диска, например: http://cddisk.local.ru/version

4. Версии компонентов Р7-Офис

Выполните следующую команду в терминале, чтобы получить информацию о версиях всех установленных компонентов Р7-Офис:

rpm -qa | grep r7-office

или, если используется APT:

apt list | grep r7-office

5. Логи сервера совместной работы

Приложите актуальные логи, находящиеся в каталоге: /var/log/r7-office/

6. Статус системных служб

Выполните команду для получения статуса всех служб и сохраните вывод в файл «services.txt»:

systemctl -a > services.txt

7. Информация о сертификатах

  • Сообщите, переводился ли портал на 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 для создания интерактивных диалоговых окон для взаимодействия с пользователем.

Основные функции скрипта:

  1. Предварительные проверки и установка зависимостей:
  • Проверяет наличие утилиты tar.
  • Проверяет наличие утилиты whiptail. Если whiptail не установлен, скрипт пытается установить его.
  1. Сбор общей системной информации:
  • Собирает информацию об операционной системе (/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.
  1. Сбор информации о версиях ПО Р7-Офис и логах:
  • Определяет установленные пакеты Р7-Офис
  • Сохраняет информацию о версиях во временный файл /tmp/r7-install.txt.
  • Ищет и архивирует файлы логов из директории /var/log/r7-office, изменённые за последние 7 дней.
  1. Интерактивный выбор диагностируемого ПО:
  • С помощью whiptail предлагает пользователю выбрать установленное ПО Р7-Офис:
    • Корпоративный сервер 2024
    • Корпоративный сервер 2019
    • Сервер документов
    • Команда
  1. Диагностика в зависимости от выбора ПО:
  • Корпоративный сервер 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.
  • Корпоративный сервер 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, маскируя чувствительные данные (пароли, ключи) перед добавлением в архив.
  1. Архивирование и очистка:
  • Все собранные временные файлы (/tmp/info.txt, /tmp/services.txt, /tmp/r7-install.txt, /tmp/config) добавляются в tar архив.
  • Архив сжимается с помощью gzip.
  • Временные файлы удаляются.
  • Имя итогового архива формируется как /tmp/log_ДДММГГГГ_ЧЧММСС.tar.gz.
  • Скрипт выводит сообщение whiptail с указанием пути к созданному архиву.

Скрипт активно использует whiptail для отображения сообщений о ходе выполнения и результатах проверок пользователю в интерактивном режиме. Все выводимые сообщения также дублируются в файл /tmp/info.txt, который затем добавляется в итоговый архив.

Была ли полезна статья?
Позвольте нам стать лучше