SOGo миграция данных¶
Миграция данных выполняется с помощью двух скриптов - imapsync.sh и calendar-sync.
imapsync.sh - выполняет синхронизацию почтовых сообщений через imap (обертка над imapsync).
calendar-sync - выполняет перенос записей из календарей и адресных книг пользователя в SOGo.
Приложенные файлы из элементов календарей экспортируются в NextCloud, ссылки вставляются в тело элемента.
Миграция почтовых сообщений¶
Необходимо установить пакет imapsync и создать скрипт обертку imapsync.sh (во вложении), заменив в нем учетные данные.Далее:
- Создать файл со списком пользователей для миграции. Для примера /etc/imapsync/userlist.txt. В файле должны быть перечислены пользователи для миграции по одному логину на строку.
- Запустить скрипт imapsync.sh /etc/imapsync/userlist.txt
- По окончании работы скрипта проверить результаты в /var/log/imapsync_batch/batch.log
Установка calendar-sync¶
Скрипт предоставляется в виде python wheel пакета.
Для установки необходимо установить пакет python3-module-pip и выполнить pip3 install ПУТЬ ДО *.whl файла
Описание конфигурации для calendar-sync:¶
Конфигурация поделена на 3 части: доступ к SOGo, доступ к Exchage, доступ к NextCloud.
---
sogo:
url: https://alp.72to.ru/SOGo
auth:
login: alp
password: Passsword
exchange:
server: 10.142.170.5
verify_ssl: false
timezone: Asia/Yekaterinburg
auth:
login: adm72\alp
password: Passsword
attachment_handler:
url: https://cloud.72to.ru
folder: attachments
auth:
login: igolubkov
password: Passsword
Пример запуска¶
Для одного пользователя: calendar-sync --config config.yaml syncOne alp@tst.72to.ru
Для списка пользователей: calendar-sync --config config.yaml syncList --domain tst.72to.ru user_list.txt
, где user_list.txt - список учетных записей пользователей для миграции (если указана опция domain) или список email адресов пользователей.
Ответы на вопросы¶
- "заместители" по типу Outlook (пересылка, частные встречи)
"Заместитель" может быть назначен с помощью предоставления прав на папки почтового ящика и на необходимые календари.
- централизованная настройка переадресации
Настраивается в postfix. Для примера добавил соответствие в виде файла.
В параметре virtual_alias_maps указываются списки псевдонимов для адресов.
В /etc/postfix/redirect есть запись вида golubkovif@tst.72to.ru golubkovif@tst.72to.ru johndoe@alp.ru - для адреса golubkovif@tst.72to.ru перенаправить почту в golubkovif@tst.72to.ru (т.е. доставить как обычно) и johndoe@alp.ru (переслать).
- отправка пользователем запроса на доступа к календарю/ящику
Данного функционала нет.
- адресные листы (группировка пользователей по определенному признаку)
Адресные книги формируются из ldap. Можно отбирать любым ldap запросом. Настраиваются в /etc/sogo/sogo.conf, в разделе SOGoUserSources. Подробности в документации.
- Не удается подключить доп. ящик SOGo (пользователь на Exchange)
Можно дать права пользователю в SOGo и подключить его ящик как второй, параллельно с Exchange.
- Не отображаются доп. ящики Exchange в SOGo. То же самое с календарями
Можно подключить ящик, к которому дали права, через imap. Нужно использовать специальное имя пользователя при подключении к Exchange: <ДОМЕН>\<ПОЛЬЗОВАТЕЛЬ SOGO>\<ПОЛЬЗОВАТЕЛЬ EXCHANGE>
- Не отображается адресная книга в Outlook при подключении к SOGo
Можно настроить отображение персональной адресной книги через плагин. Общие адресные книги от SOGo не подключаются, т.к. не выводят список, а работают только на поиск.
- в Thunderbird адреска работает только в режиме поиска (списка нет)
Ограничение SOGo - не позволяет выводить список для адресных книг из ldap в WebDav.
- Календари в Thunderbird все так же в одной куче
- Из Thunderbird нельзя открыть доступ к ящику другим пользователям (только через веб)
Можно с помощью плагина, но не так удобно.
- почта каждого пользователя хранится в отдельном файле, про разделение баз между серверами можно забыть, т.к. почтовых баз нет.
Почта пользователя хранится в нескольких файлах (ограничение по размеру одного файла, подробнее multi-dbox). Разделять пользователей между серверами можно с помощью Director, отдавая список серверов, например, из атрибута в AD.
- штатными средствами восстановление писем пользователей невозможно, т.к. в данной ситуации оптимальное - хранить почту на локальной машине.
так же из этого вытекает - или большое хранилище (1.5 Тb на текущий момент), или можно забыть про доступность почты из любого места.
Есть плагин Lazyexpunge, позволяющий складывать удаленные сообщения в отдельный namespace.