كيفية تشغيل خادم بريد إلكتروني مع Mail-in-a-box على Ubuntu 14.04
Othman Alikhan / September 2023
المألف الأصلي: finid
المقال الأصلي: https://www.digitalocean.com/community/tutorials/how-to-run-your-own-mail-server-with-mail-in-a-box-on-ubuntu-14-04
تاريخ النشر الأصلي: 2015-05-15
العلامات: cybersecurity sysadmin linux ubuntu digitalocean
جدول المحتويات
- المقدمة
- 1. المتطلبات الأساسية
- 2. الخطوة الأولى - تكوين الاسم المستضيف
- 3. الخطوة الثانية - تغيير ملف /etc/hosts
- 4. الخطوة الثالثة - إنشاء سخلات لاصقة
- 5. الخطوة الرابعة - ثبت Mail-in-a-Box
- 6. الخطوة الخامسة - تسجيل الدخول إلى لوحة معلومات Mail-in-a-Box
- 7. الخطوة السادسة - وصول إلى بريد الويب وإرسال بريد تجربة
- 8. الخطوة السابعة - تثبيت شهادة
- 9. الخاتمة
المقدمة
Mail-in-a-Box عبارة عن حزمة برامج مفتوح المصدر التي تقوم بتيسير التحويل خادم Ubuntu إلى حل بريد إلكتروني كامل لنطاق عديدة.
لتأمين الخادم, Mail-in-a-box يستخدم Fail2ban وشهادة SSL (موقوع بنفسه افتراضيًا). يتم تكوينه تلقائيًا جدار حماية UFW مع كل المنافذ المطلوبة مفتوح. مكافحتها الريد العشوائي والميزات الأمان الأخرى تضمن قائمة رمادية, SPF, DKIM, DMARC, وTLS الانهازية, الشفرات القوية, HSTS, وDNSSEC (مع DANE TLSA).
Mail-in-a-Box هي مصمم أن تعمل مع SMTP, IMAP/POP, وتصفية البريد العشوائي, بريد الويب, وحتى DNS كجزء من حله الكلي. لأن الخادم يتعامل مع الDNS لك, فستحصل على حل DNS جاهز للاستخدام ومحسن للبريد. معناه هذا أنك تحصل سجلات DNS معقدة لبريدك الإلكتروني (تشمل SPF وDKIM سجلان) بدون تبحث عنها وإعدادها يدويًا. يمكنك أن تعدل إعداداتك DNS من بعد كما تحتاج, ولكن الافتراضية قد تعمل جيدًا لمعظم المستخدمين الذين يستضيفون بريدهم الخاص.
هذا المدونة توضح كيف تعدد Mail-in-a-Box على قطرة DigitalOcean تجري Ubuntu 14.04 x86-64.
المتطلبات الأساسية
Mail-in-a-Box تكون خاصًا جدًا بالموارد المتوفر لها. بالخصوص, تحتاج:
- قطرة Ubuntu 14.04 x86-64
- خادم مع 768MB RAM على الأقل (يوصى 1GB)
- تأكد أن الخادم معدد كمثل في هذه المدونة, مع إضافة مستخدم sudo وتعطيل وصول بكلمة السر لSSH للمستخدم الجذري (واحتمالًا كل المستخدمين أذا قمت بإنشاء مفاتيح SSH سابقًا)
- لما تقوم بتعديد قطرة DigitalOcean, الاسم يجب أن تكون
box.example.com
. تحديد الاسم المضيف تناقش لاحقًا في هذا المدونة - سنذهب إلى تفاصيل أكثر لاحقًا, ولكن نطاق المسجل لك تحتاج تدعم إعدادات لتخصيص الاسم الخادم وتلصق سجلات لتستضيف DNS خاص بك على قطرتك؛ الكلمة vanity nameservers تستخدم غالبًا
- (اختياريًا) شراء شهادة SSL لاستخدامها بدال وحدة موقعة بنفسها؛ هذا الموصى في البيئات الإنتاج
في المتطلبات RAM, البرنامج النصي للتثبيت توقف مع المخرج التالي لو المتطلبات RAM غير مقبولة:
Error
Your Mail-in-a-Box needs more memory (RAM) to function properly.
Please provision a machine with at least 768 MB, 1 GB recommended.
This machine has 513 MB memory
قبل أن تبدأ على هذا, تأكد أن عندك خادم Ubuntu مع 1GB من RAM.
لهذه المدونة, نفترض أن النطاق التي تعدد بها على الخادم البريد هي example.com
. إنك, بالتأكيد, متوقع أن تبدل هذا مع نطاقك الحقيقة.
الخطوة الأولى - تكوين الاسم المضيف
في هذه الخطوة, ستتعلم كيف تعدد الاسم المستضيف بطريق صحيح, لو ما كان معدد. ثم تتغير الملف /etc/hosts
ليطابق.
من الآن وصاعدًا, يفترض أنك داخل حسابك DigitalOcean وداخل الخادم كمستخدم sudo عبر SSH:
ssh sammy@your_server_ip
رسميًا, يوصى أن اسم المضيف لخادمك تحدد إلى box.example.com
. يجب هذا أيضًا أن يكون اسم قطرتك كما يظهر على لوحة القيادة على DigitalOcean. لو اسم القطرة محدد فقط إلى اسم الناطق, فم بتسميتها مرة أخرى بنقر يمني على اسم القطرة, ثم Settings > Rename.
بعد تعديد اسم القطرة كما ينصح, تأكد أنها تطابق ما يظهر في ملف /etc/hostname
بكتاب هذا الأمر:
hostname
المخرج يقرأ كمثل هذا:
Output
box.example.com
لو المخرج لم يطابق الاسم المظهر على لوحة قيادتك على DigitalOcean, قم بتصحيحها بكتابة:
sudo echo "box.example.com" > /etc/hostname
الخطوة الثاني - تغيير ملف /etc/hosts
الملف /etc/hosts
تحتاج تغييرات ليوافق الاسم المضيف مع عنوان IP الخادم. لتغيره, افتحه مع nano أو أحب محرر النصوص:
sudo nano /etc/hosts
غير العناوين IPv4, ليقرأ:
الملف: /etc/hosts
127.0.0.1 localhost.localdomain localhost
your_server_ip box.example.com box
يمكنك أن تنسخ السطر localhost.localdomain localhost
حرفيًا. استخدم IP الخاص بك والنطاق في السطر الثاني.
احفظ وأغلق الملف.
الخطوة الثالث - إنشاء سخلات لاصقة
حتى لو يمكنك عندك خدمة DNS خارجية, مثل الموفر من مسجل النطاق لك, يخدم كل DNS قرارات DNS للخادم, يوصى بشدة أن تعطي مسؤوليات DNS إلى الخدام Mail-in-a-Box.
هذا يعني أتك تحتاج أن تعدد سجلات لاصقة (glue records) لما تستخدم Mail-in-a-Box. استخدام سجلات لاصقة تيسر أن تعدد الخادم آمنًا وصحيحًا للبريد. لما تستخدم هذا الطريق, أنه مهم جدًّا أن كل المسؤوليات DNS تعطى إلى خادم Mail-in-a-Box, حتى لو كان موقع نشيط تستخدم النطاق المستهدف.
لو ما عندك موقع نشيط على نطاقك, تأكد أن تعدد سجلات DNS مناسب إضافيًّا على خادمك Mail-in-a-Box. وإلا نطاقك لم يحلل إلى موقعك. يمكنك أن تنسخ سجلات DNS الموجودة لتأكد أن كل شيء يعمل كما أنه مفترض.
إعداد سجلات لاصقة (تسمى إضافيًّا private nameservers, vanity name servers, وchild namerservers) يجب أن يكون مكمل في مسجل النطاق الخاص بك.
لتعدد سجل لاصقة, يجب إكمال المهام التالية:
- تحديد السجلات اللاصقة نفسهن. هذا يضمن إنشاء عناوين اسم خادم مخصصة مرتبطة مع اسم المستضيف الكامل للخادم, زائد البادئات
ns1
وns2
, مع عنوانه IP. هؤلاء يجب أن يكون:
- ns1.box.example.com your_server_ip
- ns2.box.example.com your_server_ip
- تنقيل المسؤوليات DNS إلى خادم Mail-in-a-Box.
- example.com NS ns1.box.example.com
- example.com NS ns2.box.example.com
ملاحظة: يجب إكمال كلتا المهمتين بشكل صحيح. وإلا, الخادم لم يعمل كخادم بريد. (وبدلًا, يمكنك أن تعدد كل السجلات المناسبة MX, SPF, DKIM, etc على اسم خادم أخرى).
الخطوات بالضبط تضمن في هذا العملية تختلف حسب المسجل النطاق. لو الخطوات في هذا المدونة لم تطابق لك, اتصل بفريق الدعم الفني لمسجل النطاق لك للحصول على مساعدة.
مثال: Namecheap
لتبدأ, قم بتسجيل الدخول في حسابك على المسجل النطاق. كيف يظهر لوحة المعلومات يعتمد على المسجل النطاق التي تستخدمه. المثال يستخدم Namecheap, لذلك الخطوات والصُّوِر المستخدم في هذا المدونة هي بالضبط كما تجدها لو كان عندك حساب Namecheap. لو كنت تستخدم مسجل مختلف, اتصل على دعم الفني لهم أو زور قاعدة معارفهم للتعلم على كيف تنشئ سجل لاصق.
بعد تسجيل الدخول, ابحث عن قائمة النطاق التي تديره وانقر على النطاق المستهدف؛ ذلك الذي, ستقوم باستخدامه لإنشاء خادم البريد.
ابحث عن عنصر القائمة الذي يسمح لك أن تغير معلومات عنوان اسم الخادم له. على لوحة معلومات Namecheap, ذلك عنصر القائمة تسمى Nameserver Registration
تحت قسم قائمة Advanced Options
. تجب أن تحصل على واجهة تظهر كالتالي:
نحن نقوم بإنشاء سجلان لاصقان للخادم:
- ns1.box.example.com
- ns2.box.example.com
لما أن حقل واحد مخصص فقط متوفر, يجب أنهم يكونون مكوِّنون في سلسلة. كما يتبين في الصورة السفلى, اكتب ns1.box
في الموقع الذي يظهر الرقم 1
, ثم اكتب العنوان IP للخادم Mail-in-a-Box في حقل العنوان IP (مشار إليه بالرقم 2). وأخيرًا, انقر على زر Add Nameservers
لتضيف السجل (رقم 3).
كرر للسجل الآخر, مع التأكد أن تستخدم ns2.box
مع نفس اسم النطاق وعنوان IP.
بعد إنشاء كلا السجلان, ابحث عن إدخال قائمة أخرى تقول Transfer DNS to Webhost
. يجب أن تحصل نافذة تشبه كمثل الصورة المظهرة تحت. اختار الخيار DNS المخصص, ثم اكتب في أول الحقلان:
- ns1.box.example.com
- ns2.box.example.com
انقر لتطبق التغييرات.
ملاحظة: الخوادم DNS المخصصة التي كتبتها هنا يجب أن تكون نفس التي حددتها سابقًا في تسجيل الاسم الخادم.
تغييرات DNS تأخذ بعض الوقت لتنتشر. يمكنها تأخذ 24 ساعات, ولكن أخذ حوالي 15 دقيقة للتغييرات أن تنتشر للنطاق التجربية.
يمكنك أن تتأكد أن التغييرات DNS تم تنشيرها بزيارة whatsmydns.net. ابحث للسجلات A و MX في النطاق المستهدف. لو يوافقوا مع التي حددتها في هذا الخطوة, يكمنك أن تستمر إلى خطوة 4. وإلا كرر هذا الخطوة مرة أخرى أو تواصل مع المسجل لك للمساعدة.
الخطوة الرابعة - ثبت Mail-in-a-Box
في هذه الخطوة, تستخدم البرنامج النصي لتثبيت Mail-in-a-Box على قطرتك. البرنامج النصي لتثبيت Mail-in-a-Box يثبت كل حزمة محتاج لتعمل خادم بريد متكامل, لذلك تحتاج فقط أن تشغل أمر بسيط وتتبع المطالبات.
مفترض أنك لا زال مسجلًا في الخادم, اذهب إلى مجلدك الرئيسي:
cd ~
ثبت Mail-in-a-Box:
curl -s https://mailinabox.email/bootstrap.sh | sudo bash
البرنامج النصي يطالبك مع الرسالة الابتدائية في الصورة التالي. اضغط ENTER
.
الآن يطلب منك أن تنشئ البريد الإلكتروني الأول, التي تستخدمه لاحقًا لتسجيل الدخول في النظام. يمكنك أن تدخل contact@example.com
أو عنوان بريد إلكتروني آخر على نطاقك. تقبل أو تعدل البريد الإلكتروني المقترح, واضغط ENTER
. بعد ذلك, يطلب منك أن تحدد وتأكد كلمة السر لحسابك البريد الإلكتروني.
بعد إعداد البريد الإلكتروني, يطلب منك تأكيد الاسم المضيف للخادم. يجب أن تطابق التي عددتها في خطوة 1, وهي في هذه المثال box.example.com
. اضغط ENTER
.
بعد ذلك سيطلب منك تحديد البلد. اختره بتمرير فوق أو تحت باستخدام مفاتيح الأسهم. اضغط ENTER
بعد ما اخترت الاختيار الصحيح.
عند نقطة معين, ستحصل هذه الطالبة:
Output
Okay. I'm about to set up contact@example.com for you. This account will also have access to the box's control panel.
password:
حدد الكلمة السر للحساب البريد الافتراضي, التي تكون إضافيًا الحساب المدير للواجهة الويب.
بعد صحة تكميل التثبيت, سترى بعض المخرج المعلق ما بعد التثبيت والتي تشمل:
Output
mail user added
added alias hostmaster@box.example.com (=> administrator@box.example.com)
added alias postmaster@example.com (=> administrator@box.example.com)
added alias admin@example.com (=> administrator@box.example.com)
updated DNS: example.com
web updated
alias added
added alias admin@box.example.com (=> administrator@box.example.com)
added alias postmaster@box.example.com (=> administrator@box.example.com)
-----------------------------------------------
Your Mail-in-a-Box is running.
Please log in to the control panel for further instructions at:
https://your_server_ip/admin
You will be alerted that the website has an invalid certificate. Check that
the certificate fingerprint matches:
1F:C1:EE:C7:C6:2C:7C:47:E8:EF:AC:5A:82:C1:21:67:17:8B:0C:5B
Then you can confirm the security exception and continue.
الخطوة الخامسة - تسجيل الدخول إلى لوحة معلومات Mail-in-a-Box
الآن تقوم بتسجيل الدخول إلى واجهة الإدارية Mail-in-a-Box وتعرف على خادمك البريد الجديد. لتوصل إلى واجهة الإدارية, استخدم الرابط المتوفر في مخرج ما بعد التثبيت. هذا يكون:
- https://your_server_ip/admin#
لأن HTTPS وشهادة موقع ذاتيًا كانا مستخدمان, ستحصل تحذير أمنيًا في نافذة متصفحك الويب. تلزم لك أن تضيف استثناء أمني. كيف تنفذه يعتمد أي متصفح والويب تستخدم.
لو كنت تستخدم Firefox, مثل, ستحصل نافذة متصفح مع تحذير يشبه كالتي في الصورة التالي.
لتقبل الشهادة, انقر زر ‘I Understand the Risks’, ثم على زر Add Exception
.
في الشاشة التالية, يمكنك أن تأكد أن بصمة الشهادة يوافق التي في المخرج ما بعد التثبيت, ثم انقر على زر ‘Confirm Security Exception’.
بعد إنشاء الاستثناء, قم بتسجيل الدخول باستخدام الاسم المستخدم وكلمة السر للحساب البريد التي قمت بإنشائها أثناء التثبيت. لاحظ أن اسم المستخدم هو عنوان البريد الكامل, مثل contact@example.com
.
لما تقوم بتسجيل الدخول, يبدأ فحص حالة النظام. Mail-in-a-Box تأكد أن جميع جوانب الخادم, يشمل السجلات اللاصقة, كان مكون صحيحًا. لو صحيح, سترى بحر من النص أخضر (وبعض أخضر أصفر), باستثناء الجزء المعلق بالشهادات SSL, ستكون أحمر. يمكنك أن ترى رسالة عن إعادة تشغيل, والتي يمكنك الاهتمام بها.
ملاحظة: لو كان في مخارج أحمر عن سجلات DNS MX غلط للنطاق المكون, يعني أن خطوة 3 مكمل غير صحيح. قم بزيارة تلك الخطوة أو تواصل مع فريق الدع الفني للمسجل النطاق لك للمساعدة.
لو كان النصوص الأحمر فقط بسبب شهادات SSL, مبروك! لقد نجحت بتعديد خدام بريد إلكتروني خاص بك باستخدام Mail-in-a-Box.
لو رغبت أن تزور هذا القسم (مثل, بعد انتظار للDNS أن ينتشر), هو تحت System > Status Checks.
الخطوة السادسة - وصول إلى بريد الويب وإرسال بريد تجربة
للوصول إلى واجهة البريد الويب, انقر على Mail > Instructions من الجزء التنقل الأعلى, وقم بتوصيل إلى URL موفر في تلك الصفحة. يكون كمثل هذا:
- https://box.example.com/mail
قم بتسجيل الدخول مع عنوان البريد (مع جزء example.com) وكلمة السر التي عددتها سابقًا.
يستخدم Mail-in-a-Box برنامج Roundcube كتطبيق البريد الوب. ارسل بريد تجربية إلى عنوان بريد خارجي. ثم, رد أو ارسل رسالة جديدة إلى العنوان التي تديره خادمك Mail-in-a-Box.
البريد الصادر يجب أن تستلم على الفور تقريبًا, ولكن بسبب القائمة الرمادية تعمل على الخادم Mail-in-a-Box, يمكن تأخذ حوالي 15 دقيقة قبل أن يظهر البريد الوارد.
هذا لم تشتغل لو DNS لم تكون معددة صحيحًا.
لو يمكنك أن ترسل وتحصل رسائل تجربية, فأنك تشتغل بريد إلكتروني خاص بك الآن. مبروك!
الخطوة السابعة - تثبيت شهادة SSL
Mail-in-a-box ينشئ شهادة ذاتي خاصة بها بالافتراض. لو تريد أن تستخدم هذا الخادم في بيئة منتجية, نحن نوصى تثبيت شهادة SSL رسمية.
أولًا, قم بشراء شهادتك. أو, تعلم كيف تنشئ شهادة SSL موقع مجانيًّا, راجع مدونة كيفية تعدد Apache مع شهادة SSL موقع مجانيًّا على VPS.
ثم, من لوحة معلومات المدير لMail-in-a-Box, اختر System > SSL Certificates من الجزء التنقل الأعلى.
من هناك, استخدم الزر Install Certificate جنب النطاق أو النطاق الفرعي المناسب. قم بنسخ ولصق شهادتك وأي سلسة شهادات إلى الحقول النصية المتوفرة. أخيرًا انقر على زر Install.
الآن أنت ومستخدمين لك يمكنوا أن يوصلوا إلى الواجهة الويب ولوحة الإدارة بدون تحذيرات المتصفح.
الخاتمة
هي سهل أن تضيف نطاق وعناوين بريد زائدة إلى خادمك Mail-in-a-Box. لإضافة عنوان جديد على نطاق جديد أو موجود, فقط قم بإضافة حساب بريد ثاني من Mail > Users في لوحة معلومات المدير. لو عنوان البريد على نطاق جديد, Mail-in-a-box يضيف إعدادات جديد لها تلقائيًّا.
لو تقوم بإضافة نطاق جديد, تأكد أن أسماء الخادمين للنطاق إلى ns1.box.example.com
وns2.box.example.com
(نفس التي قمنا بتعديده سابقًا للنطاق الأول) على مسجل النطاق لك. قطرتك ستعمل مع كل الDNS للنطاق الجديد.
لترى الإعدادات DNS الحالية, زور System > External DNS. لإضافة إدخالاتك الخاصة, زور System > Custom DNS.
Mail-in-a-Box يتوفر بالإضافة وظائف خارج مجال هذه المدونة. هي قادرة أن تكون خادم جهات اتصالات هاتفية ومدير تقويم من ownCloud. هي قادرة أيضًا أن تخدم موقع ثابتة.
معلومات أكثر عن Mail-in-a-Box متوفر على صفحة الرئيسية للمشروع.