» » » Переезд почты с Debian 5 на centos 7

Переезд почты с Debian 5 на centos 7
 
Давненько я ничего не постил, желания да и времени особо небыло. А вот тут на днях столкнулся с двумя интересными задачками и решил их описать. Вначале расскажу о переезде почты:
Появилась задача перевести почту со старого сервера, на новый. И так, чтобы для пользователей ничего не поменялось. Старый сервер это Debian 5 :) с postfix, dovecot, amavis (spamassasin, clamav), policyd и ещё какими то наворотами которыми ни кто не пользуется по причине того что они не работают от старости. Почтовый ящик чистится руками, как взбредёт в голову. Так что писем не особо много. 
И так что мы имеем:

uname -a
Linux mailserv 2.6.26-2-686 #1 SMP Sun Mar 4 22:19:19 UTC 2012 i686 GNU/Linux

cat /etc/debian_version
5.0.10

php -v
PHP 5.2.6-1+lenny16 with Suhosin-Patch 0.9.6.2 (cli) (built: Feb 3 2012 13:17:21)
Copyright (c) 1997-2008 The PHP Group
Zend Engine v2.2.0, Copyright (c) 1998-2008 Zend Technologies

Roundcube Webmail 0.8.6

Некоторые модули RoundCube попусту не работали из за старой версии, например тот же userinfo. Чтобы добавить пользовательскую информацию приходилось редактировать таблицы в mysql. Greylisting работал туго, и в эпоху облачных почтовиков, письмо могло несколько часов туда-сюда бегать. В общем работать с каждым месяцем в этой почте становилось всё сложнее и сложнее. Особенно напрягал коряво работающий Greylisting: когда разговариваешь с клиентом по телефону и он тебе отправляет e-mail, ты его с 99% вероятностью сразу не получишь.

Одним из самых важных пунктов при переезде было то чтобы почта осталась на месте вся. Ну и сами пользователи не любители перемен, поэтому и почтовый интерфейс по возможности оставался прежним.

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

Процесс установки и настройки сервера я описывать не буду, он есть в этой статье

Для начала скачаем и распакуем архив с установщиком. Скачать можно тут. На момент написания последняя версия 0.9.7:

cd /root && wget https://bitbucket.org/zhb/iredmail/downloads/iRedMail-0.9.7.tar.bz2
tar xjf iRedMail-*

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

cd iRedMail-* && bash iRedMail.sh

Всё. Теперь только отвечаем на вопросы и ждём конца установки. Вопросы задаёт на английском, но там и без перевода всё понятно: спросит где хранить почту, пароли от одминского аккаунта, пароль от мускуля, и согласны ли мы использовать firewalld. Настройка и безопасность это отдельная тема, поэтому сразу после установки я отключаю фаервол

systemctl stop firewalld
systemctl disable firewalld

Всё. Установка завершена. После ребута в таком виде сервер уже работает :)если его подсунуть на место старого сервера то уже можно будет отправлять и принимать письма (если конечно создать почтовые ящики, по умолчанию создаётся только 1 - админский).

Теперь приступим к настройке и доведения до ума сервера. Отключим не нужное, добавим нужное, переделаем безполезное в нашем случае :)

1. По умолчанию iRedAdmin хранит почту по странному, например почтовый ящик user@mailserv.ru будет храниться тут:

/var/vmail/vmail1/mailserv.ru/u/s/e/user-2017.11.06.14.08.39
 
это якобы повышает скорость работы. Может так и есть, когда у тебя целая куча почтовых аккаунтов на серве, но в нашем случае их всего 3, поэтому данная структура бесполезна я считаю. Поэтому мы её быстренько переделаем, для этого

nano /var/www/iredadmin/libs/default_settings.py

и меняем значения на false у следующих параметров

MAILDIR_HASHED = True
MAILDIR_APPEND_TIMESTAMP = True

Теперь наши новые ящики будут лежать где им следует быть, а именно

/var/vmail/vmail1/mailserv.ru

А для того чтобы и старые туда перекатились нужно в таблице mailbox mysql базы vmail поменять путь для почтового ящика. Это можно сделать либо через консоль, что не удобно очень :) либо через PMA. Установить его достаточно просто:

yum install phpmyadmin

после чего в настройках нужно разрешить доступ со своего IP адреса

nano /etc/httpd/conf.d/phpMyAdmin.conf

Параметр Require ip изменяем на нужный IP.

После этого у меня PMA выдал ошибку.Начал ругаться на то что отключена функция php_uname. Некоторые советуют в htacces прописать пару строчек, я же решил её разблокировать, для этого в файле /etc/php.ini находим строчку disable_functions со списком отключенных функций. И ищем там php-uname. Удаляем, сохраняем и перезапускаем апач service httpd restart


2. Увеличим лимиты на файлы. Для этого

nano /etc/php.ini

post_max_size = 100М - Максимальный размер сообщения
upload_max_filesize = 100M - Максимальный размер загружаемого файла
max_file_uploads = 120 - максимальное количество одновременных загрузок. Этот параметр нам нужен  будет когда мы будем импортировать письма. Потом можно поменять обратно.

3. Отключим не нужные модули

nano /opt/iredapd/settings.py

Ищем там строчку

plugins = ["reject_null_sender", "wblist_rdns", "reject_sender_login_mismatch", "greylisting", "throttle", "amavisd_wblist", "sql_alias_access_policy"]

Не нужное удаляем. Я отключаю greylisting и throttle. Грейлист поянтно почему, а троттл потому что ограничениями для почтовых ящиков пользоваться не будем.

После этого перегружаем сервис

service iredapd restart

4. Открытие почты по адресу mailserv.ru а не mailserv.ru/mail

nano /etc/httpd/conf.d/roundcubemail.conf

Меняем строчку

Alias /mail "/var/www/roundcubemail/"

на

Alias / "/var/www/roundcubemail/"

5. Перенос почты

Теперь собственно займёмся самим переносом почты. Есть несколько способов, и так как у меня на сервере в почтовых ящиках куча папок, я решил воспользоваться Thunderburd. Скачать последнюю версию можно на сайте разработчика или же у меня на файлопомойке.

После того как скачали и настроили программу, нам необходимо скачать все письма. Я скачивал кажду папку отдельно, в отдельную папку на компе, после чего так же все письма импортировал в нужную папку в RoundCube.

Ну и в самом конце экспортировал/импортировал фильтры и адресную книгу.

Вот и всё :)

Статья вдохновлена как обычно serveradmin.ru


{poster_avatar}  ArcheRAWG
215 09.12.17


Кликните на изображение чтобы обновить код, если он неразборчив