العودة إلى المدونة

دليل إعداد خادم البريد: كيفية استخدام Postfix و Dovecot و MySQL و SpamAssassin

دليل إعداد خادم البريد: كيفية استخدام Postfix و Dovecot و MySQL و SpamAssassin

مقدمة

على Ubuntu 20.04، يمكنك استخدام أدوات مثل Postfix, Dovecot, MySQL، و SpamAssassin لتكوين خادم بريد. قد تكون هذه العملية مربكة لشخص يحاول القيام بها للمرة الأولى. يهدف هذا البرنامج التعليمي إلى تبسيط عملية تكوين خادم البريد بالنسبة لك بخطوات مفصلة. في نهاية هذا البرنامج التعليمي، ستعرف كيفية إضافة النطاقات الافتراضية والمستخدمين والأسماء المستعارة. في النهاية، ستجعل خادمك الافتراضي أكثر أمانًا من مراكز البريد العشوائي.

المتطلبات الأساسية

قبل البدء في تكوين خادم البريد، هناك بعض المتطلبات الأساسية التي يجب الاهتمام بها. أولاً، تأكد من أن خادمك الخاص الافتراضي لديه نطاق يقوم بالتوجيه إلى خادمك. تحتاج أيضًا إلى تثبيت وتكوين MySQL. بالإضافة إلى ذلك، يجب أن يكون لديك مستخدم ممتنح بصلاحيات root و تثبيت شهادة SSL. أخيرًا، تأكد من أن FQDN  مكون ومحدد.

إذا قمت بتثبيت حزمك كمستخدم root، فستحصل على جميع الصلاحيات. ولهذا السبب نوصي بذلك:

أدخل كلمة مرور المستخدم الخاص بك. في هذه المرحلة، سترى الرمز $ يتغير إلى #. بعد ذلك، دعنا نستكشف الجوانب المختلفة للتكوين واحدًا تلو الآخر.

الخطوة 1: تثبيت الحزم

سنبدأ بتعلم كيفية تثبيت الحزم:

عندما تظهر نافذة تكوين Postfix، حدد Internet Site:

Mail Server postfix config

سيُطلب منك إدخال اسم System mail الخاص بالنظام. هنا، يمكنك استخدام FQDN أو النطاق الرئيسي:

postfix configuration 2

الخطوة 2: إنشاء قاعدة بيانات MySQL، والنطاقات الافتراضية، والمستخدمين، والأسماء المستعارة

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

دعنا نقول أننا نريد تسمية قاعدة البيانات الخاصة بنا servermail. أنت حر في استخدام الاسم الذي تختاره. إليك كيفية إنشائها:

yيجب عليك تسجيل الدخول كمستخدم root لـ MySQL:

بعد ذلك، أدخل كلمة المرور الخاصة بك. ستظهر المحاولة الناجحة هذه النتيجة:

بعد ذلك، سنقوم بإنشاء مستخدم جديد لمصادقة البريد على وجه الخصوص. امنح صلاحية SELECT على النحو التالي:

بعد ذلك، قم بإعادة تحميل صلاحيات MySQL لتطبيق الأذونات بنجاح:

بعد ذلك، سنستخدم قاعدة البيانات الخاصة بنا لإنشاء الجداول وإدخال البيانات:

سنقوم بإنشاء جداول فردية للنطاقات المحددة المعترف بها كنطاقات مصرح بها:

الهدف هو إدخال المستخدمين إلى الجدول. وبالتالي، سنقوم بإضافة عنوان البريد الإلكتروني وكلمة المرور ذات الصلة. ضع في اعتبارك أنه يجب عليك ربط كل مستخدم بنطاق:

بعد ذلك، سنقوم بإنشاء جدول لجميع الأسماء المستعارة الافتراضية لتحديد جميع رسائل البريد الإلكتروني التي سنقوم بإعادة توجيهها إلى البريد الإلكتروني الآخر:

بحلول نهاية هذه العملية، ستكون قد قمت بإنشاء ثلاثة جداول بنجاح. بعد ذلك، يتعين علينا إدخال البيانات.

  • النطاقات الافتراضية

في هذا القسم، سنتعلم كيفية إدخال النطاقات داخل virtual_domains الجدول. على وجه التحديد، سنركز على كيفية إدخال النطاق الأساسي (example.com) و FQDN (hostname.example.com):

  • رسائل البريد الإلكتروني الافتراضية

بعد ذلك، أدخل عنوان البريد الإلكتروني وكلمات المرور المرتبطة به لكل نطاق من النطاقات. تأكد من تغيير جميع المعلومات بمعلوماتك الخاصة:

  • الأسماء المستعارة الافتراضية

الآن يمكنك إدخال عنوان البريد الإلكتروني الذي ستقوم بإعادة توجيه عنوان البريد الإلكتروني الآخر إليه. الأول هو المصدر بينما الأخير هو الوجهة:

بعد ذلك، يمكنك الخروج من MySQL:

الخطوة 3: تكوين Postfix

من المهم تكوين Postfix حتى يتمكن من إدارة اتصالات SMTP. يجب أن يكون قادرًا أيضًا على إرسال الرسائل لجميع المستخدمين الذين تم إدخالهم في قاعدة بيانات MySQL. لنبدأ بعمل نسخة من الملف الافتراضي. هذا حتى تتمكن من العودة بسهولة إلى التكوين الافتراضي إذا وعند الحاجة:

الآن افتح ملف main.cf لتعديله:

ابدأ بتحويل معلمات TLS إلى تعليقات ثم قم بإلحاق أي معلمات أخرى. في مثالنا، نستخدم شهادات SSL المجانية. يمكنك بالطبع تغيير التكوين وفقًا لمتطلباتك:

بعد ذلك، ستقوم بإلحاق هذه المعلمات أسفل إعدادات TLS:

بعد ذلك، يتعين علينا وضع علامة تعليق على mydestination الإعدادات الافتراضية. بعد ذلك، سنستبدلها بـ localhost. مع هذا التغيير، سيكون خادم VPS قادرًا على استخدام النطاقات الافتراضية في جدول MySQL:

الآن استخدم هذا الأمر للتحقق من أن myhostname تم تعيينها في FQDN الخاص بك:

بالإضافة إلى ذلك، قم بإلحاق هذا السطر لتنشيط تسليم البريد المحلي إلى جميع النطاقات الافتراضية المدرجة في الجدول:

أخيرًا، سنقوم بإضافة المعلمات التالية لإخبار Postfix بتكوين النطاقات الافتراضية والمستخدمين والأسماء المستعارة:

للتأكد من عدم وجود أخطاء، قارن هذه التغييرات بالملف التالي:

https://www.dropbox.com/s/x9fpm9v1dr86gkw/etc-postfix-main.cf.txt

بمجرد التحقق من كل ذلك، ستقوم بإنشاء ثلاثة ملفات لإلحاقها في ملف main.cf. الهدف هنا هو إعطاء Postfix تعليمات حول كيفية الاتصال بـ MySQL. للقيام بذلك، سنبدأ بإنشاء ملف mysql-virtual-mailbox-domains.cf . بالطبع، في ملفك، ستقوم بإجراء التغييرات وفقًا لتكوينك الشخصي:

بعد ذلك، أعد تشغيل Postfix:

يجب عليك التأكد من أن Postfix قادر على العثور على نطاقك. لاختبار ذلك، استخدم هذا الأمر:

سيرجع الأمر القيمة 1 إذا كان ناجحًا. في هذه الحالة، يمكنك المتابعة بإنشاء ملف mysql-virtual-mailbox-maps.cf :

أعد تشغيل Postfix مرة أخرى:

مرة أخرى، سنتأكد من أن Postfix قادر على العثور على عنوان البريد الإلكتروني الأول. لاختبار ذلك، استخدم الأمر التالي:

إذا كان ناجحًا، فستحصل على مخرجات بقيمة 1 في المقابل. على هذا النحو، سننتقل لإنشاء الملف الأخير:

بهذا يكتمل التكوين بين Postfix و MySQL. أعد تشغيل Postfix لتطبيق التغييرات:

لتأكيد أن Postfix يجد بالفعل أسماءك المستعارة، استخدم هذا الأمر:

من الناحية المثالية، يجب أن تتلقى البريد الإلكتروني الذي تمت إعادة توجيهه إلى الاسم المستعار كمخرج. يمكنك أيضًا تعديل ملف /etc/postfix/master.cf بهذا الشكل إذا كنت تريد توصيل المنفذ 587 مع عملاء البريد الإلكتروني بأمان:

إليك كيفية إلغاء تعليق أسطر معينة وإلحاق المعلمات:

في بعض الأحيان، قد تحتاج إلى إعادة تشغيل Postfix للتأكد من أن المنفذ مفتوح:

يمكن استخدام هذه الأداة لفحص منافذ النطاق أيضًا. يمكنك استخدامها للتحقق من أن المنافذ 25 و 587 مفتوحة.

الخطوة 4: تكوين Dovecot

الآن حان الوقت لتكوين Dovecot. بالنسبة لهذا القسم، سيتعين علينا نسخ الملفات السبعة التي تريد تعديلها. هذا لضمان إمكانية التراجع إذا لزم الأمر. أدخل هذا الأمر واحدًا تلو الآخر:

يجب عليك تعديل ملف التكوين من Dovecot:

تأكد من إلغاء تعليق الخيار:

بعد ذلك، سنقوم بتمكين البروتوكولات أسفل سطر !include_try /usr/share/dovecot/protocols.d/*.protocol . إذا أردت، يمكنك أيضًا إضافة pop3:

لضمان عدم وجود أخطاء، قارنه بهذا الملف:

https://www.dropbox.com/s/wmbe3bwy0vcficj/etc-dovecot-dovecot.conf.txt

بعد ذلك، قم بتعديل ملف تأكيد البريد:

حدد موقع سطر mail_location . تحتاج إلى إلغاء تعليقه وإضافة هذه المعلمة:

بعد ذلك، حدد موقع سطر mail_privileged_group . مرة أخرى، قم بإلغاء تعليقه وإضافة معلمة البريد:

للقضاء على أي احتمال لحدوث أخطاء، قارنه بهذا الملف:

https://www.dropbox.com/s/hnfeieuy77m5b0a/etc.dovecot.conf.d-10-mail.conf.txt

  • التحقق من الأذونات

للتحقق من الأذونات، استخدم هذا الأمر:

تأكد من أن أذوناتك تظهر على النحو التالي:

يمكنك إنشاء مجلد لكل نطاق. سيتم تسجيل كل هذه المجلدات في جدول MySQL:

قم بإنشاء مستخدم ومجموعة vmail باستخدام معرف 5000:

بعد ذلك، يجب عليك تغيير مالك مجلد /var/mail إلى المستخدم vmail:

الآن قم بتحرير ملف /etc/dovecot/conf.d/10-auth.conf الملف:

أضف السطر التالي بعد إلغاء تعليق مصادقة النص الصريح:

استخدم هذا لتعديل معلمة auth_mechanisms المعلمة:

الآن قم بتعليق هذا السطر:

لتمكين تفويض MySQL، يجب عليك إلغاء تعليق السطر التالي:

لاكتشاف الأخطاء وتعديلها، استخدم الملف التالي:

https://www.dropbox.com/s/4h472nqrj700pqk/etc.dovecot.conf.d.10-auth.conf.txt

إنشاء ملف /etc/dovecot/dovecot-sql.conf.ext بمعلوماتك سيسمح لك بالمصادقة:

أدخل هذا الكود في الملف:

سنستخدم معلومات MySQL المخصصة لدينا لتعديل ملف /etc/dovecot/dovecot-sql.conf.ext الملف:

قم بتعيين MySQL كمعلمة بعد إلغاء تعليق معلمة driver على النحو التالي:

يمكنك إدخال معلومات MySQL الخاصة بك عن طريق إلغاء تعليق سطر connect السطر:

الآن عليك إلغاء تعليق سطر default_pass_scheme وتغييره إلى SHA-512:

أضف المعلومات التالية بعد إلغاء تعليق password_query:

لاكتشاف الأخطاء، استخدم هذا الملف للمقارنة:

https://www.dropbox.com/s/48a5r0mtgdz25cz/etc.dovecot.dovecot-sql.conf.ext.txt

بعد ذلك، يمكنك تغيير المالك والمجموعة لمجلد dovecot إلى المستخدم vmail:

الخطوة التالية هي تعديل ملف /etc/dovecot/conf.d/10-master.conf . يجب أن تكون حذرًا للغاية هنا حيث سيتم تغيير معلمات مختلفة:

استخدم الكود التالي لتغيير معلمة unix_listener إلى service_auth:

بعد ذلك، عليك تحرير service auth-عامل على النحو التالي:

اكتشف الأخطاء من خلال المقارنة مع هذا الملف:

https://www.dropbox.com/s/g0vnt233obh6v2h/etc.dovecot.conf.d.10-master.conf.txt

الخطوة التالية هي تعديل ملف تكوين SSL من Dovecot. إذا كنت تخطط لاستخدام التأكيد الافتراضي، فيمكنك تخطي هذه الخطوة والانتقال إلى القسم التالي:

بعد ذلك، قم بتغيير ssl إلى required على النحو التالي:

سنقوم أيضًا بتعديل المسار لكل من ssl_cert و ssl_key:

أعد تشغيل Dovecot:

تأكد من التحقق من أن المنفذ 993 مفتوح. إذا قمت بتمكين pop3، فتحقق أيضًا من المنفذ 995:

إذا كنت قد أكملت الخطوات حتى هذه النقطة، فتهانينا! لقد قمت بتكوين خادم البريد الخاص بك بنجاح. للتأكد من أنك قمت بجميع الخطوات بشكل صحيح، يمكنك اختبار حسابك بمساعدة عميل بريد إلكتروني مثل هذا:

المنفذ 993 يُستخدم لـ IMAP الآمن والمنفذ 587/المنفذ 25 لـ SMTP.

الخطوة 5: تكوين SpamAssassin

لقد وصلنا أخيرًا إلى القسم الأخير من البرنامج التعليمي حيث سنقوم بتكوين SpamAssassin. سنبدأ بتثبيت SpamAssassin:

قم بإنشاء مستخدم لـ SpamAssassin على النحو التالي:

yيجب عليك فتح وتعديل إعدادات التكوين لتتمكن من تكوين SpamAssassin:

الآن بعد أن أصبحت هنا، يجب عليك تغيير ENABLED لتمكين daemon الخاص بـ SpamAssassin:

قم بتعديل معلمات home و options باستخدام هذا الكود:

استخدم هذا السطر لتحديد المعلمة PID_File :

بعد ذلك، استخدم هذا الأمر للإشارة إلى أنه سيتم تحديث قواعد SpamAssassin تلقائيًا:

تحقق من وجود أخطاء من خلال المقارنة مع المستند التالي:

https://www.dropbox.com/s/ndvpgc2jipdd4bk/etc.default.spamassassin.txt

إذا كنت تريد إعداد قواعد مكافحة البريد العشوائي، فيجب عليك فتح ملف /etc/spamassassin/local.cf مرة أخرى:

الطريقة التي يعمل بها SpamAssassin هي أنه يعطي درجة لكل بريد يتلقاه المستخدم. ويقوم بتقييم درجات رسائل البريد الإلكتروني وإذا كانت أكبر من 5.0 في فحص البريد العشوائي، فسيتم وضع علامة على البريد كبريد عشوائي. فيما يلي المعلمات التي يمكنك استخدامها لتكوين قواعد مكافحة البريد العشوائي هذه:

بمجرد تعيين قواعد مكافحة البريد العشوائي، ستحتاج إلى إخبار Postfix بأنه يجب فحص كل بريد إلكتروني باستخدام SpamAssassin. لهذا الغرض، نحتاج إلى تعديل /etc/postfix/master.cf ملف:

ابحث عن السطر التالي وأضف spamassassin فلتر:

الآن يمكنك إلحاق هذه المعلمات:

أخيرًا، قم بتشغيل SpamAssassin وأعد تشغيل Postfix لتطبيق التغييرات. عند إعادة التشغيل، سيبدأ Postfix في التحقق من البريد العشوائي من رسائل البريد الإلكتروني:

وهذا كل شيء! لقد قمت بتكوين خادم البريد الخاص بك بنجاح باستخدام Postfix و Dovecot. كما قمت أيضًا بإجراء مصادقة MySQL وإعداد تصفية البريد العشوائي باستخدام SpamAssassin.

الخاتمة

يوضح هذا البرنامج التعليمي الخطوات التي يتعين عليك اتباعها لتكوين خادم البريد الخاص بك باستخدام الأدوات المذكورة أعلاه. ويمكن استخدامه كدليل شامل لك لإعداد خادم البريد الخاص بك بشكل مستقل. إذا كنت مهتمًا بـ استخدام ميزة خادم SMTP من Google، فاتبع هذا البرنامج التعليمي.

حوسبة سعيدة!

author

Pranay Kapgate

المؤلف · CloudSigma

Preslav Dobrev هو مصمم إبداعي في CloudSigma، يركز على هوية أعمال متسقة باستخدام قنوات التسويق التقليدية والمبتكرة. هو بارع في دمج الرؤية الفنية مع التسويق الاستراتيجي لخلق سرد قصصي مؤثر للعلامة التجارية.

التعليقات

لا توجد تعليقات بعد. كن أول من يعلق.