الهجرة إلى زيمبرا مع imapsync

بالإضافة إلى الميزات التي طال انتظارها مثل Hierarchical Address Book والدعم الرسمي لـ Ubuntu 18.10 LTS ، فإن إصدار Zimbra 8.8.12 جلب لنا أخبارًا عن الإزالة القادمة من دعم عدد من الأدوات المساعدة اللازمة للانتقال من أنظمة البريد الأخرى إلى Zimbra Collaboration Suite. على وجه الخصوص ، توقف دعم معالج الترحيل ZCS لـ Domino تمامًا ، ولن يدعم معالج الترحيل ZCS لـ Exchange الآن سوى استيراد ملفات PST من Outlook. لتنفيذ عملية ترحيل كاملة ، يعرض مطورو Zimbra Collaboration Suite استخدام الخدمات المدفوعة عبر الإنترنت ، لكن ليس كل شركة مستعدة لتقديم بيانات صندوق البريد الخاصة بها إلى جهات خارجية لأسباب أمنية ، ولا تستطيع كل شركة تحمل التكاليف الإضافية المرتبطة بالترحيل إلى Zimbra. خاصة بالنسبة لهؤلاء المستخدمين ، يوجد برنامج imapsync ، وهو قادر على توفير ترحيل تدريجي موثوق من أي نظام بريد إلى Zimbra.

صورة

Imapsync هي أداة مجانية ومجانية متوفرة في مستودعات أي توزيع Linux Zimbra مدعوم رسميًا. الغرض من هذا البرنامج هو نقل البريد الإلكتروني بين خوادم البريد المختلفة والتعامل معه بشكل مثالي. بفضل مرونة الإعدادات ، يمكن نقل البريد بشكل متزايد وفي وضع تلقائي بالكامل. دعونا نرى كيف يمكنك استخدام imapsync للانتقال من Lotus Domino و MS Exchange إلى Zimbra Collaboration Suite.

الهجرة من MS Exchange إلى Zimbra


لكي تنجح عملية ترحيل البريد الإلكتروني ، يلزمك إكمال سلسلة من التحضيرات. بادئ ذي بدء ، نحن بحاجة إلى إنشاء نفس المستخدمين على خادم Zimbra كما هو الحال في خادم MS Exchange باستخدام نفس كلمات المرور. في تنفيذ هذه المهمة ، من المفيد جدًا تكوين مستخدمي Zimbra تلقائيًا باستخدام م. تم وصف عملية الضبط التلقائي في أحد مقالاتنا السابقة.

بعد ترحيل جميع حسابات AD أو Exchange ، تحتاج إلى تثبيت حزمة imapsync على الخادم باستخدام Zimbra. إذا كنت تستخدم Ubuntu كنظام تشغيل لـ Zimbra ، فيمكنك تثبيت البرنامج باستخدام الأمر sudo apt-get install imapsync -y ، في CentOS و RHEL ، سيتم إجراء التثبيت باستخدام الأمر sudo yum install imapsync -y .

عند اكتمال تثبيت الحزمة وجميع التبعيات ، دعنا ننتقل إلى تكوين خادم Exchange. على ذلك ، سنحتاج إلى تمكين خدمة IMAP4. يتم ذلك عن طريق تشغيل ملف services.msc ، وبعد ذلك تحتاج إلى الانتقال إلى أدوات> خدمات -> IMAP4 Microsoft Exchange -> ابدأ. بعد ذلك ، ستحتاج إلى منح المسؤول حق الوصول إلى صناديق بريد المستخدم لتجنب استخدام كلمات مرور المستخدم أثناء الترحيل ، وكذلك تعطيل أو تكوين سياسات الحد الأقصى للسرعة بحيث لا تتداخل مع الترحيل. يمكنك الآن بدء نقل البريد من خادم إلى خادم.

في البنية التحتية الخاصة بنا ، سيكون موقع MS Exchange على host exchange.company.ru ، وسيكون موقع Zimbra على المضيف zimbra.company.ru . سيتم نقل المستخدمين واحدًا تلو الآخر باستخدام سطر الأوامر ، حيث سنقوم بتشغيل الأداة المساعدة imapsync مع عدد من المعلمات اللازمة للترحيل. بادئ ذي بدء ، تجدر الإشارة إلى أن حسابات المسؤول في زيمبرا ، كما هو الحال في MS Exchange ، لها حق الوصول إلى محتويات جميع صناديق بريد المستخدمين ، مما يعني أنه من أجل الانتقال إلى خادم بريد جديد ، لا يحتاج مسؤول النظام إلى معرفة كلمات المرور من حسابات المستخدمين العادية. لهذا السبب سيتم تنفيذ ترحيل كل مستخدم من MS Exchange إلى Zimbra باستخدام أمر من النموذج التالي:

imapsync --host1 exchange.company.ru --user1 "xxxxx" --authuser1 "yyyyy" --password1 "zzzzz" --nosslcheck --host2 zimbra.company.ru --user2 "XXXXX" --authuser1 "YYYYY" --password2 "ZZZZZ" 

في هذا الأمر ، نحدد المضيف المصدر (- host1 ) الذي سينتقل منه imapsync بيانات الحساب ، وكذلك المضيف (- host2 ) الذي ستتم كتابة هذه البيانات عليه. نحدد أيضًا اسم المستخدم ( --user1 ) على المضيف الأول واسم المستخدم المطابق ( --user2 ) على المضيف الثاني. من أجل الوصول إلى البيانات الخاصة به ، نحدد اسم حساب المسؤول ( --uthuser1 ) وكلمة مرور المسؤول (- كلمة المرور 1) للمضيف الأول ، ومن أجل تسجيل البيانات المرسلة ، اسم حساب المسؤول ( --uthuser2 ) وكلمة المرور المسؤول (- كلمة المرور 2 ) للمضيف الثاني.

في عالم مثالي ، سيكون مثل هذا الأمر كافيًا لنقل بيانات المستخدم بين الخوادم التي تستخدم MS Exchange و Zimbra ، ولكن كما يحدث في كثير من الأحيان ، تقوم الاختلافات بين الحلول بتصحيحاتها الخاصة وبالتالي فإن نقل البيانات البسيط من MS Exchange سيؤدي إلى فوضى رهيبة في صناديق بريد Zimbra . حجر العثرة في هذه الحالة هو أسماء مختلفة من المجلدات في علب البريد. لتجنب حدوث تشويش أثناء نقل البيانات ، من الضروري نقل فريقنا إلى النموذج التالي تقريبًا:

 imapsync --subscribe_all --maxmessagespersecond 4 --addheader --f1f2 "Inbox=INBOX" \ --f1f2 "Sent Items=Sent" --f1f2 "Sent items=Sent" --exclude "^Journal|^Tasks|^Trash|Contacts|Calendar|RSS Feeds" \ --useheader "Message-ID" --buffersize 8192000 --nosyncacls --allowsizemismatch --usecache --syncinternaldates --skipsize --nofoldersizes \ --tls1 --port1 143 --user1 "xxxxxxxxxx" --authuser1 "besadmin" --password1 "XXXXXXX" \ --host2 'xxxxxxx' --user2 "xxxxxx" --authuser2 "XXXXXX" --password2 "XXXX" --tls2 --port2 7143 \ --regextrans2 "s/Inbox1/INBOX/i" --regextrans2 "s/Sent Items/Sent/i" --regextrans2 "s/sent-mail/Sent/i" --regextrans2 "s/Deleted Items/Trash/i" --regextrans2 "s/Deleted Messages/Trash/" \ --delete2duplicates --timeout 600 --pidfile "impasync.local.pid" --logfile "imapsync.log" --sep1 "/" --errorsmax "100" 

لاحظ أن هذا ليس نصًا عالميًا سيعمل بلا عيب في أي بنية أساسية. قد يعتمد الكثير من الأشياء فيه على ميزات مختلفة للبنية التحتية الخاصة بك. هذا هو السبب ، قبل البدء في عملية ترحيل شاملة ، تأكد من اختبار نقل البيانات بين الأنظمة على عدد من حسابات الأعمال غير الهامة.

دع وفرة المعلمات التي يتم تشغيل imapsync بها لا تخيفك. هناك حاجة إلى معظمها على وجه التحديد حتى أنه عند نقل المجلدات من صندوق البريد لا يوجد أي تشويش ويتم نقل جميع العناصر من MS Exchange إلى Zimbra. على سبيل المثال ، تتيح المعلمة --subscribe_all لـ imapsync الحصول على جميع المجلدات الموجودة في حسابك حتى تتمكن من العمل معها لاحقًا. يسمح لك الخيار --f1f2 بتغيير اسم المجلد أثناء المزامنة. هذا هو ، عند المزامنة ، على سبيل المثال. يغير مجلد "العناصر المرسلة" اسمه إلى "المرسلة" ، والذي يسمح لك بتضمين محتوياته تمامًا في بنية مجلد Zimbra Collaboration Suite. تتيح لك المعلمة --regextrans2 أيضًا تغيير أسماء المجلدات وتستند إلى آلية regex الخاصة بلغة برمجة Perl ، وبالتالي فإن أولئك المطلعين على هذه اللغة سيتعلمون هذه المعلمة بسهولة.

لتوضيح ما تفعله خيارات --addheader و --useheader ، ستحتاج إلى البحث بشكل أعمق في كيفية مزامنة رسائل البريد الإلكتروني بالضبط في صورة مطبقة. والحقيقة هي أنه من أجل تزامن imapsync ، من الضروري تحديد الحروف على كلا الخادمين من أجل تحديد ما إذا كنت تريد مزامنتهما أم لا. للتحقق منها ، تستخدم هذه الأداة المعلمات مثل "معرف الرسالة:" و "المستلمة:" (رقم التعريف ووقت الاستلام) ، والتي هي غائبة في رسائل البريد الإلكتروني هذه ، مثل المسودات. لمزامنتها بشكل طبيعي ، نحتاج إلى الأمر --addheader. يسمح لك بإضافة رقم تعريف لهم من أجل تحديد ومقارنة هذه الرسائل بطريقة ما أثناء المزامنة. تسمح لك المعلمة --useheader بمقارنة الحروف باستخدام واحدة فقط من المعلمتين أثناء المزامنة.

بعد كتابة البرنامج النصي المثالي الذي سيسمح لنا بنقل النقل المثالي للحسابات من MS Exchange إلى Zimbra ، تظل هناك مشكلة كبيرة ، وهي تتعلق بحقيقة أنه لا يزال يتعين علينا نقل المستخدمين بين الخوادم واحدًا تلو الآخر. هذا ليس مثاليًا للغاية ، لا سيما في الشركات التي يوجد بها العديد من الموظفين ويقاس عدد صناديق البريد بالآلاف. ومع ذلك ، يمكن تحسين هذه العملية بشكل كبير عن طريق إنشاء قائمة بالحسابات ، ثم كتابة نص برمجي صغير ينقل البريد تلقائيًا بناءً على أسماء الحسابات. للقيام بذلك ، سنقوم بإنشاء ملف imap_users وإضافة جميع البيانات اللازمة إليه في النموذج التالي:

 domains=( domain1\ domain2) users=( user1@domain1\ user2@domain1\ user3@domain1\ user1@domain2\ user2@domain2\ user3@domain2) 

بعد ذلك ، سوف نكتب السيناريو نفسه. لقد حصلنا على شيء مثل هذا:

 . imap_users src_srv = exchange.company.ru dest_srv = zimbra.company.ru for ((i = 0; i < ${#users[@]}; i++ )) do /usr/bin/imapsync --subscribe_all --maxmessagespersecond 4 --addheader --f1f2 "Inbox=INBOX" \ --f1f2 "Sent Items=Sent" --f1f2 "Sent items=Sent" --exclude "^Journal|^Tasks|^Trash|Contacts|Calendar|RSS Feeds" \ --useheader "Message-ID" --buffersize 8192000 --nosyncacls --allowsizemismatch --usecache --syncinternaldates --skipsize --nofoldersizes \ --tls1 --port1 143 --host1 $src_srv --user1 ${users[$i]} --authuser1 "besadmin" --password1 "XXXXXXX" --nosslcheck \ --host2 $dest_srv --user2 ${users[$i]} --authuser2 "XXXXXX" --password2 "XXXX" --tls2 --port2 7143 \ --regextrans2 "s/Inbox1/INBOX/i" --regextrans2 "s/Sent Items/Sent/i" --regextrans2 "s/sent-mail/Sent/i" --regextrans2 "s/Deleted Items/Trash/i" --regextrans2 "s/Deleted Messages/Trash/" \ --delete2duplicates --timeout 600 --pidfile "impasync.local.pid" --logfile "imapsync.log" --sep1 "/" --errorsmax "100" done 

نظرًا لأن عملية نقل البيانات تزايدي ، فيمكنك أولاً نقل الجزء الأكبر من البيانات بين الخوادم ، وبعد ذلك ، في غضون فترة زمنية قصيرة ، نقل كمية صغيرة من البيانات التي تراكمت منذ المزامنة الأخيرة ، ونقل جميع البريد الوارد إلى Zimbra وجعله نظام البريد الرئيسي. نذكرك أنه قبل الترحيل إلى نظام البريد الجديد ، يجب عليك إخطار الموظفين بالانتقال المقبل ، وإجراء التدريب معهم ، وإعداد المذكرات حول مكان وجود وظائفهم المعتادة في Zimbra. بفضل هذا ، ستذهب عملية الترحيل بشكل أكثر سلاسة ولن تخلق مشاكل للعمل.

الهجرة من لوتس / دومينو إلى زيمبرا


في العديد من الطرق ، تكرر عملية الترحيل من نظام بريد IBM باستخدام imapsync عملية الترحيل من MS Exchange وأي نظام بريد آخر. ومع ذلك ، في عملية الترحيل المباشر ، يواجه العديد من المسؤولين خطأ في قطع الاتصال عبر IMAP ، وبالتالي إنهاء المزامنة. في الوقت نفسه ، لا تظهر رسالة خطأ في السجلات. إذا واجهت هذه المشكلة أثناء الترحيل من Lotus / Domino ، فإن الإجراءات التالية ستساعد في حل هذه المشكلة:

  • قم بتشغيل Lotus Notes بامتيازات المسؤول وانتقل إلى دفتر العناوين.
  • في إعدادات دفتر العناوين ، قم بتغيير تنسيق الرسالة الافتراضي إلى "MIME المفضل"
  • في نفس Lotus Notes الذي يتم تشغيله بامتيازات المسؤول ، قم بتغيير تنسيق قاعدة بيانات المستخدم إلى Mail (R6) ، والتي يتم أخذها من الخادم ، وليس من عميل البريد
  • قم بإيقاف تشغيل Lotus Domino Router من وحدة تحكم إدارة Domino باستخدام أمر tell router quit
  • قم بتعبئة قاعدة بيانات المستخدم من وحدة تحكم إدارة Domino باستخدام الأمر "load المضغوط userdb.nsf"
  • تحقق من قاعدة البيانات عن طريق تشغيل الأمر fixup userdb.nsf من وحدة تحكم Domino (وليس من وحدة تحكم المسؤول)
  • من وحدة تحكم إدارة Domino ، قم بتشغيل الأمر "convert -e userdb.nsf" لإعداد قاعدة البيانات لنقل imap
  • من وحدة تحكم إدارة Domino ، قم بتشغيل الأمر "convert -h userdb.nsf" لإضافة رؤوس imap إلى جميع الرسائل.

بعد الانتهاء من كل هذه الخطوات ، يجب أن يمر نقل البريد من Lotus / Domino إلى Zimbra باستخدام imapsync دون أي مشاكل.

بالإضافة إلى الأدوات المساعدة للترحيل ، تم ترك عملاء Zimbra لأجهزة الكمبيوتر المكتبية والأجهزة المحمولة دون دعم. أيضًا ، تمت إزالة عميل الويب HTML من الدعم ، والذي تم استخدامه لضمان التوافق مع المتصفحات القديمة والأجهزة منخفضة الطاقة. يمكن استبدالهم جميعًا بسهولة بواسطة عملاء من جهات خارجية ، نظرًا لحقيقة أن Zimbra يدعم جميع المعايير والبروتوكولات المفتوحة تقريبًا.

تذكر أنه يمكن إجراء الترحيل بين خوادم Zimbra باستخدام أداة الترحيل المجانية Zextras ، والتي يمكنك تنزيلها على موقع Zextras الرسمي.

لجميع الأسئلة المتعلقة بجناح Zextras ، يمكنك الاتصال بممثل Zextras Katerina Triandafilidi عن طريق البريد الإلكتروني katerina@zextras.com

Source: https://habr.com/ru/post/ar458912/


All Articles