Статьи с тэгом :
Закрыть
История изменений
Закрыть
Справочный центр
Почтовый сервер для Docker

Установка Почтового сервера для Docker на локальном сервере

Почтовый серверv.1.6 История изменений Почтового сервера

Версия 1.6.25

Дата выпуска: 03.07.2017

Среда выполнения

  • OpenSSL обновлен до последней версии (1.0.2).

Версия 1.6.21

Дата выпуска: 26.04.2017

Среда выполнения

  • Исправлена ошибка, при которой интерфейс amavisd-new не мог быть запущен без правильно настроенного IPv6.

Версия 1.6.20

Дата выпуска: 13.12.2016

Настройки подключения

  • Добавлена страница в Настройки для интеграции Windows-версии Сервера совместной работы с Почтовым сервером.

Cкрипт установки

  • Устранено сообщение об ошибке, если не указан почтовый домен, - в этом случае происходит установка без Почтового сервера.

Версия 1.6.7

Дата выпуска: 22.06.2016

Рефакторинг кода

  • Удалена версия из папки iRedMail;
  • iRedMail дополнен коммитами из версии 0.9.2;
  • Удалены неиспользуемые пакеты из iRedMail;
  • Добавлена настройка SpamAssassin с начальными параметрами bayes_tokens.

Среда выполнения

  • Исправлено неправильное имя MySQL server в файле конфигурации;
  • Исправлена проблема с дублированием раздела конфигурации при запуске контейнера Docker;
  • Исправлена проблема с отправкой почты на адрес группы или адрес-псевдоним;
  • Исправлена проблема с API для запуска.

Ведение логов

  • Исправлено ведение логов при установке.

Сеть

  • Исправлена проблема с fail2ban и iptables при запуске Docker в сетевом режиме;
  • Исправлена проблема с Почтовым сервером на внешнем физическом сервере.

Версия 1.6.0

Дата выпуска: 09.03.2016

Настройки

  • Изменен дизайн страницы настроек Почтового сервера.

Версия 1.5.0

Дата выпуска: 20.04.2015

Почтовый сервер

  • Выпуск первой версии Почтового сервера для Docker.

Введение

Почтовый сервер - это полноценный почтовый сервер на базе пакета iRedMail. Это решение включает в себя следующие компоненты: Postfix, Dovecot, SpamAssassin, ClamAV, OpenDKIM, Fail2ban.

Интегрировав Почтовый сервер с Сервером совместной работы, вы сможете:

  • подключать собственное доменное имя;
  • создавать почтовые ящики;
  • добавлять псевдонимы для каждого почтового ящика;
  • создавать почтовые группы.

В данной инструкции объясняется, как установить на компьютере версию Почтового сервера для Docker.

Системные требования

  • Процессор
    двухъядерный с тактовой частотой 2 ГГц или лучше
  • Оперативная память
    не менее 4 Гб
  • Свободное место на жестком диске
    не менее 2 Гб
  • Дополнительные требования
    не менее 2 Гб для файла подкачки
  • Операционная система
    amd64 дистрибутив Linux с версией ядра 3.10 или выше
  • Дополнительные требования
    • Docker: версия 1.10 или выше

Установка Почтового сервера с помощью автоматического скрипта

Если вы не хотите устанавливать всё вручную, вы можете установить Почтовый сервер автоматически с помощью нашего скрипта для Docker. Вы можете скачать скрипт со страницы загрузок нашего сайта. Можно также воспользоваться прямой ссылкой на скачивание, если вам так удобнее:

wget http://download.onlyoffice.com/install/opensource-install.sh

Когда загрузка завершится, выполните следующую команду для установки Почтового сервера:

bash opensource-install.sh -ics false -ids false -icp false -ims true -md yourdomain.com -es true

Установка Почтового сервера в ручном режиме

Если вы предпочитаете полностью контролировать то, что и как устанавливается, вы можете выполнить установку в ручном режиме. Для этого выполните шаги ниже.

Установка необходимых компонентов

У вас должна быть установлена последняя версия Docker. В противном случае обратитесь к разделу Installation section на сайте Docker за инструкциями по установке.

В Docker по умолчанию указаны DNS-серверы Google. Если ваш Сервер совместной работы не будет иметь доступа в Интернет, рекомендуется изменить заданный в Docker по умолчанию адрес DNS-сервера на адрес вашего локального DNS-сервера. Для этого откройте файл /etc/default/docker и замените IP-адрес в следующей строке на IP-адрес DNS-сервера в вашей локальной сети:
docker_OPTS="--dns 8.8.8.8"

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

  1. Для сервера MySQL
    sudo mkdir -p "/app/onlyoffice/mysql/conf.d";
    sudo mkdir -p "/app/onlyoffice/mysql/data";
    sudo mkdir -p "/app/onlyoffice/mysql/initdb";
    
  2. Для данных и лог-файлов Сервера совместной работы
    sudo mkdir -p "/app/onlyoffice/CommunityServer/data";
    sudo mkdir -p "/app/onlyoffice/CommunityServer/logs";
    
  3. Для данных и лог-файлов Сервера документов
    sudo mkdir -p "/app/onlyoffice/DocumentServer/data";
    sudo mkdir -p "/app/onlyoffice/DocumentServer/logs";
    
  4. Для данных и лог-файлов Почтового сервера
    sudo mkdir -p "/app/onlyoffice/MailServer/data/certs";
    sudo mkdir -p "/app/onlyoffice/MailServer/logs";
    

Затем создайте сеть onlyoffice:

sudo docker network create --driver bridge onlyoffice
Установка MySQL

После этого необходимо создать Docker-контейнер для сервера MySQL. Создайте файл конфигурации:

echo "[mysqld]
sql_mode = 'NO_ENGINE_SUBSTITUTION'
max_connections = 1000
max_allowed_packet = 1048576000" > /app/onlyoffice/mysql/conf.d/onlyoffice.cnf

Создайте SQL-скрипт, который сгенерирует пользователей и предоставит им необходимые права. Пользователь onlyoffice_user требуется для Сервера совместной работы, а mail_admin требуется для Почтового сервера, если вы собираетесь его устанавливать:

echo "CREATE USER 'onlyoffice_user'@'localhost' IDENTIFIED BY 'onlyoffice_pass';
CREATE USER 'mail_admin'@'localhost' IDENTIFIED BY 'Isadmin123';
GRANT ALL PRIVILEGES ON * . * TO 'root'@'%' IDENTIFIED BY 'my-secret-pw';
GRANT ALL PRIVILEGES ON * . * TO 'onlyoffice_user'@'%' IDENTIFIED BY 'onlyoffice_pass';
GRANT ALL PRIVILEGES ON * . * TO 'mail_admin'@'%' IDENTIFIED BY 'Isadmin123';
FLUSH PRIVILEGES;" > /app/onlyoffice/mysql/initdb/setup.sql
Пожалуйста, обратите внимание, что приведенный выше скрипт задает разрешения на доступ к серверу SQL с любых доменов (%). Если вы хотите ограничить доступ, то можете указать хосты, у которых будет доступ к серверу SQL.

Теперь можно создать контейнер MySQL, указав при этом версию MySQL 5.7:

sudo docker run --net onlyoffice -i -t -d --restart=always --name onlyoffice-mysql-server \
 -v /app/onlyoffice/mysql/conf.d:/etc/mysql/conf.d \
 -v /app/onlyoffice/mysql/data:/var/lib/mysql \
 -v /app/onlyoffice/mysql/initdb:/docker-entrypoint-initdb.d \
 -e MYSQL_ROOT_PASSWORD=my-secret-pw \
 -e MYSQL_DATABASE=onlyoffice \
 mysql:5.7
Установка Почтового сервера

После того как будет завершена подготовка, выполните следующую команду:

sudo docker run --init --net onlyoffice --privileged -i -t -d --restart=always --name onlyoffice-mail-server -p 25:25 -p 143:143 -p 587:587 \
 -e MYSQL_SERVER=onlyoffice-mysql-server \
 -e MYSQL_SERVER_PORT=3306 \
 -e MYSQL_ROOT_USER=root \
 -e MYSQL_ROOT_PASSWD=my-secret-pw \
 -e MYSQL_SERVER_DB_NAME=onlyoffice_mailserver \
 -v /app/onlyoffice/MailServer/data:/var/vmail \
 -v /app/onlyoffice/MailServer/data/certs:/etc/pki/tls/mailserver \
 -v /app/onlyoffice/MailServer/logs:/var/log \
 -h yourdomain.com \
 onlyoffice/mailserver

Где yourdomain.com - это имя хоста почтового сервера.

Домен, который будет использоваться для ведения переписки, должен быть действительным, и он должен быть настроен на эту машину (то есть должен иметь соответствующую A-запись в настройках DNS, связывающую доменное имя с IP-адресом машины, на которой установлен Почтовый сервер).
В приведенной выше команде под параметром "hostname.com" следует понимать служебный домен почтового сервера. Обычно его указывают в MX-записи домена, который будет использоваться для ведения переписки. Как правило, "hostname.com" имеет вид mx1.onlyoffice.com

В этом случае почтовый сервер будет обеспечивать доставку почты на внутренние адреса, размещенные на этом сервере.

Сохранение данных вне контейнеров

Все данные хранятся в специально отведенных для этого каталогах, томах данных, которые находятся по следующему адресу:

  • /var/log для лог-файлов Почтового сервера
  • /var/lib/mysql для данных из базы данных MySQL
  • /var/vmail для хранилища почты
  • /etc/pki/tls/mailserver для сертификатов
Рекомендация Настоятельно рекомендуется сохранять данные вне контейнеров Docker на хост-компьютере, так как это позволяет при выходе новой версии легко обновлять Почтовый сервер без потери данных.

Для получения доступа к данным извне контейнера надо монтировать папку хоста к контейнеру. Это можно сделать, указав значение параметра -v в команде docker run.

sudo docker run --privileged -i -t -d -p 25:25 -p 143:143 -p 587:587 \
        -v /app/onlyoffice/MailServer/logs:/var/log  \
        -v /app/onlyoffice/MailServer/mysql:/var/lib/mysql  \
        -v /app/onlyoffice/MailServer/data:/var/vmail  \
        -v /app/onlyoffice/MailServer/data/certs:/etc/pki/tls/mailserver -h yourdomain.com onlyoffice/mailserver
Пожалуйста, обратите внимание на то, что, если вы пытаетесь монтировать еще не созданные папки, эти папки будут созданы, но доступ к ним будет ограничен. Вам понадобится изменить права доступа к ним вручную.

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

Настройка Docker-образа

Чтобы обеспечить доставку почты как на внутренние адреса, так и на адреса внешних серверов, вам необходимо получить собственное доменное имя и настроить DNS-сервер.

Требуются следующие записи DNS:

  • Запись типа A (связывает доменное имя с IP-адресом хоста, на котором развернут docker-образ).
  • Запись указателя (PTR) или запись обратного поиска в DNS (устанавливает соответствие между сетевым интерфейсом (IP-адресом) и именем хоста).
sudo docker run --privileged -i -t -d -p 25:25 -p 143:143 -p 587:587 \
-v /app/onlyoffice/MailServer/data/certs:/etc/pki/tls/mailserver -h yourdomain.com onlyoffice/mailserver

Где hostname.com - это имя хоста почтового сервера.

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

Самоподписанные сертификаты для вашего домена будут созданы по умолчанию при запуске docker-контейнера. Если вы хотите использовать сертификаты, заверенные центром сертификации, вам потребуется переименовать их и скопировать в каталог /app/onlyoffice/MailServer/data/certs до запуска образа. Требуются следующие файлы:

  • /app/onlyoffice/MailServer/data/certs/mail.onlyoffice.key
  • /app/onlyoffice/MailServer/data/certs/mail.onlyoffice.crt
  • /app/onlyoffice/MailServer/data/certs/mail.onlyoffice.ca-bundle

Вы можете скопировать SSL-сертификаты в каталог /app/onlyoffice/MailServer/data/certs после запуска образа. Но в таком случае придется перезапустить docker-контейнер.

Доступные параметры настройки
Флаг `--env-file` в параметрах команды docker run позволяет задать все необходимые переменные среды в одном файле. Так можно избежать написания потенциально длинной команды docker run.

Ниже приводится полный список параметров, которые можно настроить, используя переменные среды.

  • STORAGE_BASE_DIR: Путь к хранилищу почты. По умолчанию задано значение /var/vmail.
  • FIRST_DOMAIN: Первый виртуальный домен, на котором будет размещен адрес администратора почты. Этот домен не должен совпадать с основным доменом почтового сервера. По умолчанию задано значение mailserver.onlyoffice.com.
  • DOMAIN_ADMIN_PASSWD: Пароль администратора почты. Адрес администратора почты, заданный по умолчанию, - postmaster@mailserver.onlyoffice.com.

Установка Почтового сервера с интегрированными модулями Сервер документов и Сервер совместной работы

Почтовый сервер входит в состав версии ONLYOFFICE Community Edition, которая также включает в себя Сервер документов и Сервер совместной работы. Если вы хотите установить их все и интегрировать друг с другом, обратитесь к этим инструкциям.

Альтернативные способы установки Почтового сервера

Вы также можете использовать скрипт автоматической установки, чтобы установить все модули версии Community Edition сразу. Для корректной работы почтового сервера необходимо указать имя хоста yourdomain.com.

ШАГ 1: Скачайте файл установочного скрипта

После установки утилиты docker-compose выполните следующую команду:

wget http://download.onlyoffice.com/install/opensource-install.sh
ШАГ 2: Установите Community Edition

Для этого выполните следующую команду:

bash opensource-install.sh -md yourdomain.com
Download Host on your own server Available for Docker,
Windows, Linux and virtual machines
Вас также может заинтересовать:
Закрыть