Проект

Общее

Профиль

Миграция почтового сервера основанного на maildir (postfix+dovcote, sogo, rupost и т. д на Tegu с maildir без режима миграции.

Добавил(а) Куреннов Игорь 10 месяца назад

Описание задачи.

Рассмотрим вариант, когда у нас есть один из вышеуказанных почтовых серверов и мы хотим мигрировать на Tegu с минимальными затратами не используя при этом режим миграции реализованного в Tegu.

Подготовительные работы.

1. Поднять сервер Tegu любой редакции.
2. Составить список пользователей с существующими паролями на ящик.
3. Проверить связанность между серверами.

В Tegu предварительно делаем все необходимые настройки согласно официальной документации
Создаем почтовое хранилище maildir

Останавливаем почтовый сервер.

systemctl stop tegu

Копируем содержимое папки maildir со старого сервера на новый.

Если структура папок внутри почтового домена дурновата и выглядит вот так:

abcdefghijklmnopqrstuvwxyz

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

/var/mail/domain.com
#!/bin/bash

mkdir -p tegu_dest

for SRC in $(find . -type d -name Maildir)
do

    DST=$(echo "$SRC" | sed -r -e 's#^.*/([^/-]+)-[^/]+/Maildir$#tegu_dest/\1/.maildir#')
    DST_DIR=$(dirname $DST)

    mkdir -p "$DST_DIR" 
    mv "$SRC" "$DST" 
    echo "moved '$SRC' => '$DST'" 
done

Делаем скрипт исполняемым.

chmod +x filename.sh

Запускаем скрипт, перед этим переходим в папку /var/mail/domain.com

./filename.sh

Скрипт найдет и переместит все папки с ящиками во временную папку tegu_dest

После того как скрипт отработает, удаляем все однобуквенные папки abcdefghijklmnopqrstuvwxyz

Запускаем команду перемещения ящиков из временной папки в папку с почтовым доменом.

mv tegu_dest/* ./

Удаляем папку tegu_dest

Изменяем права

chown -R mail:mail /var/mail/domain.com

Запускаем почтовый сервер Tegu.

systemctl start tegu

В веб консоли создаем пользователей или в AD в зависимости от редакции и поставленной задачи.

Настраиваем почтового клиента по внутреннему адресу, проверяем почтовые сообщения в папках, если все ок, настраиваем далее согласно официальной документации.

Вот так быстро и просто мы мигрировали почтовый сервер на Tegu.