Продукты Р7
Корпоративный сервер 2024
Корпоративный сервер 2024
Сервер документов
Сервер документов
Редакторы
Редакторы
Корпоративный сервер 2019
Корпоративный сервер 2019
Графика
Графика
Команда
Команда
Мобильные редакторы
Мобильные редакторы
Облачный офис
Облачный офис
Почта
Почта
Органайзер
Органайзер
Сервер лицензирования
Дополнительно
Часто задаваемые вопросы
Разработчикам
Интеграции
Новые возможности

Установка Корпоративный сервер 2024 через инсталлятор в docker-compose (Архитектура для нагруженных систем)

Обновлено: 10.02.26

1. Подготовка

1.1. Схема взаимодействия контейнеров

1.2. Подготовка серверов для настройки

Подготовьте 9 серверов для развертывания. Расчет производительности для каждого сервера нужно проводить для каждого конкретного случая использования

В нашем случае будет:

Нода Назначение сервера IP-адрес
нода-1 Сервер документов 192.168.0.11
нода-2 Сервер RabbitMQ 192.168.0.12
нода-3 Сервер PostgreSQL 192.168.0.13
нода-4 Сервер SearchApi 192.168.0.14
нода-5 Серверы FileStorage и Registry 192.168.0.15
нода-6 Сервер Processing 192.168.0.16
нода-7 Сервер Draw 192.168.0.17
нода-8 Серверы Api и SsoApi 192.168.0.18
нода-9 Сервер FrontEnd 192.168.0.19

1.3. Настройки Python

На каждой ноде должен быть установлен Python версии не ниже 3.9.

Проверить версию можно с помощью следующей команды:

python3 --version

Пример вывода в терминале:

Python 3.11.2

1.4. Настройки firewall для каждой ноды

На каждой ноде обязательно должен быть установлен iptables для корректной работы Docker.

На firewall должны быть открыты порты:

Нода Открытые порты
нода-1 80, 443
нода-2 5672
нода-3 5432
нода-4 2664
нода-5 11580, 11581, 7777
нода-6
нода-7 3005
нода-8 38033, 38034
нода-9 80, 443

1.4.1. Пример настройки firewalld.service для ноды-1

Добавим порты https-443 и http-80:

firewall-cmd --permanent --add-service=http --add-service=https

Применим настройки:

firewall-cmd --reload

1.4.2. Пример настройки firewalld.service для ноды-5

Добавим порты https-443 и http-80:

firewall-cmd --permanent --add-port=11580/tcp --add-port=11581/tcp --add-port=7777/tcp

Применим настройки:

firewall-cmd --reload

1.5. Остальные настройки

На CentOS-подобных системах, таких как RedOS и других, отключите SELinux и удалите предустановленный postfix:

1. В файле /etc/selinux/config укажите SELINUX=disabled для отключения SELinux при загрузке системы.

2. Выполните в командной строке:

setenforce 0

3. Удалите предустановленный MTA-сервер postfix:

dnf remove postfix
#yum remove postfix

Для систем AstraLinux Voronezh/Smolensk деактивируйте защиту службы systemd для корректной установки службы Docker согласно официальной документации ↗.

Добавьте А-записи для имен сайтов и почтового сервера в DNS-сервер.

Если почтовый сервер будет выполнять отправку писем на сторонний почтовый сервер, то в глобальном DNS-сервере необходимы MX/PTR/SPF записи для почтового сервера.

Обратите внимание

Отсутствие или неправильная настройка DNS-записей почтового сервера приводит к блокировке приема писем от вашего сервера, а также включению вашего IP/DNS-имени в спам-списки RBL/SBL/DBL/DNSBL.

Важно

Среда контейнеризации Docker работает только на глобальных DNS-именах.

Среда контейнеризации не поддерживает локальные DNS-записи, указанные в /etc/hosts.

Согласно официальной документации ↗ Необходимо использовать глобальные DNS-записи.

А в случае использования внутреннего DNS-сервера требуется настройка демона Docker.

По этой причине контейнер Документ-сервера не может найти путь до Корпоративного сервера, в следствии чего редактирование документов работать не будет.

Также состояние системы показывает некорректную работу инсталляции.

Необходимо использовать глобальные DNS-имена или настроить внутренний dns-сервер и указать демону Docker новую конфигурацию DNS:

Отредактировать файл конфигурации Docker:

nano /etc/docker/daemon.json

Привести к виду параметры конфигурации:

{
...
"dns": ["УКАЗАТЬ IP-АДРЕСА DNS-СЕРВЕРОВ","192.168.xxx.xxx", "10.10.xxx.xxx", "xxx.xxx.xxx.xxx"],
"dns-search": ["domain.ru"]
...
}

Перезапустить docker:

systemctl restart docker

Подготовьте файлы сертификата, ключа к сертификату и файл лицензии, запомните их расположение.

Также скачайте архив с дистрибутивом. Вам потребуется скачать архив на каждый сервер (для всех нод используется одинаковый пакет инсталлятора).

Отключите SELinux на всех нодах и добавьте А-записи для имен сайтов в DNS-сервер.

Например *.domain.ru

Примеры сайтов:

  • admin.s7-office.site — сайт Р7-Управление;
  • disk.s7-office.site — сайт Р7-Диск;
  • mail.s7-office.site — сайт Р7-Почта;
  • contacts.s7-office.site — сайт Р7-Контакты;
  • calendar.s7-office.site — сайт Р7-Календарь;
  • projects.s7-office.site — сайт Р7-Проекты;
  • doc.s7-office.site — сайт Р7-Сервер документов;
  • draw.s7-office.site — сайт Р7-Графика;
  • mx.s7-office.site — fqdn-имя почтового сервер.
Обратите внимание

Для установки потребуется wildcard сертификат, содержащий полную цепочку (fullchain)

Например:

—-BEGIN CERTIFICATE——

(Your Primary SSL certificate: your_domain_name.crt)

——END CERTIFICATE——

——BEGIN CERTIFICATE——

(Your Intermediate certificate: DigiCertCA.crt)

——END CERTIFICATE——

——BEGIN CERTIFICATE——

(Your Root certificate: TrustedRoot.crt)

——END CERTIFICATE——

Где:

Основной Certificate — your_domain_name.crt

Промежуточный Certificate — DigiCertCA.crt

Корневой Certificate — TrustedRoot.crt

2. Распаковка архива на всех нодах

Обратите внимание

Выполняется на всех нодах.

Важно

Для установки потребуется 9 нод, на каждую ноду необходимо скачать инсталлятор.

Скачайте архив в папку /tmp и распакуйте в папку /opt:
Скачайте архив в папку /tmp и распакуйте в папку /opt:

cd /tmp

Для онлайн релиза:

wget https://download.r7-office.ru/disk/dockercompose/r7-office-docker-installer-2.0.0-15877-923-1.11.0-online.zip
Уточнение

MD5: E0CD83C4314A3C078789D4DE75234120

Для офлайн релиза:

wget https://download.r7-office.ru/disk/dockercompose/r7-office-docker-installer-2.0.0-15877-923-1.11.0-offline.zip
Уточнение

MD5: 6DE69CB5A7B1EA0B4B6B4B8F6D4DA3C9

Далее выполните команду:

unzip r7-office* -d /opt/

Установщик распакуется в папку:

/opt/r7-office-docker/
Уточнение

По желанию, измените название каталога /opt/r7-office-docker.

Копии сертификата и ключа (fullchain.crt, privkey.key) к сертификату расположите на нодах 1 и 8 и 9 в папке:

/opt/r7-office-docker/configs/ssl
Уточнение

По умолчанию название сертификата fullchain.crt и ключа privkey.key, рекомендуем оставить эти названия.

Файл лицензии расположите в папке на ноде 1:

/opt/r7-office-docker/license/

3. Установка

3.1. Запуск установщика

Перейдите в папку с распакованным архивом и запустите установщик:

Уточнение

Установка запускается одинаково для обеих нод.

cd /opt/r7-office-docker/

./installer

3.2. Установка whiptail и Docker (на всех нодах)

В процессе установки на каждой ноде будут повторятся вопросы об установке библиотеке whiptail и Docker.

Если не установлен Whiptail, установщик предложит установить его, введите «Y» или «Yes»:

Если не установлен Docker, установщик предложит установить его, для продолжения установки необходимо согласие, либо установите docker самостоятельно:

3.3. Старт установки

Обратите внимание

Выполняется на всех нодах.

Прочтите лицензионное соглашение, дальнейшее использование программы означает ваше согласие с ним.

Выберите пункт Корпоративный сервер 2024, Сервер документов и Почтовый сервер:

3.4. Выбор типа установки (Установка разнесенной архитектуры Р7 для нагруженных систем)

Обратите внимание

Выполняется на всех нодах.

Выберите «Установка разнесенной архитектуры Р7 для нагруженных систем» для просмотра лицензионного соглашения:

4. Установка на нода-1 (192.168.0.11)

4.1. Установка на ноде-1 сервисов Сервера документов

Выберите «Установка сервисов Сервера документов Р7»:

4.2. Настройка для RabbitMQ Сервера документов

Введите имя пользователя для RabbitMQ Сервера документов Р7:

Дважды введите пароль для этого пользователя (пароль для RabbitMQ может содержать только буквы и цифры, без спецсимволов):

4.3. Настройка FQDN и префикса

Укажите ваш FQDN для Сервера документов (будет совпадать с FQDN для Корпоративного сервера):

Укажите префикс для Сервера документов:

4.4. Установка настроек PostgreSQL для Сервера документов

Укажите имя БД для сервера документов:

Укажите пользователя для БД сервера документов:

Введите ваш пароль для этого пользователя дважды:

4.5. Расположение базы данных

Укажите путь, где будет хранится БД сервера документов. Если директория не существует, она будет создана:

4.6. Создание JWT-токена

Укажите JWT-секрет дважды для взаимодействия Корпоративного сервера и Сервера документов (потребуется вводить также на других нодах):

4.7. Каталог для хранения временных файлов сервера документов

Укажите путь для хранения временных файлов сервера документов. Если директория не существует, то она будет создана:

4.8. Каталог для хранения логов сервера документов

Укажите путь для хранения файлов логов Cервера документов. Если директория не существует, то она будет создана:

4.9. Установка сертификата SSL

Необходимо указать путь до расположения сертификата и ключа (имена могут быть любыми):


Далее будут представлены проверки ваших сайзингов с которыми вы можете согласиться либо отказаться от установки для изменения значений.

На этом действия на ноде-1 окончены. Будут установлены и запущены контейнеры ds-rabbitmq, ds-postgres, ds-redis, ds-frontend, ds-docserver.

После завершения установки по адресу https://doc.domain.ru вы должны увидеть окно приглашения «Сервер документов».

5. Установка на нода-2 (192.168.0.12)

5.1. Установка на ноде-2 сервиса CS-RabbitMQ для Корпоративного сервера

Выберите пункт «Установка сервисов CS-RabbitMQ»:

5.2. Установка настроек для RabbitMQ Корпоративного сервера

Укажите пользователя RabbitMQ для Корпоративного сервера (потребуется вводить также на других нодах):

Дважды введите пароль для этого пользователя (пароль для RabbitMQ может содержать только буквы и цифры, без спецсимволов, потребуется вводить также на других нодах):

На этом действия на ноде-2 окончены. Будет установлен и запущен контейнер сs-rabbitmq.

6. Установка на нода-3 (192.168.0.13)

6.1. Установка на ноде-3 сервиса CS-PostgreSQL для Корпоративного сервера

Выберите пункт «Установка сервисов CS-PostgreSQL»:

6.2. установка настроек для PostgreSQL Корпоративного сервера

Укажите FQDN для Корпоративного сервера (будет совпадать для Корпоративного сервера и Сервера документов):

Укажите все префиксы для FQDNю

Префикс Сервера документов:

Префикс модуля Диск Корпоративного сервера:

Префикс модуля Управления Корпоративного сервера:

Префикс Почтового модуля Корпоративного сервера:

Префикс модуля Контактов Корпоративного сервера:

Префикс модуля Календаря Корпоративного сервера:

Префикс модуля Проектов Корпоративного сервера:

Префикс модуля Графика Корпоративного сервера:

Префикс модуля Страницы:

Префикс модуля Формы:

6.3. Создание JWT-токена

Укажите JWT-секрет дважды для взаимодействия Корпоративного сервера и Сервера документов (указанный ранее для ноды-1):

6.4. Установка настроек PostgreSQL для Корпоративного сервера

Укажите имя БД Корпоративного сервера:

Укажите имя пользователя БД Корпоративного сервера (потребуется вводить также на других нодах):

Укажите пароль дважды для БД Корпоративного сервера (потребуется вводить также на других нодах).

6.5. Расположение базы данных.

Укажите путь, где будет хранится БД Корпоративного сервера. Если директория не существует, она будет создана:

6.6. Расположение сервиса Api.

Укажите IP-адрес сервиса Api (адрес ноды-8):

6.7. Создание токенов для Страниц, Форм и интеграции с Р7-Команда.

Сгенерируйте свои токены или используйте предложенные сгенерированные в окне, сохранятся в файле ./configs/tokens на текущей ноде.

Токен для модулей Страницы и Формы:


Токен для модуля интеграции с Р7 Команда:


На этом действия на ноде-3 окончены. Будет установлен и запущен контейнер сs-psql.

7. Установка на нода-4 (192.168.0.14)

7.1. Установка на ноде-4 сервиса CS-SearchApi для Корпоративного сервера Р7 (нода-4)

Выберите пункт «Установка сервисов CS-SearchApi»:

7.2. Каталог индексных файлов сервиса SearchApi Корпоративного сервера.

Укажите путь, где будут хранится индексные файлы Корпоративного сервера. Если директория не существует, она будет создана:

На этом действия на ноде-4 окончены. Будет установлен и запущен контейнер сs-search.

8. Установка на нода-5 (192.168.0.15)

8.1. Установка на ноде-5 сервисов CS-FileStorage и CS-Registry для Корпоративного сервера

Выберите пункт «Установка сервисов CS-FileStorage и CS-Registry»:

8.2. Адрес CS-FileStorage для Корпоративного сервера

Укажите ip-адрес текущей сервиса FileStorage (текущей ноды):

8.3. Каталог хранения файлов пользователей Корпоративного сервера

Укажите путь, где будут хранится файлы пользователей Корпоративного сервера. Если директория не существует, она будет создана:

8.4. Адрес сервиса CS-SearchApi

Укажите адрес сервиса SerachApi для Корпоративного сервера. Так как сервис на ноде-4, укажите ее адрес, в нашем случае 192.168.0.14:

На этом действия на ноде-5 окончены. Будут установлены и запущены контейнеры сs-filestorage, cs-registry.

9. Установка на нода-6 (192.168.0.16)

9.1. Установка на ноде-6 сервисов CS-Processing для Корпоративного сервера

Выберите пункт «Установка сервисов CS-Processing»:

9.2. Адрес сервиса RabbitMQ и доступ к нему

Укажите адрес сервиса RabbitMQ для Корпоративного сервера. Так как сервис на ноде-2, укажите ее адрес, в нашем случае 192.168.0.12:

Укажите пользователя RabbitMQ для Корпоративного сервера указанного ранее на ноде-2:

Дважды введите пароль для этого пользователя указанного ранее на ноде-2 (пароль для RabbitMQ может содержать только буквы и цифры, без спецсимволов):

9.3. Адрес сервиса CS-PostgreSQL и доступ к нему

Укажите адрес сервиса PostgreSQL для Корпоративного сервера. Так как сервис на ноде-3, укажите ее адрес, в нашем случае 192.168.0.13:

Укажите имя БД указанные ранее на ноде-3:

Укажите пользователя БД для Корпоративного сервера указанного ранее на ноде-3:

Дважды введите пароль для этого пользователя указанного ранее на ноде-3:

9.4. Адрес сервиса CS-FileStorage

Укажите адрес сервиса FileStorage для Корпоративного сервера. Так как сервис на ноде-5, укажите ее адрес, в нашем случае 192.168.0.15:

9.5. Адрес сервиса CS-SearchApi

Укажите адрес сервиса SerachApi для Корпоративного сервера. Так как сервис на ноде-4, укажите ее адрес, в нашем случае 192.168.0.14:

На этом действия на ноде-6 окончены. Будет установлен и запущен контейнер сs-registry.

10. Установка на нода-7 (192.168.0.17)

10.1. Установка на ноде-7 сервисов CS-Draw (Р7 Графика) для Корпоративного сервера

Выберите пункт «Установка сервисов CS-Draw»:

10.2. Настройки для сервиса CS-Draw (Р7 Графика) для Корпоративного сервера

Укажите FQDN для Корпоративного сервера (будет совпадать для Корпоративного сервера и Сервера документов):

10.3. Расположение сервиса Api

Укажите ip-адрес сервиса Api (адрес ноды-8):

На этом действия на ноде-7 окончены. Будет установлен и запущен контейнер сs-draw.

11. Установка на нода-8 (192.168.0.18)

11.1. Установка на ноде-8 сервисов CS-Api и CS-SsoApi для Корпоративного сервера

Выберите пункт «Установка сервисов CS-Api и CS-SsoApi»:

11.2. Адрес сервиса RabbitMQ и доступ к нему

Укажите адрес сервиса RabbitMQ для Корпоративного сервера. Так как сервис на ноде-2, укажите ее адрес, в нашем случае 192.168.0.12:

Укажите пользователя RabbitMQ для Корпоративного сервера указанного ранее на ноде-2:

Дважды введите пароль для этого пользователя указанного ранее на ноде-2 (пароль для RabbitMQ может содержать только буквы и цифры, без спецсимволов):

11.3. Настройки FQDN для сервиса CS-Api

Укажите FQDN для Корпоративного сервера (будет совпадать для Корпоративного сервера и Сервера документов):

Укажите префиксы для модулей Администрирования, Формы и Страницы Корпоративного сервера (по умолчанию admin, pages и forms):



11.4. Адрес сервиса CS-PostgreSQL и доступ к нему

Укажите адрес сервиса PostgreSQL для Корпоративного сервера. Так как сервис на ноде-3, укажите ее адрес, в нашем случае 192.168.0.13:

Укажите имя БД указанные ранее на ноде-3:

Укажите пользователя БД для Корпоративного сервера указанного ранее на ноде-3:

Дважды введите пароль для этого пользователя указанного ранее на ноде-3:

11.5. Ввод секретов сгенерированных ранее

Далее введите необходимые токены и секреты, сохранены на ноде-3 CS-Postgres в файле ./configs/tokens
Вы создавали их ранее в пункте 6.7:




11.6. Адрес сервиса CS-FileStorage

Укажите адрес сервиса FileStorage для Корпоративного сервера. Так как сервис на ноде-5, укажите ее адрес, в нашем случае 192.168.0.15:

11.7. Адрес сервиса CS-SearchApi

Укажите адрес сервиса SerachApi для Корпоративного сервера. Так как сервис на ноде-4, укажите ее адрес, в нашем случае 192.168.0.14:

11.8. Путь к сертификату и ключу

Укажите путь к фалу ключа и сертификата:


На этом действия на ноде-8 окончены. Будут установлены и запущены контейнеры сs-api, cs-sso.

12. Установка на нода-9 (192.168.0.19)

12.1. Установка на ноде-9 сервисs CS-Frontend для Корпоративного сервера

Выберите пункт «Установка сервисов CS-Frontend»:

12.2. установка настроек для Frontend Корпоративного сервера

Укажите FQDN для Корпоративного сервера (будет совпадать для Корпоративного сервера и Сервера документов):

Укажите все префиксы для FQDN.

Префикс Сервера документов:

Префикс модуля Диск Корпоративного сервера:

Префикс модуля Управления Корпоративного сервера:

Префикс Почтового модуля Корпоративного сервера:

Префикс модуля Контактов Корпоративного сервера:

Префикс модуля Календаря Корпоративного сервера:

Префикс модуля Проектов Корпоративного сервера:

Префикс модуля Графика Корпоративного сервера:

Префикс модуля Страницы Корпоративного сервера:

Префикс модуля Формы Корпоративного сервера:

12.3. Каталог для хранения логов сервиса CS-Frontend Корпоративного сервера

Укажите путь, где будут хранится файлы логов сервиса CS-Frontend Корпоративного сервера. Если директория не существует, она будет создана:

12.4. Адрес сервиса CS-Api

Укажите адрес сервиса Api для Корпоративного сервера. Так как сервис на ноде-8, укажите ее адрес, в нашем случае 192.168.0.18:

12.5. Установка сертификата SSL

Необходимо указать путь до расположения сертификата и ключа (имена могут быть любыми):


12.6. Адрес сервиса CS-Draw (Р7-Графика)

Укажите адрес сервиса CS-Draw (Р7-Графика) для Корпоративного сервера. Так как сервис на ноде-7, укажите ее адрес, в нашем случае 192.168.0.17:

На этом действия на ноде-9 окончены. Будет установлен и запущен контейнер сs-frontend.

12.7. Завершение установки

По окончании установки будет выведено дополнительное окно об успешности установки:

13. Логи

13.1. Сбор логов (на любой ноде)

После завершения установки, можно зайти в пункт обслуживания и собрать лог-файлы для технической поддержки:

Лог-файлы для техподдержки собраны:

Расположение файлов будет указано в сообщении.

14. Проверка установки (на любой ноде)

После завершения установки, можно проверить наличие запущенных контейнеров, введя  команду:

docker ps

После чего отобразиться список контейнеров запущенных на текущей ноде.

15. Запуск

Пройдите по адресу, указанному при завершении установки:

Уточнение

Учетные данные по умолчанию:

Логин: superadmin

Пароль: superadmin

 

Была ли эта статья полезной?

Поделитесь пожалуйста своим мнением

      В статье есть ошибкиРекомендации не помоглиТекст трудно понятьСодержание статьи не соответствует заголовкуДругое