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

Установка ONLYOFFICE Mail для Docker на локальном сервере

ONLYOFFICE Mail v1.6 История изменений ONLYOFFICE Mail

Version 1.6.57

Release date: 04/25/2019

New features

  • Added permanent Fail2Ban ignoreip section for docker containers and its gateway;
  • Added the possibility to create sieve rules for users inside /var/vmail/sieve/;
  • Added new extension to sieve: sieve_extensions -> editheader;
  • Exposed port 4190 for ManageSieve service;
  • Added the possibility to run an external script from the /var/vmail/external.sh or /app/onlyoffice/MailServer/data/external.sh path;
  • Changed the default FIRST_DOMAIN parameter;
  • Replaced the hard-coded password used for the first mailbox with a random one;
  • Removed old useless descriptions for iRedMail administrator console path;
  • Added backticks to the 'CREATE DATABASE' commands;
  • Added the possibility to send mail messages from alias_domain, alias_address and full alias;
  • Added the imapsync command;
  • Added the new Python scripts allowing to create mailboxes, change password and run imapsync batch in /usr/src/iRedMail/tools/scripts folder inside the onlyoffice-mail-server container;
  • Added the Python PIP manager and installation requirements.

Bug fixes

  • Fixed the bug with mailbox not being removed when using third level domain (issue: wrong domain regex);
  • Fixed the bug with the Cannot load 1024-bit DH parameters from file /etc/pki/tls/dhparams.pem warning;
  • Fixed the bug with the No such file or directory being shown in many cases;
  • Fixed the bug with the ECHO_INFO: command not found warning.

Version 1.6.25

Release date: 07/03/2017

Runtime

  • Updated OpenSSL to the latest version (1.0.2).

Version 1.6.21

Release date: 04/26/2017

Runtime

  • Fixed the issue when the amavisd-new interface could not start without the properly configured IPv6.

Version 1.6.20

Release date: 12/13/2016

Connection Settings

  • Added page to the Settings for the integration of Community Server (Windows version) with Mail Server.

Installation Script

  • Fixed the error shown if the mail domain is not specified, now Mail Server will not be installed if this is the case.

Version 1.6.7

Release date: 06/22/2016

Refactoring

  • Removed version from the iRedMail folder;
  • iRedMail completed with commits from v.0.9.2;
  • Deleted unused packages from iRedMail;
  • Added the SpamAssassin setup with initial bayes_tokens.

Runtime

  • Fixed the incorrect MySQL server name in the config;
  • Fixed the issue with the config section duplication when starting the Docker container;
  • Fixed the issue with sending mail to a group/alias address;
  • Fixed the startup API issue.

Logging

  • Fixed logging during the installation.

Networking

  • Fixed the fail2ban and iptables issue when starting Docker in a network mode;
  • Fixed the issue with Mail Server on an external physical server.

Version 1.6.0

Release date: 03/09/2016

Settings

  • Redesigned Mail Server settings page.

Version 1.5.0

Release date: 04/20/2015

Mail Server

  • Mail Server for Docker first release.

Введение

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

Интегрировав ONLYOFFICE Mail с ONLYOFFICE Groups, вы сможете:

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

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

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

  • Процессор
    двухъядерный с тактовой частотой 2 ГГц или лучше
  • Оперативная память
    не менее 4 Гб
  • Свободное место на жестком диске
    не менее 20 Гб
  • SWAP
    не менее 4 Гб, но это зависит от ОС хоста. Чем больше, тем лучше
  • Операционная система
    amd64 дистрибутив Linux с версией ядра 3.10 или выше
  • Дополнительные требования
    • Docker: любая версия, поддерживаемая командой Docker
На Ubuntu 20.04 необходимо отключить используемый по умолчанию брандмауэр ufw при установке ONLYOFFICE Mail.

Перед началом установки

Перед началом установки ONLYOFFICE Mail необходимо связать компьютер, на котором вы собираетесь установить ONLYOFFICE Mail, с доменом, выбранным для почтового сервера. Рекомендуем выбрать для A-записи вашего компьютера с почтовым сервером имя типа mx.yourdomain.com. Это означает, что A-запись в системе доменных имен (DNS) должна указывать на IP-адрес компьютера, где будет установлен ONLYOFFICE Mail, а PTR-запись для этого компьютера должна преобразовывать IP-адрес компьютера в полное доменное имя (FQDN), выполняя действие, обратное тому, которое выполняет A-запись.

Чтобы проверить правильность настроек для A-записи, используется следующая команда:

dig -t A mx.yourdomain.com

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

...
;; ANSWER SECTION:
mx.yourdomain.com.  IN  A   {ваш IP-адрес}
...

Вместо {ваш IP-адрес} будет показан реальный IP-адрес сервера.

PTR-запись проверяется с помощью другой команды:

dig -x {ваш IP-адрес}

Должен вернуться результат, содержащий в том числе строки следующего вида:

...
;; ANSWER SECTION:
{ваш IP-адрес}   IN  PTR mx.yourdomain.com.
...

Когда вы убедитесь, что все параметры заданы правильно, можно переходить к следующим шагам.

После установки ONLYOFFICE Mail также потребуется добавить MX-запись к домену yourdomain.com, чтобы она указывала на mx.yourdomain.com. Это необходимо, чтобы почта приходила на адреса @yourdomain.com.

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

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

wget https://download.onlyoffice.com/install/workspace-install.sh

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

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

Установка ONLYOFFICE Mail в ручном режиме

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

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

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

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

Для операционных систем на основе RPM, например, CentOS:

  1. Создайте файл конфигурации /etc/docker/daemon.json со следующим содержанием:
    { "dns" : [ "8.8.8.8" ] }
    
  2. Перезапустите сервис Docker:
    
    sudo systemctl restart docker.service
    

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

  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. Для данных и лог-файлов ONLYOFFICE Mail
    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
group_concat_max_len = 2048" > /app/onlyoffice/mysql/conf.d/onlyoffice.cnf

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

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

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

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:8.0.29
В случае использования сторонней базы данных нужно выполнить ее настройку, а именно добавить пользователя:
CREATE USER 'mail_admin'@'localhost' IDENTIFIED BY 'Isadmin123';
GRANT ALL PRIVILEGES ON * . * TO 'mail_admin'@'%' IDENTIFIED BY 'Isadmin123';
FLUSH PRIVILEGES;
Установка ONLYOFFICE Mail

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

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 -p 8081:8081 \
 -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-адресом машины, на которой установлен ONLYOFFICE Mail).
В приведенной выше команде под параметром "hostname.com" следует понимать служебный домен почтового сервера. Обычно его указывают в MX-записи домена, который будет использоваться для ведения переписки. Как правило, "hostname.com" имеет вид mx1.onlyoffice.com

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

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

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

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

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

sudo docker run --privileged -i -t -d -p 25:25 -p 143:143 -p 587:587 -p 8081:8081 \
        -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
Пожалуйста, обратите внимание на то, что, если вы пытаетесь монтировать еще не созданные папки, эти папки будут созданы, но доступ к ним будет ограничен. Вам понадобится изменить права доступа к ним вручную.

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

Настройка 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

Где yourdomain.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 Mail с интегрированными модулями ONLYOFFICE Docs и ONLYOFFICE Groups

ONLYOFFICE Mail входит в состав версии ONLYOFFICE Workspace, которая также включает в себя ONLYOFFICE Docs, ONLYOFFICE Control Panel и ONLYOFFICE Community Server. Если вы хотите установить их все и интегрировать друг с другом, обратитесь к этим инструкциям.

Альтернативные способы установки ONLYOFFICE Mail

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

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

Выполните следующую команду:

wget https://download.onlyoffice.com/install/workspace-install.sh
ШАГ 2: Установите Workspace

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

bash workspace-install.sh -md yourdomain.com
Скачать Разместите на собственном сервере Доступно для
Docker, Windows и Linux
Вас также может заинтересовать:
Закрыть