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

Обновление Почтового сервера, интегрированного с Сервером совместной работы

Почтовый серверv.1.5 - Почтовый сервер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.

Введение

Docker-файлы для Почтового сервера можно найти здесь:
https://hub.docker.com/r/onlyoffice/mailserver/

Начиная с версии 9.1, Сервер совместной работы использует MySQL v. 5.7 вместо MySQL v. 5.5, которая использовалась в более ранних версиях. Кроме того, используется другая схема установки, при которой MySQL запускается в отдельном контейнере. Если текущая версия вашего портала была установлена по старой схеме, база данных Почтового сервера находится в контейнере Почтового сервера, а база данных Сервера совместной работы - в контейнере Сервера совместной работы. В соответствии с новой схемой установки, контейнер MySQL содержит и базу данных Сервера совместной работы (она называется 'onlyoffice'), и базу данных Почтового сервера (она называется 'onlyoffice_mailserver').

В первом разделе этой статьи описан процесс обновления для старых версий, установленных по старой схеме, с базами данных MySQL внутри контейнеров Почтового сервера и Сервера совместной работы.

Если вы хотите обновить Почтовый сервер, интегрированный со старой версией Сервера совместной работы (ниже, чем 9.1), до последней доступной версии, использующей MySQL v. 5.7 в отдельном контейнере, обратитесь ко второму разделу.

Обновление до версий, использующих MySQL 5.5 внутри контейнеров Почтового сервера и Сервера совместной работы

Шаг 1: Убедитесь, что смонтированы все внешние папки для хранения данных

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

sudo docker inspect --format='{{range $p,$conf:=.HostConfig.Binds}}{{$conf}};{{end}}' {{MAIL_SERVER_ID}}

где {{MAIL_SERVER_ID}} означает имя или ID контейнера Почтового сервера.

Имя или ID текущего контейнера Почтового сервера можно легко узнать с помощью команды Docker, которая выводит список всех существующих контейнеров:
docker ps -a

В качестве меры предосторожности можно выполнить резервное копирование смонтированных папок, расположенных на хост-машине:

  • /app/onlyoffice/MailServer/logs
  • /app/onlyoffice/MailServer/mysql
  • /app/onlyoffice/MailServer/data
  • /app/onlyoffice/MailServer/data/certs

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

  • /var/log - лог-файлы Почтового сервера
  • /var/lib/mysql - данные из базы данных MySQL
  • /var/vmail - хранилище почты
  • /etc/pki/tls/mailserver - сертификаты

Эти папки с данными можно скопировать из Docker-контейнера в папку на хост-машине:

sudo docker cp {{MAIL_SERVER_ID}}:var/log /home/user/Backup/MailServer/log
sudo docker cp {{MAIL_SERVER_ID}}:var/lib/mysql /home/user/Backup/MailServer/mysql
sudo docker cp {{MAIL_SERVER_ID}}:var/vmail /home/user/Backup/MailServer/vmail
sudo docker cp {{MAIL_SERVER_ID}}:etc/pki/tls/mailserver /home/user/Backup/MailServer/mailserver

Где {{MAIL_SERVER_ID}} означает имя или ID контейнера Почтового сервера, а /home/user/Backup/MailServer - путь к любой папке на хост-машине.

Шаг 2: Удалите текущий контейнер
sudo docker rm -f {{MAIL_SERVER_ID}}

где {{MAIL_SERVER_ID}} означает имя или ID контейнера Почтового сервера.

Шаг 3: Удалите текущий образ

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

sudo docker rmi -f $(sudo docker images | grep onlyoffice/mailserver | awk '{ print $3 }')
Шаг 4: Запустите новый образ Почтового сервера с такими же путями привязки

Создайте сеть для Docker-контейнеров, если она не была создана для предыдущей версии:

docker network create --driver bridge onlyoffice

Запустите новый образ Почтового сервера:

sudo docker run --net onlyoffice --privileged -i -t -d --restart=always --name onlyoffice-mail-server \
    -p 25:25 -p 143:143 -p 587:587 \
    -v /app/onlyoffice/MailServer/data:/var/vmail \
    -v /app/onlyoffice/MailServer/data/certs:/etc/pki/tls/mailserver \
    -v /app/onlyoffice/MailServer/logs:/var/log \
    -v /app/onlyoffice/MailServer/mysql:/var/lib/mysql \
    -h yourdomain.com \
    onlyoffice/mailserver

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

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

Убедитесь, что запускаете новый образ, указав пути к папкам, привязанным точно так же, как они были смонтированы до удаления образа Почтового сервера, в противном случае данные, сохраненные в этих папках, не будут получены автоматически.

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

sudo mkdir -p /app/onlyoffice/MailServer/logs && sudo cp -a /home/user/Backup/MailServer/log/. $_
sudo mkdir -p /app/onlyoffice/MailServer/mysql && sudo cp -a /home/user/Backup/MailServer/mysql/. $_
sudo mkdir -p /app/onlyoffice/MailServer/data && sudo cp -a /home/user/Backup/MailServer/vmail/. $_
sudo mkdir -p /app/onlyoffice/MailServer/data/certs && sudo cp -a /home/user/Backup/MailServer/mailserver/. $_

Где /home/user/Backup/MailServer - это путь к любой папке на хост-машине. Когда резервная копия будет восстановлена, установите Почтовый сервер, как описано выше.

Шаг 5: Запустите новые образы Сервера документов и Сервера совместной работы с такими же путями привязки

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

Запустите портал и убедитесь в его корректной работе и целостности данных.

Обновление до последней версии, использующей MySQL 5.7 в отдельном контейнере

Чтобы обновить Почтовый сервер, интегрированный со старой версией Сервера совместной работы (ниже, чем 9.1), до последней версии, потребуется сделать дамп баз данных MySQL и для Почтового сервера, и для Сервера совместной работы, а затем восстановить соответствующие базы данных в новом контейнере MySQL. Восстановление резервной копии данных Почтового сервера необходимо выполнять до установки новой версии Почтового сервера.

Инструкции по обновлению Сервера совместной работы доступны здесь.

Шаг 1: Выполните резервное копирование данных

Войдите в контейнер Почтового сервера:

sudo docker exec -it onlyoffice-mail-server bash

Создайте дамп базы данных 'onlyoffice_mailserver':

mysqldump -u root -pIsadmin123 onlyoffice_mailserver > dump_mailserver.sql

Выйдите из контейнера:

exit

Скопируйте файл дампа на хост-машину:

sudo docker cp onlyoffice-mail-server:/dump_mailserver.sql /home/user/

Дополнительно можно выполнить резервное копирование папок /var/log, /var/vmail, /etc/pki/tls/mailserver, как описано в предыдущем разделе данной инструкции (шаг 1).

Шаг 2: Удалите текущий контейнер и образ Почтового сервера
sudo docker rm -f onlyoffice-mail-server
sudo docker rmi -f $(sudo docker images | grep onlyoffice/mailserver | awk '{ print $3 }')
Шаг 3: Восстановите папки с данными

В случае необходимости восстановите папки с данными /var/log, /var/vmail, /etc/pki/tls/mailserver, как описано в предыдущем разделе данной инструкции (шаг 4).

Этот шаг можно пропустить, если вы монтировали папки с данными при установке предыдущей версии.

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

Установите необходимые компоненты, следуя этим инструкциям.

Шаг 5: Установите MySQL

Установите MySQL, следуя этим инструкциям.

Шаг 6: Восстановите дамп базы данных 'onlyoffice_mailserver'.

Скопируйте файл дампа в контейнер MySQL:

sudo docker cp /home/user/dump_mailserver.sql onlyoffice-mysql-server:/dump_mailserver.sql

Войдите в контейнер MySQL:

sudo docker exec -it onlyoffice-mysql-server bash

Создайте базу данных 'onlyoffice_mailserver':

mysql -u root -pmy-secret-pw -e "CREATE DATABASE onlyoffice_mailserver"

Восстановите дамп:

mysql -u root -pmy-secret-pw onlyoffice_mailserver < dump_mailserver.sql

Выйдите из контейнера:

exit
Шаг 7: Установите новую версию ONLYOFFICE

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

Download Host on your own server Available for Docker,
Windows, Linux and virtual machines
Вас также может заинтересовать:
Закрыть