مقدمة
في هذا البرنامج التعليمي، ستُنشئ خادم بريد إلكتروني خاص بك يعمل على خادم Ubuntu في Hetzner Cloud. مع Mailcow، يمكنك استضافة خادم بريدك الإلكتروني الخاص مع نطاقك الخاص. كما يُتيح Mailcow مزامنة جهات اتصالك وتقويمك.
المتطلبات الأساسية
- تحتاج إلى اسم المجال.
- بعض المعرفة حول كيفية عمل Docker
- تحجب خوادم Hetzner Cloud المنفذين 25 و465 افتراضيًا للحماية من البريد العشوائي. يمكنك طلب إلغاء حظر المنفذين بعد سداد فاتورتك الأولى. يُعد هذا بمثابة تأكيد بسيط على أنك لستَ مُرسِل بريد عشوائي.
الخطوة 1 - إنشاء خادم سحابي جديد
- تسجيل الدخول إلى وحدة التحكم السحابية
- قم بإنشاء مشروع جديد وأطلق عليه الاسم الذي تريده.
- اختر موقع الخادم ونوعه حسب احتياجاتك. إذا لم تكن متأكدًا، فراجع النصائح أدناه.
- انقر على "إضافة خادم" وحدد صورة خادمك. هذا البرنامج التعليمي مبني على أوبونتو 22.04، ولكن يمكن تعديله بسهولة ليتوافق مع ديبيان 11، فهو أكثر استقرارًا وأخف وزنًا.
- حدد الموارد التي تحتاجها من النوع.
- انقر فوق حقل تكوين السحابة وأدخل هذا: #include https://get.docker.com (سيؤدي هذا إلى تثبيت docker)
- اختر مفتاح SSH الخاص بك
- اكتب اسم مضيف الخادم الخاص بك في حقل الاسم (mail.example.com)
- انقر فوق إنشاء وشراء الآن
كيفية اختيار موقع ونوع الخادم المناسب
اختر موقع خادم أقرب جغرافيًا إليك أو إلى قاعدة مستخدميك. بالنسبة لنوع الخادم المناسب، تذكر أن Mailcow يتطلب ذاكرة وصول عشوائي (RAM) بسعة 7 جيجابايت على الأقل ليعمل بشكل صحيح. Mailcow هو حل برمجي جماعي متكامل الميزات. مع ذلك، فإن أقل أنواع الخوادم المتاحة هو CX31* أو CPX31.
الخطوة 2 – إعداد DNS
بشكل أساسي، ستحتاج إلى إنشاء سجل DNS جديد باسم mail.example.com وإضافة خادم IPv4 (سجل A) وIPv6 (سجل AAAA) إليه. بعد ذلك، يمكنك إعداد سجل MX لنطاقاتك ليشير إلى نطاقك الفرعي الجديد mail.example.com. يجب عليك أيضًا إعداد نطاقين فرعيين autodiscover.example.com وautoconfig.example.com. يجب أن يكون كلاهما بأسماء CNAME ويشيران إلى mail.example.com.
يجب أن يبدو تكوين DNS الخاص بك على النحو التالي:
# Name Type Value
mail IN A 10.0.0.1
mail IN AAAA 2001:db8:1234::1
autodiscover IN CNAME mail
autoconfig IN CNAME mail
@ IN MX 10 mailللحصول على إعداد أكثر تقدمًا، هناك المزيد من سجلات DNS التي يجب الانتباه إليها في وثائق Mailcow.
الخطوة 3 - تثبيت التحديثات وDocker Compose على الخادم
انتظر بضع ثوانٍ حتى يبدأ الخادم بالعمل، ثم اتصل به باستخدام SSH ومفتاحك الخاص. ستتمكن الآن من تسجيل الدخول بتشغيل الأمر التالي:
apt update && apt upgrade -yيعد هذا وقتًا مناسبًا لإعادة تشغيل الخادم بعد اكتمال كافة الترقيات، خاصةً إذا كانت هناك أي تحديثات للنواة.
الخطوة 4 - استنساخ مستودع Mailcow
الآن نريد استنساخ مستودع Mailcow GitHub، لذا عليك أولاً الذهاب إلى /opt باستخدام:
cd /optبمجرد دخولك إلى /opt، يمكنك تشغيل:
استنساخ git https://github.com/mailcow/mailcow-dockerized
الخطوة 5 - إنشاء التكوين، وسحب حاويات Docker، وتشغيل Mailcow
لإنشاء التكوين، غيّر دليل العمل إلى /opt/mailcow-dockerized باستخدام الأمر cd /opt/mailcow-dockerized وشغّل ./generate_config.sh لإنشاء التكوين. الآن، أدخل اسم نطاقك (مثل mail.example.com). لقد شارفنا على الانتهاء. الآن، عليك تشغيل أمر Docker compose pull لاستخراج صور Docker. لبدء Mailcow، شغّل الأمر docker compose up -d.
الخطوة 6 - إعداد إدخالات DNS العكسية
لإعداد إدخالات DNS العكسية، اتبع الخطوات التالية:
- انتقل إلى وحدة التحكم Hetzner Cloud وانقر فوق مشروعك.
- حدد الخادم الذي قمت بإنشائه وانتقل إلى علامة التبويب "الشبكات".
- انقر فوق النقاط الثلاث الموجودة بالقرب من عنوان IPv4 الخاص بك، وحدد تحرير DNS العكسي، وأدخل نطاقك (mail.example.com)، ثم أكد التغيير.
- انقر فوق النقاط الثلاث الموجودة بالقرب من شبكة فرعية IPv6 الخاصة بك، وحدد تحرير DNS العكسي، واكتب ::1 في الحقل حيث يوجد عنوان IP ضمن اسم المجال الخاص بك (mail.example.com).
الخطوة 7 - أولاً، قم بتسجيل الدخول إلى مثيل Mailcow الخاص بك
قم بزيارة مثيل Mailcow الخاص بك على https://mail.example.org وقم بتسجيل الدخول باستخدام بيانات الاعتماد الافتراضية:
- اسم المستخدم: admin
- كلمة المرور: moohoo
هام: قم بتغيير كلمة المرور الخاصة بك في أقرب وقت ممكن، لأن تركها كما هي سوف يفتح خادمك للاختراق.
الخطوة 8 - إضافة النطاقات إلى Mailcow
يمكنك الآن إضافة نطاقك إلى Mailcow. ما عليك سوى الانتقال إلى "التكوين" ← "إعداد البريد". أضف نطاقك من علامة التبويب "النطاق".
الخطوة 9 - إعداد DKIM
الآن، بالعودة إلى "التكوين" ← "التكوين والتفاصيل"، يمكنك إعداد DKIM. في علامة تبويب "التكوين"، حدد DKIM من الشريط الجانبي. ستجده في الأعلى. مرر للأسفل لرؤية قناع لإدخال نطاقك. انقر على اختصار "تحديد النطاقات ذات المفاتيح المفقودة" لإضافة اسم نطاقك إليه. الآن، حدد مفتاح 2048 وانقر على "إضافة". بعد إضافة المفتاح، يمكنك نسخ المفتاح العام وإنشاء إدخال DNS TXT باسم dkim._domainkey بالمحتوى الذي نسخته للتو.
الخطوة 10 – إنشاء صندوق بريد
متى يجب إعدادات -> إعداد البريد بمجرد عودتك، يمكنك إنشاء صندوق بريد وتسجيل الدخول إلى SOGo من خلال الوصول إليه على https://mail.example.com/SOGo.
الخطوة 11 – إنشاء نسخة احتياطية
النسخ الاحتياطية ضرورية لمعظم إعدادات الخوادم. وخادم بريدك الإلكتروني ليس استثناءً. يوفر Mailcow طريقة سهلة للغاية لإنشاء نسخ احتياطية لبيانات بريدك الإلكتروني.
إنشاء نسخة احتياطية يدوية
- قم بالاتصال بخادمك باستخدام مفتاح SSH.
- انتقل إلى دليل Mailcow الذي يحتوي على البرنامج النصي المساعد /opt/mailcow-dockerized/helper-scripts.
- قم بتشغيل البرنامج النصي للنسخ الاحتياطي./backup_and_restore.sh النسخ الاحتياطي للجميع --حذف-الأيام 7
اعتمادًا على حجم رسائل البريد الإلكتروني ونوع الخادم، يمكن أن تستغرق هذه العملية من بضع دقائق إلى بضع ساعات.
الخطوة 12 - تحديث مثيل Mailcow
عادةً ما يُصدر مطورو Mailcow تحديثات شهرية. ويُصدر المزيد من التحديثات في حال وجود تصحيحات أمنية أو أخطاء طارئة. يُنصح بمتابعة صفحة إصدارات Mailcow للاطلاع على التغييرات.
قبل إجراء التحديث، يُنصح بالتحقق من وجود نسخة احتياطية حالية لبياناتك. في وحدة تحكم Hetzner السحابية، يمكنك أيضًا إنشاء لقطة لخادمك للعودة إلى العمل بسرعة في حال حدوث أي مشكلة.
إذا كنت لا ترغب في استخدام لقطات Hetzner، فإن Mailcow يحتوي أيضًا على طريقة مدمجة للتراجع عن التحديثات.
- قم بالاتصال بخادمك باستخدام مفتاح SSH.
- انتقل إلى مجلد Mailcow /opt/mailcow-dockerized
- .تشغيل ./update.sh
- أخيرًا، سيسألك Mailcow عما إذا كنت ترغب في إزالة المكونات غير المستخدمة. اختر "لا" ثم أزلها يدويًا لاحقًا لتكون مستعدًا لأي مشكلة.
- بعد إجراء التحديث، سيبدأ Mailcow جميع الخدمات ويُجري ترقيات داخلية. لتجنب تلف البيانات، لا تُوقف تشغيل الخادم أو حاويات Docker.









