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

Установка Почтовый сервер 1.4 (docker-compose версия) в связке Postfix/Dovecot/PostgreSQL/API

Обновлено: 28.08.26

Инструкция актуальна для версии продукта: 1.4

1. Что понадобится

  • Сервер: ОС Linux;
  • Домен: ru;
  • Имя почтового сервера: example.ru;
  • IP сервера: 2.3.4.

В дальнейшем замените example.ru на свой домен, а mx1.example.ru на своё имя почтового сервера.

2. Настроить DNS

До установки желательно создать DNS-записи.

A-запись

Создайте:

mx1.example.ru → 1.2.3.4

То есть:

example.ru

└── mx1.example.ru → IP сервера

MX-запись

Для домена:

example.ru

создайте:

example.ru.    MX 10 mx1.example.ru.

Важно: mx1.example.ru должен иметь A-запись на IP сервера.

Настроить PTR

У провайдера/VPS-провайдера установите обратную DNS-запись:

1.2.3.4 → mx1.example.ru

Проверить можно:

dig -x 1.2.3.4

Результат должен содержать:

mx1.example.ru

Важно

Для почтового сервера PTR очень желательно настроить до начала отправки писем.

3. Установить Docker

Если Docker ещё не установлен:

apt update

Затем:

apt install -y docker.io docker-compose

Проверьте:

docker --version

и:

docker-compose --version

Например:

Docker version 26.x.x

docker-compose version 1.x.x

Также включим Docker при загрузке:

systemctl enable --now docker

Проверим:

systemctl status docker

Должно быть:

Active: active (running)

4. Создать каталоги R7 Mailserver

Создайте необходимые каталоги:

mkdir -p /opt/r7/mailserver/ssl

mkdir -p /opt/r7/mailserver/mail

mkdir -p /opt/r7/mailserver/logs

mkdir -p /opt/r7/postgresql/data

mkdir -p /opt/r7/postgresql/logs

В архиве R7 именно эти каталоги используются для хранения данных.

Теперь установите владельца почты:

chown 1100:1100 /opt/r7/mailserver/mail

Проверьте:

ls -ld /opt/r7/mailserver/mail

5. Подготовить SSL-сертификат

Для работы почтового сервера нужны два файла:

mail_cert.pem

mail_key.pem

Положить их нужно сюда:

/opt/r7/mailserver/ssl/

Если у вас Let’s Encrypt

Например:

/etc/letsencrypt/live/mx1.example.ru/fullchain.pem

/etc/letsencrypt/live/mx1.example.ru/privkey.pem

можно скопировать:

cp /etc/letsencrypt/live/mx1.example.ru/fullchain.pem \

   /opt/r7/mailserver/ssl/mail_cert.pem

и:

cp /etc/letsencrypt/live/mx1.example.ru/privkey.pem \

   /opt/r7/mailserver/ssl/mail_key.pem

6. Скачать архив R7 Mailserver

Можно скачать архив непосредственно на сервер:

cd /opt/r7

wget https://download.r7-office.ru/mailserver/mailserver-1.4.zip

7. Распаковать архив

Установите unzip:

apt install -y unzip

Распакуйте:

cd /opt/r7

unzip mailserver-1.4.zip

После этого появится каталог:

/opt/r7/mailserver-1.4/

Там должны быть:

  • .env
  • docker-compose.yml
  • init-database.sh
  • README.md

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

8. Настроить .env

Откройте файл:

nano .env

Сейчас там шаблон:

MY_HOSTNAME=mx1.your-domain.ru

MY_DOMAIN=your-domain.ru

PGSQL_PASSWORD=password

POSTGRES_PASSWORD=password

Например, если ваш домен example.ru, а сервер mx1.example.ru, сделайте:

MY_HOSTNAME=mx1.example.ru

MY_DOMAIN=example.ru

PGSQL_PASSWORD=СЛОЖНЫЙ_ПАРОЛЬ

POSTGRES_PASSWORD=ЕЩЕ_ОДИН_СЛОЖНЫЙ_ПАРОЛЬ
Уточнение

Не используйте эти пароли буквально — придумайте свои.

Если нужен Relay

В .env есть ещё:

#RELAY_DOMAINS=mx1.your-domain.ru

#RELAYHOST=[mx1.your-domain.ru]:25

Если relay вам не нужен, оставьте эти строки закомментированными.

9. Запустить почтовый сервер

Находясь в /opt/r7/mailserver-1.4/mailserver-compose-main, выполните:

docker-compose up -d

Docker начнёт скачивать необходимые образы, это может занять некоторое время.

10. Проверить контейнеры

Выполните:

docker ps

Должны появиться, примерно:

postgres-server

mail-server

opendkim

Все должны иметь статус:

Up

Например:

postgres-server   Up

mail-server       Up

opendkim          Up

11. Проверить открытые порты

R7 Mailserver из docker-compose.yml публикует следующие порты:

ПортНазначение
25SMTP
143IMAP
465SMTPS
587Submission
993IMAPS
8084API

Это непосредственно указано в Compose-файле из архива.

Проверить:

ss -lntp

Можно отдельно:

ss -lntp | grep -E ':25|:143|:465|:587|:993|:8084'

12. Создать первый почтовый ящик

После запуска R7 предоставляет скрипт:

/scripts/create_user.sh

Например, создаём user@example.ru с паролем StrongPassword123!

Команда:

docker exec mail-server /scripts/create_user.sh user@example.ru 'StrongPassword123!'

13. Настроить SPF

Для example.ru создайте TXT:

v=spf1 +a +mx -all

То есть DNS:

example.ru TXT "v=spf1 +a +mx -all"

14. Настроить DKIM

После запуска OpenDKIM получите публичный ключ:

docker exec -it opendkim cat /etc/opendkim/keys/example.ru/dkim.txt

Если домен другой, вместо example.ru используйте свой. Команда выдаст что-то вроде:

"v=DKIM1; k=rsa; " "p=MIGfMA0GCSq..."

В DNS нужно создать TXT-запись с соответствующим DKIM-значением.

Имя записи обычно будет связано с selector, который можно узнать из вывода:

docker exec opendkim find /etc/opendkim/keys -type f

15. Настроить DMARC

Создайте DNS TXT:

_dmarc.example.ru

со значением:

v=DMARC1; p=none; rua=mailto:admin@example.ru

На первом этапе p=none — безопасный вариант для мониторинга.

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

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

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