1. Подготовка
Рекомендуемые требования к серверу: 12 CPU, 24 GB, SSD 100GB.
На CentOS-подобных системах, таких как RedOS и других, отключите SELinux и удалите предустановленный postfix:
- В файле
/etc/selinux/configукажите SELINUX=disabled для отключения SELinux при загрузке системы. - Выполните в командной строке:
setenforce 0
- Удалите предустановленный 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
На firewall должны быть открыты порты 443/9443/8443/7443, а также порты smtp и imap.
Отключите SELinux и добавите А-записи для имен сайтов в DNS-сервер
Примеры сайтов:
- admin.domain.ru — сайт Р7-Управление
- disk.domain.ru — сайт Р7-Диск
- mail.domain.ru — сайт Р7-Почта
- contacts.domain.ru — сайт Р7-Контакты
- calendar.domain.ru — сайт Р7-Календарь
- projects.domain.ru — сайт Р7-Проекты
- doc.domain.ru — сайт Р7-Сервер документов
- draw.domain.ru — сайт Р7-Графика
- pages.domain.ru — сайт Р7-Страницы
- forms.domain.ru — сайт Р7-Формы
- mx.domain.ru — 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. Распаковка архива
Скачайте архив в папку /tmp и распакуйте в папку /opt:
cd /tmp
Для онлайн релиза:
wget https://download.r7-office.ru/disk/dockercompose/r7-office-docker-installer-4.0.0-16449-1604-1.13.0-online.tar.gz
MD5: C052DDB347D6414C3DB8412B6FE38B4C
Для офлайн релиза:
wget https://download.r7-office.ru/disk/dockercompose/r7-office-docker-installer-4.0.0-16449-1604-1.13.0-offline.tar.gz
MD5: D2AC44ECB94978AE545AE8FDA3BE7400
Далее выполните команду:
tar -xvzf r7-office* -C /opt -p
Установщик распакуется в папку /opt/r7-office-docker/ (измените название каталога, по желанию, например: /opt/r7-office )
Копии сертификата и ключа к сертификату расположите в папке:
/opt/r7-office-docker/configs/ssl
по умолчание название сертификата fullchain.crt и ключа privkey.key, рекомендуем оставить эти названия
При наличии файла лицензии скопировать файл в путь:
cp [path]/license.lic /opt/r7-office-docker/license/
3. Установка
3.1. Запуск установщика
перейдите в папку с распакованным архивом и запустите установщик:
сd /opt/r7-office-docker/ ./installer
3.2. Установка whiptail
Если не установлен Whiptail, установщик предложит установить его, введите «Y» или «Yes»

3.3. Старт установки
Выберите пункт установки предварительно ознакомившись с лицензионным соглашением

3.4. Выбор типа установки
Выберите Простые установки всех продуктов Р7 Офис


3.5. Установка среды контейнеризации
Если среда контейнеризации Docker и плагин Docker Compose не установлены, установщик предложит установить

Docker и Docker Compose установлены.

3.6. Определение домена основного домена для Сервера документов и Корпоративного сервера.
Укажите доменное имя, которое будет использоваться и для которого выпущен сертификат

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

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

3.8. Запуск Р7-Команда
После завершения установки, необходимо зайти по адресу
https://team.domain.ru:9443/admin
и добавить лицензию.
логин-пароль-компания настраивается в файле:
cat /opt/r7-office-docker/configs_team/application.properties
- admin.org
- admin.login
- admin.password
без лицензии интеграция между Корпоративным сервером и Р7 Команда не заработает.
3.9. Сбор лог-файлов установки
После завершения установки, можно зайти в пункт обслуживания и собрать лог-файлы для технической поддержки




4. Проверка установки
После завершения установки, можно проверить наличие запущенных контейнеров, введя команду
docker ps
5. Запуск
Пройдите по адресу, указанному при завершении установки

Учетные данные по-умолчанию:
- Логин: superadmin
- Пароль: superadmin
6. Подключение почтового сервера
В меню сайта Р7-Управление нажмите «Список серверов»

Нажмите «добавить сервер» и введите настройки вашего почтового сервера, указав ваш домен. Затем нажмите «сохранить»

Адрес почтового сервера поддерживает как dns-имя, так и сетевое имя почтового сервера в контейнерной сети.
7. Работа с почтовыми ящиками
7.1. Настройка почтовых ящиков почтового сервера Р7 через интерфейс установщика
Выберите пункт «Обслуживание», затем пункт меню «Обслуживание почтового ящика»

Вы можете
- создать почтовый ящик
- сменить пароль почтового ящика
- удалить почтовый ящик

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

7.2. Терминальные команды для работы с почтовым сервером Р7
Вы можете использовать команды в терминале, в примерах в первой строке указан синтаксис команды, во второй — пример использования
- создание почтового ящика:
docker exec mail-server /scripts/create_user.sh new_email password
docker exec mail-server /scripts/create_user.sh user@domain.ru GHfker6453Kd
- изменение пароля почтового ящика:
docker exec mail-server /scripts/change_password_user.sh email new_passworddocker exec mail-server /scripts/change_password_user.sh user@domain.ru uhfkdHGD53
- удаление пользователя пользователя:
docker exec mail-server /scripts/delete_user.sh emaildocker exec mail-server /scripts/delete_user.sh user@domain.ru
- изменение имени ящика:
docker exec mail-server /scripts/change_email.sh old_email new_emaildocker exec mail-server /scripts/change_email.sh old_email_user@domain.ru new_email_user@domain.ru
- создание алиаса:
docker exec mail-server /scripts/create_alias.sh new_alias emaildocker exec mail-server /scripts/create_alias.sh support@domain.ru user@domain.ru
- создание алиасов для почтовых ящиков:
docker exec mail-server /scripts/create_alias_multy.sh new_alias list_emaildocker exec mail-server /scripts/create_alias_multy.sh support@domain.ru ivanovaa@example.ru,petrovaa@example.ru,sidorov@example.ru
- изменение имени алиаса:
docker exec mail-server /scripts/create_alias_multy.sh old_alias new_aliasdocker exec mail-server /scripts/create_alias_multy.sh support@domain.ru sup_tech@domain.ru
- удаление алиаса:
docker exec mail-server /scripts/delete_alias.sh aliasdocker exec mail-server /scripts/delete_alias.sh support@domain.ru
- поиск почтового ящика:
docker exec mail-server /scripts/check_email.sh emaildocker exec mail-server /scripts/check_email.sh user@domain.ru













