Содержание
1. Подготовка
Подготовьте файлы сертификата, ключа к сертификату и файл лицензии, запомните их расположение.
При установленном firewalld настройте сетевую фильтрацию: должны быть открыты порты 80/tcp, 443/tcp, 8443/tcp, а также порты smtp/smtps и imap/imaps.
На CentOS-подобных системах, таких как RedOS, AstraLinux и других, отключите SELinux и удалите предустановленный postfix:
- В файле
/etc/selinux/config
укажите SELINUX=disabled для отключения SELinux при загрузке системы. - Выполните в командной строке:
setenforce 0
- Удалите предустановленный MTA-сервер postfix:
dnf remove postfix #yum remove postfix
Для систем AstraLinux Voronezh/Smolensk деактивируйте защиту службы systemd для корректной установки службы Docker согласно официальной документации:
https://wiki.astralinux.ru/
Добавьте А-записи для имен сайтов и почтового сервера в DNS-сервер.
Если почтовый сервер будет выполнять отправку писем на сторонний почтовый сервер, то в глобальном DNS-сервере необходимы MX/PTR/SPF записи для почтового сервера.
Внимание! Отсутствие или неправильная настройка DNS-записей почтового сервера приводит к блокировке приема писем от вашего сервера, а также включению вашего IP/DNS-имени в спам-списки RBL/SBL/DBL/DNSBL
Предупреждение: Среда контейнеризации Docker работает только на глобальных DNS-именах
Среда контейнеризации не поддерживает локальные DNS-записи, указанные в /etc/hosts
.
Согласно официальной документации:
https://docs.docker.com/engine/network/#dns-servicesнеобходимо использовать глобальные 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
Примеры сайтов:
- 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-имя почтового сервера
2. Распаковка архива
Скачайте архив в папку /tmp
и распакуйте в папку /opt
cd /tmp #Online release wget https://download.r7-office.ru/disk/dockercompose/r7-office-docker-installer-online.zip #Offline release #wget https://download.r7-office.ru/disk/dockercompose/r7-office-docker-installer-offline.zip unzip r7-office-docker-*.zip -d /opt/
При наличии файла лицензии скопировать файл в путь:
cp [path]/license.lic /opt/r7-office-docker/license/
3. Установка
3.1 Запуск установщика
Перейдите в папку с распакованным архивом и запустите установщик
cd /opt/r7-office-docker/ ./installer
3.2 Установка whiptail
Если не установлен Whiptail, установщик предложит установить его, введите «Y» или «Yes»
3.3 Старт установки
Выберите пункт установка/обновление
3.4 Выбор типа установки
Выберите расширенную установку
3.5 Установка среды контейнеризации
Если среда контейнеризации Docker и плагин Docker Compose не установлены, установщик предложит установить
Docker и Docker Compose установлены.
3.6 Сервер документов: установка настроек RabbitMQ для сервера документов
Укажите пользователя RabbitMQ для сервера документов
Впишите свой пароль для RabbitMQ сервера документов
Повторный проверочный ввод пароля
3.7 Определение домена основного домена для Сервера документов и Корпоративного сервера.
Укажите доменное имя, которое будет использоваться и для которого выпущен сертификат
3.8 Корпоративный сервер: установка префиксов FQDN для модулей Корпоративного сервера
Укажите имя базы данных для сервера документов
Укажите префикс для Р7-Диск
Укажите префикс для Р7-Почта
Укажите префикс для Р7-Контакты
Укажите префикс для Р7-Календарь
Укажите префикс для Р7-Проекты
Укажите префикс для Р7-Графика
3.9 Сервер документов: установка настроек PostgreSQL для сервера документов
Примечание: Используемое имя базы данных для сервера документов — по-умолчанию
Оставьте имя базы данных со значением по умолчанию
Укажите пользователя для PostgreSQL сервера документов
Введите ваш пароль для этого пользователя
Повторный проверочный ввод пароля
Укажите путь, где будет хранится БД сервера документов. Если директория не существует, она будет создана.
3.10 Сервер документов: запрос JWT-токена
Укажите JWT-токен для взаимодействия корпоративного сервера и сервера документов
Повторный проверочный ввод
3.11 Сервер документов: путь для хранения файлов сервера документов
Укажите путь для хранения файлов сервера документов. Если директория не существует, то она будет создана.
3.12 Сервер документов: установка сертификата SSL
Необходимо указать путь до расположения сертификата и ключа, например: /etc/ssl/
Предупреждение: Выбранный сертификат будет использован также и для Корпоративного сервера.
3.13 Корпоративный сервер: установка настроек для RabbitMQ Корпоративного сервера
Укажите пользователя RabbitMQ для Корпоративного сервера
Введите ваш пароль
Повторный проверочный ввод
3.14 Корпоративный сервер: установка настроек PostgreSQL для Корпоративного сервера
Примечание: Используемое имя базы данных для Корпоративного сервера — по-умолчанию
Оставьте имя базы данных PostgreSQL для Корпоративного сервера со значением по-умолчанию
Укажите имя пользователя PostgreSQL для Корпоративного сервера
Введите ваш пароль для этого пользователя
Повторный проверочный ввод
Укажите путь хранения этой базы данных. Если директория не существует, то она будет создана
3.15 Корпоративный сервер: хранение файлов служб Корпоративного сервера
Укажите путь для хранения файлов службы Filestorage. Если директория не существует, то она будет создана
Укажите путь для хранения логов. Если директория не существует, то она будет создана
Укажите путь для хранения индексных файлов службы поиска. Если директория не существует, то она будет создана
3.16 Почтовый сервер: настройки Почтового сервера
Укажите имя базы данных PostgreSQL почтового сервера
Укажите пользователя этой базы данных
Укажите пароль этого пользователя
Повторный проверочный ввод
Укажите путь хранения базы данных PostgreSQL для почтового сервера. Если директория не существует, то она будет создана
Укажите МХ запись для вашего почтового сервера
Укажите путь, где будут храниться письма. Если директория не существует, то она будет создана
Укажите путь хранения ключей OpenDKIM. Если директория не существует, то она будет создана
3.17 Завершение установки
После ввода параметров произойдет установка продуктов:
По окончании установки будет выведено дополнительное окно об успешности установки
3.18 Сбор лог-файлов установки
После завершения установки, можно зайти в пункт обслуживания и собрать лог-файлы для технической поддержки
Лог-файлы для техподдержки собраны
Расположение файлов будет указано в сообщении
4. Проверка установки
После завершения установки, можно проверить наличие запущенных контейнеров, введя команду
docker ps
5. Запуск
Пройдите по адресу, указанному при завершении установки
Учетные данные по-умолчанию:
Логин: superadmin
Пароль: superadmin
6. Подключение почтового сервера
В меню управление нажмите «список серверов»
Нажмите «Добавить сервер» и введите настройки вашего почтового сервера, указав ваш домен. Затем нажмите «Сохранить»
Адрес почтового сервера поддерживает как 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_password
docker exec mail-server /scripts/change_password_user.sh user@domain.ru uhfkdHGD53
- удаление пользователя пользователя: docker exec mail-server /scripts/delete_user.sh email
docker exec mail-server /scripts/delete_user.sh user@domain.ru
- изменение имени ящика: docker exec mail-server /scripts/change_email.sh old_email new_email
docker 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 email
docker 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_email
docker 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_alias
docker exec mail-server /scripts/create_alias_multy.sh support@domain.ru sup_tech@domain.ru
- удаление алиаса: docker exec mail-server /scripts/delete_alias.sh alias
docker exec mail-server /scripts/delete_alias.sh support@domain.ru
- поиск почтового ящика: docker exec mail-server /scripts/check_email.sh email
docker exec mail-server /scripts/check_email.sh user@domain.ru