لوحة المتصدرين
المحتوى الأكثر حصولًا على سمعة جيدة
المحتوى الأعلى تقييمًا في 08/25/22 in مقالات DevOps
-
Let’s Encrypt هي سلطة شهادات مفتوحة ومؤتمتة تستعمل بروتوكول ACME (Automatic Certificate Management Environment) لتوفير شهادات TLS/SSL مجانية لأي عميل يحقق الشروط المطلوبة، وتلك الشهادات يمكن أن تستعمل لتشفير الاتصالات بين خادوم الويب وزوار موقعك. هنالك الكثير من العملاء المتاحة لبروتوكول ACME المكتوبة بمختلف لغات البرمجة، مع قدرة على الدمج مع أدوات الإدارة والخدمات والخواديم الشهيرة. أشهر عميل ACME باسم Certbot يُطوَّر حاليًا من Electronic Frontier Foundation. ويمكن لعميل Certbot ضبط تشفير TLS/SSL في خودايم أباتشي و Nginx إضافةً إلى التحقق من ملكية النطاق والحصول على الشهادات. سيشرح هذا الدرس سلطات الشهادات باختصار وكيف تعمل خدمة Let’s Encrypt، ثم سنتحدث عن بعض عملاء ACME. ما هي سلطة الشهادات؟ سلطات الشهادات (certificate authorities اختصارًا CAs) هي الجهات التي توقِّع شهادات TLS/SSL رقميًا لضمان وكفالة موثوقيتها. إذ تملك المتصفحات وأنظمة التشغيل قائمةً بسلطات الشهادات الموثوقة التي يمكن استعمالها للتحقق من شهادات أحد المواقع. حتى وقتٍ قريب، كانت أغلبية سلطات الشهادات خاضعة لشركات تجارية والتي تتقاضى أموالًا للحصول على خدمات توقيع الشهادات، لكن أتت خدمة Let’s Encrypt وجعلت هذه العملية مجانية للمستخدمين عبر أتمتة العملية كليًّا، وبالاعتماد على نظام الرعاية والمساهمات المالية لتمويل البنية التحتية اللازمة لتشغيل مثل هذه الخدمة. لمزيدٍ من المعلومات حول الشهادات والأنواع المختلفة من سلطات الشهادات، فاقرأ مقالة A Comparison of Let’s Encrypt, Commercial and Private Certificate Authorities, and Self-Signed SSL Certificates. كيف تعمل خدمة Let’s Encrypt بروتوكول ACME يُعرِّف كيفية تواصل العملاء مع الخواديم لطلب الشهادات والتحقق من ملكية النطاقات وتنزيل الشهادات، وهذا البروتوكول في صدد تحويله إلى معيار IETF رسمي. توفِّر خدمة Let’s Encrypt شهادات لنطاقات موثوقة، وهذا يعني أنَّها ستتحقق أنَّ الشهادة تأتي من شخصٍ يتحكم فعليًا بالنطاق، وذلك عبر إرسال العميل لرمز فريد (unique token) ثم إجراء طلبية ويب أو DNS للحصول على مفتاح مأخوذ من ذاك الرمز. على سبيل المثال، لو كنا سنجري تحقق عبر HTTP، فسيحسب العميل المفتاح من الرمز الفريد (unique token) ورمز الحساب (account token)، ثم يضع الناتج في ملف مُخدَّم من خادوم الويب، ثم يمكن لخواديم Let’s Encrypt أن تنزِّل الملف الموجود في المسار http://example.com/.well-known/acme-challenge/token فإذا كان المفتاح صحيحًا، فهذا يعني أن العميل قادرٌ على التحكم بالموارد الموجودة في النطاق example.com وبالتالي سيوقِّع الخادوم الشهادة ويتيحها للعميل. يُعرِّف بروتوكول ACME عدِّة طرائق للتحقق أنَّ العميل يملك النطاق، فاختبار HTTPS شبيه باختبار HTTP، لكن بدلًا من استخدام ملف نصي فسيوفِّر العميل شهادة موقعة ذاتيًا وفيها مفتاح التحقق. أما التحقق عبر DNS فيتم عبر وضع المفتاح في سجل DNS TXT. عميل Certbot Certbot هو أشهر عميل Let’s Encrypt، وهو متوافر في أغلبية توزيعات لينكس ويتضمن القدرة على الضبط التلقائي لخادومَي أباتشي و Nginx. يمكنك الحصول على الشهادة وتحديث ضبط أباتشي بتنفيذ الأمر الآتي بعد تثبيت عميل Certbot: sudo certbot --apache -d www.example.com سيسألك Certbot بعض الأسئلة ثم يجري عملية التحقق وينزِّل الشهادات ويُحدِّث ضبط أباتشي ويعيد تحميل الخادوم، ويمكنك بعد ذلك أن تنتقل إلى https://www.example.com في متصفح الويب الخاص بك وستشاهد القفل الأخضر مشيرًا إلى أنَّ الشهادة صحيحة والاتصال مشفّر. ولأن شهادات Let’s Encrypt صالحة لتسعين يومًا فقط، فمن المهم ضبط عملية تجديد مؤتمة. الأمر الآتي سيُجدِّد كل الشهادات الموجودة على الحاسوب: sudo certbot renew ضع الأمر السابق في جدول cron وشغِّله يوميًا، وستُجدَّد الشهادات تلقائيًا قبل ثلاثين يومًا من انتهاء صلاحيتها، وإذا أُنشِئَت الشهادة بادئ الأمر مع أحد الخيارين --apache أو --nginx فسيعيد Certbot تحميل الخادوم بعد نجاح عملية التجديد. إذا أردتَ معرفة المزيد من المعلومات حول جداول cron فأحيلك إلى درس كيف نستخدم المهام المجدولة باستخدامCron في أنظمة لينكس ويونكس. عملاء آخرين لأن بروتوكول ACME مفتوح وموثّق جيدًا، فقد طوِّرَ الكثير من العملاء البديلين، وهنالك قائمة بعملاء ACME في موقع Let’s Encrypt، وأغلبية العملاء لا يملكون ميزة ضبط خادوم الويب تلقائيًا التي يملكها Certbot لكن هنالك ميزات أخرى لها قد تجذبك: - هنالك عميل مكتوب بكل لغات البرمجة تقريبًا، بما في ذلك سكربتات الصدفة (shell scripts) ولغة Go و Node.js، وقد تستفيد من ذلك إن كنتَ تُنشِئ شهادات في بيئة مغلقة لا يمكن تضمين بايثون فيها ولا بقية اعتماديات Certbot. - بعض العملاء يمكن أن يعملوا دون امتيازات الجذر، فمن المستحسن تقليل كمية الشيفرات التي تعمل بامتيازات الجذر إلى أقل قدر ممكن. - الكثير من العملاء يمكنها أتمتة عملية التحقق عبر DNS عبر استخدام الواجهة البرمجية المناسبة لموفِّر خدمة DNS لإنشاء سجلات TXT تلقائيًا، والتحقق عبر DNS يسمح بتوليد شهادات لحالات الاستخدام الغريبة مثل تشفير خواديم الويب التي لا يمكن للعموم الوصول إليها. - بعض العملاء يمكن أن يندمج مع خودايم الويب أو الخواديم الوسيطة (proxy) العكسية، أو موزّعات الحِمل (load balancers) مما يسهِّل عملية الضبط والتشغيل. بعض أشهر تلك العملاء: - lego المكتوب بلغة Go، والذي يُثبَّت عبر ملفٍ ثنائيٍ وحيد، والذي يدعم عدد من مزودي خدمة DNS لتسهيل التحقق عبر DNS. - acme.sh وهو سكربت صدفة بسيط يمكن أن يعمل دون امتيازات الجذر، ويستطيع أن يتواصل مع أكثر من 30 مزودًا لخدمة DNS. - Caddy وهو خادوم ويب كامل مكتوب بلغة Go والذي يملك دعمًا مدمجًا فيه لخدمة Let’s Encrypt. يتوافر الكثير من العملاء، وأصبحت العديد من الخدمات والخواديم تؤتمت عملية إعداد TLS/SSL بدعم خدمة Let’s Encrypt فيها. الخلاصة لقد شرحنا أساسيات عمل خدمة Let’s Encrypt، وناقشنا أشهر العملاء المتوافرين، وإذا أردتَ معرفة كيفية إعداد هذه الخدمة مع بقية البرمجيات فأنصحك بالاطلاع على درس تنصيب شهادة SSL مجانية عبر خدمة Let’s encrypt على خادوم لينكس. ترجمة –وبتصرّف– للمقال An Introduction to Let’s Encrypt لصاحبه Brian Boucheron1 نقطة
-
تمهيد OwnCloud هو خادوم مشاركة ملفات الذي يسمح لك بتخزين المحتوى الخاص بك مثل المستندات والصور في مكانٍ مركزي بشكلٍ يشبه خدمة Dropbox. الاختلاف بينهما هو أنَّ ownCloud هو برمجية حرة ومفتوحة المصدر، مما يسمح لأي شخص باستخدامه وتفحّص شيفرته، وهذا يعني أيضًا تحكمك بأمان وحماية بياناتك المهمة تمامًا مما يجنِّبُك استخدام خدمات استضافة من طرفٍ آخر. سنُثبِّت ونضبط في هذا الدرس نسخة من ownCloud على خادوم أوبنتو 16.04. المتطلبات المسبقة ستحتاج إلى ما يلي لإكمال الخطوات المذكورة في هذا الدرس: الوصول إلى مستخدم بامتيازات الجذر على خادومك: يُمكنك اتباع هذا الدّرس لإنشاء مستخدم يملك وصولًا إلى امتيازات الجذر عبر الأمر sudo. خدمات LAMP: يتطلب ownCloud وجود خادوم ويب وقاعدة بيانات ومُفسِّر PHP لكي يعمل بشكلٍ صحيح؛ إذا أعددتَ خدمات LAMP (أي Linux و Apache و MySQL و PHP) فستُحقِّق هذا الشرط. يشرح لك هذا الدرس كيفية تثبيت وضبط تلك الخدمات. شهادة SSL: طريقة ضبط الشهادة تختلف فيما إذا كنتَ تملك اسم نطاق (domain name) ليشير إلى خادومك أم لا. إذا كان لديك اسم نطاق فأسهل طريقة لتأمين موقعك هي استخدام «Let’s Encrypt» والذي يوفِّر لك شهادات مجانية وموثوقة، راجع درس تنصيب شهادة SSL مجانية عبر خدمة Let’s encrypt على خادوم لينكس لمزيدٍ من المعلومات. إذا لم يكن لديك نطاق، وكنت تتبع هذا الدرس لتجربة ownCloud أو لاستخدامه استخدامًا شخصيًا، فيمكنك إنشاء شهادة موقّعة ذاتيًا؛ والتي ستوفِّر نفس نوع التشفير، لكن دون التحقق من هوية النطاق. اتبع درس كيفية إنشاء شهادات SSL موقعة ذاتيًا لمزيدٍ من المعلومات. الخطوة الأولى: تثبيت ownCloud لا تتوافر حزمة ownCloud في مستودعات أوبنتو الافتراضية، لكن برمجية ownCloud توفِّر مستودعًا خاصًا لتوزيعة أوبنتو. علينا أولًا تنزيل مفتاح الإصدارة (release key) باستخدام الأمر curl ثم استيراد ذاك المفتاح باستخدام الأمر apt-key: curl https://download.owncloud.org/download/repositories/stable/Ubuntu_16.04/Release.key | sudo apt-key add - ... % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed 100 1358 100 1358 0 0 2057 0 --:--:-- --:--:-- --:--:-- 2057 OK يحتوي الملف Release.key على مفتاح PGP عمومي الذي يمكن للأداة apt استخدامه للتأكّد أنَّ الحزم التي سننزلّها لبرمجية ownCloud هي حزمٌ موثوقة. إضافةً إلى استيراد المفتاح، يجب علينا إنشاء ملف باسم owncloud.list فيه عنوان مستودع ownCloud في مجلد sources.list.d التابع للأداة apt: echo 'deb http://download.owncloud.org/download/repositories/stable/Ubuntu_16.04/ /' | sudo tee /etc/apt/sources.list.d/owncloud.list نفِّذ الأمر apt-get update بعد إضافة المستودع الجديد لكي نُعلِمَ apt بالتغيير الذي أحدثناه: sudo apt-get update أخيرًا، نستطيع تثبيت ownCloud باستخدام الأمر apt-get install: sudo apt-get install owncloud ونتيجةً لتثبيت ownCloud سيُضاف ملفُ ضبطٍ جديدٍ إلى مجلد ضبط أباتشي (Apache)؛ استخدم الأمر systemctl لإعادة تشغيل أباتشي لكي يقرأ ملف الضبط: sudo systemctl restart apache2 بعد تثبيت خادوم ownCloud، حان الوقت لضبط قاعدة البيانات للاستخدام. الخطوة الثانية: ضبط قاعدة بيانات MySQL علينا بادئ الأمر أن نُسجِّل دخولنا إلى MySQL بحسابٍ له امتيازاتٌ إدارية: mysql -u root -p أدخِل كلمة المرور التي ضبطتها للمستخدم root التابع لقاعدة بيانات MySQL عندما ثبّتَها. يجب إنشاء قاعدة بيانات منفصلة لخادوم ownCloud لتخزين البيانات الإدارية، وصحيحٌ أنَّ تستطيع تسمية قاعدة البيانات بأيِّ اسمٍ تشاء، لكنني فضَّلتُ استخدام owncloud لتبسيط الأمور. نفِّذ الأمر الآتي في سطر أوامر MySQL: CREATE DATABASE owncloud; ملاحظة: يجب أن تنتهي جميع أوامر وتعابير MySQL بفاصلة منقوطة ;، تأكّد أنَّك لم تنسها إن واجهت أيّة مشاكل عند تنفيذ الأوامر المذكورة هنا. أنشِئ بعد ذلك مستخدمًا جديدًا في MySQL للتعامل مع قاعدة البيانات الجديدة. إنشاء قواعد بيانات ذات غرضٍ وحيد وإنشاء مستخدمين مخصصين لإدارتها هو أمرٌ حسنٌ من ناحية سهولة الإدارة والأمان. وكما عند تسمية قاعدة البيانات، اختر ما تشاء اسمًا للمستخدم، إلا أنَّنا اخترنا الاسم owncloud في هذا الدرس. نفِّذ الأمر الآتي في سطر أوامر MySQL: GRANT ALL ON owncloud.* to 'owncloud'@'localhost' IDENTIFIED BY 'set_database_password'; تنويه: ضع كلمة مرورك في الأمر السابق بدلًا من set_database_password. بعد السماح للمستخدم الجديد بالوصول إلى قاعدة البيانات، فحدِّث امتيازات الوصول لكي تضمن أنَّ النسخة الحالية التي تعمل من MySQL تعرف عن التعديلات الأخيرة التي أجريتَها: FLUSH PRIVILEGES; لقد انتهى ضبطنا لقاعدة MySQL، وبالتالي يمكننا الخروج من جلسة MySQL بكتابة: exit بعد تثبيت ownCloud وضبط قاعدة بياناته، فنحن الآن جاهزون لضبط خادوم ownCloud نفسه. الخطوة الثالثة: ضبط ownCloud للوصول إلى واجهة الويب التابعة لبرمجية ownCloud فافتح متصفح الويب واذهب إلى الرابط الآتي: https://server_domain_or_IP/owncloud إذا استخدمتَ شهادةً موقعةً ذاتيًا، فسترى تحذيرًا لأنَّ الشهادة غير موقعة من سلطة يثق بها متصفحك. لا تقلق، هذا طبيعيٌ جدًا، إذا كنتَ مهتمًا بالتشفير وليس بالتحقق من صحة الشهادة، فاضغط على الزر أو الرابط الملائم للمتابعة إلى صفحة إدارة ownCloud. ستبدو الصفحة شبيهةً بما يلي: أنشِئ الآن حساب مدير باختيار اسم مستخدم (لا يجدر بك استخدام اسم مثل «admin» لأسبابٍ أمنية) وكلمة مرور. قبل الضغط على زر «Finish setup» فاضغط على رابط «Storage & database»: اترك خيار «Data folder» كما هو واضغط على زر «MySQL/MariaDB» في قسم «Configure the database»، أدخِل معلومات قاعدة البيانات والتي ضبطتها في الخطوة السابقة. ما يلي هو مثالٌ يُطابِق معلومات قاعدة البيانات التي أدخلناها منذ قليل: اضغط على زر «Finish setup» للتسجيل في ownCloud. ستظر نافذة بعنوان «A safe home for all your data»: اضغط على إشارة × في الزاوية العليا اليمنى من النافذة لكي تصل إلى الواجهة الرئيسية: يمكنك من تلك الواجهة إنشاء أو رفع الملفات إلى منصة التخزين السحابي الخاصة بك! الخلاصة يملك ownCloud أغلبية ميزات خدمات التخزين السحابي، حيث يمكن مشاركة المحتوى بين المستخدمين أو عبر روابط URL عامة. ميزة استخدام ownCloud هي تخزين البيانات بأمان في مكانٍ تتحكم فيه أنت. استكشف الواجهة وتثبّت بعض الإضافات عبر متجر ownCloud لمزيدٍ من الميزات. ترجمة -وبتصرّف- للمقال How To Install and Configure ownCloud on Ubuntu 16.04 لصاحبه Michael Lenardson1 نقطة
-
يُعتمَد على الأنظمة الوهمية في مختلف البيئات والحالات؛ فلو كنت مطوِّرًا فتوفر لك الأنظمة الوهمية بيئة مُحتوَية حيث تستطيع أن تجري أي نوع من أنواع التطوير دون القلق من تخريب بيئة العمل الرئيسية عندك. وإذا كنت مديرًا للأنظمة، فتستطيع استخدام الأنظمة الوهمية لتعزل خدماتك عزلًا سهلًا وتنقلهم بناءً على الحاجة. تقنية الأنظمة الوهمية الافتراضية المدعومة في أوبنتو هي KVM، تتطلب KVM ملحقات لدعم الأنظمة الوهمية في عتاد Intel و AMD؛ وتقنية Xen مدعومة أيضًا في أوبنتو؛ حيث يمكن أن تستفيد Xen من تلك الملحقات عند توفرها، لكن يمكن تشغيلها على عتاد دون إضافات الأنظمة الوهمية؛ خيار شائع أخر هو Qemu للعتاد بدون ملحقات الأنظمة الوهمية (virtualization extensions). libvirt تُستخدَم المكتبة libvirt للتعامل مع مختلف تقنيات الأنظمة الوهمية؛ وقبل البدء مع libvirt، من الأفضل التحقق أنّ عتادك يدعم الملحقات الضرورية لعمل KVM، وذلك بإدخال الأمر الآتي في الطرفية: kvm-ok ستظهر رسالة تعلِمك إن كان معالجك يدعم أو لا يدعم الملحقات العتادية للأنظمة الوهمية. ملاحظة: يكون من الضروري في أغلب الحواسيب التي تدعم معالجاتها الأنظمة الوهمية أن يفعَّل خيارٌ في BIOS لتمكينها. التواصل الشبكي الوهمي هنالك عدِّة طرق للسماح لنظام وهمي بالوصول إلى الشبكة الخارجية؛ خيار ضبط التواصل الشبكي الوهمي الافتراضي هو «usermode»، الذي يستخدم بروتوكول SLIRP ويمرِّر التراسل الشبكي عبر NAT عبر بطاقة المضيف إلى الشبكة الخارجية. لتمكين وصول المضيفين الخارجيين إلى الخدمات مباشرةً على الأنظمة الوهمية، فيجب استخدام ضبط «bridge»؛ هذا يسمح للبطاقات الشبكية الوهمية بالاتصال إلى الشبكة الخارجية عبر البطاقة العتادية، مما يجعلها تبدو كأنها حواسيب عادية لبقية الشبكة. التثبيت أدخِل ما يلي في الطرفية لتثبيت الحزم اللازمة: sudo apt-get install kvm libvirt-bin يجب إضافة المستخدم الذي سيدير الآلات الوهمية إلى مجموعة libvirtd بعد تثبيت libvirt-bin؛ وبهذا تعطي المستخدم وصولًا إلى خيارات الشبكة المتقدمة؛ وذلك بإدخال الأمر الآتي: sudo adduser $USER libvirtd ملاحظة: إذا كان المستخدم الذي أضفته هو المستخدم الحالي، فيجب عليك تسجيل الخروج ثم الدخول مرةً أخرى لكي تأخذ عضوية المجموعة الجديدة مفعولها. أنت الآن جاهز لتثبيت نظام تشغيل «ضيف» (Guest)؛ طريقة تثبيت نظام التشغيل على الآلات الوهمية هي نفس طريقة تثبيته مباشرةً على العتاد؛ أي أنك إما أن تحتاج إلى أتمتة التثبيت، أو إلى لوحة مفاتيح وشاشة موصولين إلى الآلة الفيزيائية. في حالة الآلات الوهمية، تكون الواجهة الرسومية (GUI) مماثلة لاستخدام لوحة مفاتيح وفأرة فيزيائية؛ فبدلًا من تثبيت واجهة رسومية، يمكن استخدام التطبيق virt-viewer للاتصال إلى الآلة الوهمية باستخدام VNC، راجع القسم «عارض الآلات الوهمية» لمزيدٍ من التفاصيل. هنالك عدِّة طرق لأتمتة تثبيت أوبنتو، إذ يمكن ذلك باستخدام preseed أو kickstart على سبيل المثال. راجع دليل تثبيت أوبنتو للتفاصيل. طريقة أخرى لتثبيت أوبنتو على آلة افتراضية هي استخدام ubuntu-vm-builder، يسمح ubuntu-vm-builder بإعداد متقدم للأقسام، وتنفيذ سكربتات بعد التثبيت ...إلخ. للتفاصيل، راجع القسم «الصور السحابية وأداة uvtools». يمكن ضبط Libvirt مع Xen، راجع صفحة مجتمع أوبنتو المُشار إليها في المصادر. virt-install virt-install هو جزء من حزمة virtinst، أدخِل الأمر الآتي لتثبيتها: sudo apt-get install virtinst هنالك عدِّة خيارات متوفرة عند استخدام virt-install: sudo virt-install -n web_devel -r 256 \ --disk path=/var/lib/libvirt/images/web_devel.img,bus=virtio,size=4 -c \ ubuntu-14.04-server-i386.iso --network network=default,model=virtio \ --graphics vnc,listen=0.0.0.0 --noautoconsole -v الخيار -n web_devel: اسم الآلة الوهمية، سيكون web_devel في هذا المثال. الخيار -r 256: تحديد مقدار الذاكرة التي ستستخدمها الآلة الوهمية مقدرًا بالميغابايت. الخيار --disk path=/var/lib/libvirt/images/web_devel.img,size=4: الإشارة إلى مسار القرص الوهمي الذي يمكن أن يكون ملفًا أو قسمًا أو حجمًا وهميًا؛ في هذا المثال هنالك ملف باسم web_devel.img في مجلد /var/lib/libvirt/images/ بحجم 4 غيغابايت، وسيستخدم virtio كناقل للقرص (disk bus). الخيار :-c ubuntu-14.04-server-i386.iso الملف الذي سيُستخدَم كقرص CD-ROM وهمي، يمكن أن يكون الملف إما ملف ISO أو مسار إلى جهاز قرص CD-ROM في المضيف. الخيار --network: يوفر معلومات حول البطاقة الشبكية للآلة الوهمية؛ يُستخدَم هنا default، وضُبِط موديل البطاقة إلى virtio. الخيار --graphics vnc,listen=0.0.0.0: تصدير طرفية الضيف باستخدام VNC على جميع البطاقات الشبكية للمضيف؛ إذ عمومًا لا يكون للخادوم واجهة رسومية، لذلك فيمكن لحاسوب آخر على الشبكة المحلية ذي واجهةٍ رسومية أن يتصل عبر VNC لإكمال التثبيت. الخيار --noautoconsole: يؤدي إلى عدم الاتصال تلقائيًا إلى طرفية الآلة الوهمية. الخيار -v: إنشاء ضيف وهمي كامل. بعد تشغيل virt-install يمكنك الاتصال إلى طرفية الآلة الوهمية إما محليًا باستخدام GUI أو باستخدام الأداة virt-viewer. virt-clone يمكن استخدام virt-clone لنسخ آلة وهمية إلى آلة أخرى؛ على سبيل المثال: sudo virt-clone -o web_devel -n database_devel -f /path/to/database_devel.img \ --connect=qemu:///system -o: الآلة الوهمية الأصلية. -n: اسم الآلة الوهمية الجديدة. -f: المسار إلى الملف، أو القسم، أو الحجم المنطقي الذي سيُستخدَم من الآلة الوهمية الجديدة. --connect: تحديد «المشرف» (hypervisor) الذي سيُتصَّل به. يمكن أيضًا استخدام الخيار -d أو --debug لاستكشاف الأخطاء مع virt-clone. ملاحظة: استبدل web_devel و database_devel بأسماء ملائمة للآلات الوهمية. إدارة الآلة الوهمية virsh هنالك عدِّة أدوات متوفرة لإدارة الآلات الوهمية و libvirt؛ يمكن أن تُستخدَم الأداة virsh من سطر الأوامر؛ هذه بعض الأمثلة: لعرض قائمة بالآلات الوهمية التي تعمل: virsh -c qemu:///system list لبدء تشغيل آلة وهمية: virsh -c qemu:///system start web_devel وبشكلٍ مشابه، لتشغيل آلة وهمية عند الإقلاع: virsh -c qemu:///system autostart web_devel أعد إقلاع آلة وهمية باستخدام الأمر: virsh -c qemu:///system reboot web_devel يمكن حفظ «حالة» (state) الآلة الوهمية إلى ملف لتُستعاد لاحقًا؛ ما يلي سوف يحفظ حالة الآلة الوهمية إلى ملف مسمى وفقًا لتاريخ اليوم: virsh -c qemu:///system save web_devel web_devel-022708.state ستتوقف الآلة الوهمية عن العمل بعد حفظ حالتها. يمكن استعادة الآلة الوهمية باستخدام: virsh -c qemu:///system restore web_devel-022708.state نفِّذ الأمر لإيقاف تشغيل آلة وهمية: virsh -c qemu:///system shutdown web_devel يمكن وصل جهاز CD-ROM إلى آلة وهمية بالأمر: virsh -c qemu:///system attach-disk web_devel /dev/cdrom /media/cdrom ملاحظة: استبدل في الأمثلة السابقة web_devel مع اسم الآلة الوهمية الملائم، و web_devel-022708.state باسم ملف أكثر وصفًا. مدير الآلات الوهمية تحتوي حزمة virt-manager على أداة رسومية لإدارة الآلات الوهمية المحلية والبعيدة؛ أدخِل الأمر الآتي لتثبيتها: sudo apt-get install virt-manager لما كانت الأداة virt-manager تتطلب واجهة رسومية (GUI) فمن المستحسن أن تُثبَّت على محطة عمل أو جهاز للاختبارات بدلًا من خادوم إنتاجي؛ أدخِل الأمر الآتي للاتصال بخدمة libvirt محلية: virt-manager -c qemu:///system تستطيع الاتصال بخدمة libvirt في مضيف آخر بإدخال ما يلي في الطرفية: virt-manager -c qemu+ssh://virtnode1.mydomain.com/system ملاحظة: يفترض المثال السابق أن إمكانية الاتصال عبر SSH بين نظام الإدارة و virtnode1.mydomain.com قد ضُبِطَت مسبقًا، وتستخدم مفاتيح SSH للاستيثاق؛ هنالك حاجة لمفاتيح SSH لأن المكتبة libvirt تُرسِل محث كلمة المرور إلى عملية أخرى. للتفاصيل عن ضبط SSH، راجع درس خادوم OpenSSH. عارض الآلات الوهمية يسمح التطبيق virt-viewer لك بالاتصال إلى طرفية الآلة الوهمية لكن virt-viewer يتطلب واجهة رسومية (GUI) للتعامل مع الآلة الوهمية، أدخِل الأمر الآتي من الطرفية لتثبيت virt-viewer: sudo apt-get install virt-viewer بعد تثبيت وتشغيل آلة وهمية، يمكنك الاتصال إلى طرفيتها بالأمر: virt-viewer -c qemu:///system web_devel وكما في virt-manager، يمكن اتصال virt-viewer إلى مضيف بعيد باستخدام SSH مع استيثاق باستخدام مفتاح: virt-viewer -c qemu+ssh://virtnode1.mydomain.com/system web_devel تأكد من استبدال web_devel باسم الآلة الوهمية الملائم. إذا ضبطت استخدام بطاقة شبكية جسرية (bridged network interface)، فيمكنك ضبط وصول SSH إلى الآلة الوهمية؛ راجع درس خادوم OpenSSH لمزيدٍ من المعلومات. مصادر راجع صفحة KVM الرئيسية للمزيد من التفاصيل. للمزيد من المعلومات حول libvirt، انظر إلى صفحة libvirt الرئيسية. موقع «Virtual Machine Manager» فيه المزيد من المعلومات حول تطوير virt-manager. ادخل إلى قناة #ubuntu-virt على خادوم freenode لمناقشة تقنيات الأنظمة الوهمية في أوبنتو. مصدر آخر جيد هو صفحة ويكي أوبنتو «KVM». للمزيد من المعلومات حول Xen، بما فيها استخدام Xen مع libvirt؛ رجاءً راجع صفحة ويكي أوبنتو «Xen». ترجمة -وبتصرف- للمقال Ubuntu Server Guide: libvirt.1 نقطة
-
واحدة من أكبر المشاكل مع البريد الإلكتروني اليوم هي مشكلة البريد غير المرغوب فيه (Unsolicited Bulk Email أو اختصارًا UBE) المعروف أيضًا بالبريد العشوائي (SPAM)؛ قد تحتوي هذه الرسائل أيضًا على فيروسات أو أشكالٍ أخرى من البرمجيات الخبيثة؛ ووفقًا لبعض التقارير، تشغل هذه الرسائل حيزًا كبيرًا من البريد الإلكتروني المُرسَل عبر الإنترنت. سيشرح هذا القسم طريقة دمج Amavisd-new، و Spamassassin، و ClamAV مع عميل نقل البريد Postfix؛ يمكن أيضًا التحقق من البريد عبر تمريره خلال مرشحات خارجية؛ هذه المرشحات يمكنها في بعض الأحيان تحديد إذا ما كانت الرسالةُ عشوائيةً دون الحاجة إلى معالجتها ببرمجيات تستهلك الموارد؛ أشهر هذه المرشحات هي opendkim و python-policyd-spf. Amavisd-new هو برنامج مُغلِّف (wrapper) يستطيع استدعاء أي عدد من برامج ترشيح المحتوى لاستكشاف الرسائل العشوائية، وللتصدي للفيروسات ...إلخ. يستخدم Spamassassin آلياتٍ عدِّة لترشيح البريد اعتمادًا على محتوى الرسالة. ClamAV هو مضاد فيروسات مفتوح المصدر. يوفر opendkim ما يسمىMilter (أي Sendmail Mail Filter) إلى المعيار القياسي DKIM (أي DomainKeys Identified Mail). يُفعِّل python-policyd-spf تحقق SPF (اختصار للعبارة Sender Policy Framework) مع Postfix. هذه هي آلية جمع القطع السابقة: تُقبَل رسالة البريد الإلكتروني من Postfix. تُمرَّر الرسالة إلى أي مرشحات خارجية مثل opendkim و python-policyd-spf في هذه الحالة. ثم يُعالِج Amavisd-new الرسالة. ثم يُستخدَم ClamAV لفحص الرسالة؛ إذا حوت الرسالة على فيروس، فسيرفضها Postfix. ستُحلَّل الرسائل «النظيفة» من Spamassassin للتحقق إذا كانت الرسالة هي رسالة عشوائية؛ ثم يضيف Spamassassin أسطر X-Header ليسمح للبرمجية Amavisd-new بإكمال معالجة الرسالة. على سبيل المثال، إذا كان «رصيد العشوائية» لرسالة ما أكبر من خمسين بالمئة، فيمكن أن تُزال الرسالة تلقائيًا من الطابور (queue) حتى دون إعلام المتلقي؛ طريقة أخرى للتعامل مع هذه الرسائل هي إيصالهم لعميل مستخدم البريد (MUA) والسماح للمستخدم بأن يتعامل مع الرسالة بما يراه مناسبًا. التثبيت راجع درس Postfix لمعلوماتٍ تفصيلية عن تثبيت Postfix. أدخل الأمرين الآتيين في سطر الأوامر لتثبيت بقية البرمجيات: sudo apt-get install amavisd-new spamassassin clamav-daemon sudo apt-get install opendkim postfix-policyd-spf-python هنالك بعض الحزم الأخرى التي يمكن أن تُدمَج مع Spamassassin لاكتشاف أفضل للرسائل العشوائية: sudo apt-get install pyzor razor بالإضافة إلى برمجيات الترشيح الرئيسية، سنحتاج إلى أدوات الضغط لنعالج بعض مرفقات البريد: sudo apt-get install arj cabextract cpio lha nomarch pax rar unrar unzip zip ملاحظة: إذا لم يُعثَر على بعض الحزم السابقة، فتأكد من تفعيل مستودع multiverse في ملف /etc/apt/sources.list. إذا أجريتَ تعديلاتٍ على ذاك الملف، فتأكد من تحديث فهرس الحزم بتنفيذ الأمر sudo apt-get update قبل محاولة التثبيت مرةً أخرى. الضبط علينا الآن ضبط كل شيء مع بعضه بعضًا لترشيح البريد. ClamAV السلوك الافتراضي لبرمجية ClamAV تناسب احتياجاتنا؛ للمزيد من خيارات الضبط الخاصة ببرمجية ClamAV، راجع ملفات الضبط في /etc/clamav. أضف المستخدم clamav إلى المجموعة amavis لكي يملك Amavisd-new الوصول الملائم لتفحص الملفات: sudo adduser clamav amavis sudo adduser amavis clamav Spamassassin يعثر Spamassassin تلقائيًا على المكونات الإضافية ويستخدمها إن توفرت؛ هذا يعني أنه لا حاجة لضبط pyzor و razor. عدِّل ملف الضبط /etc/default/spamassassin لتفعيل عفريت Spamassassin، عدِّل قيمة ENABLED=0 إلى: ENABLED=1 ثم ابدأ تشغيل العفريت: sudo service spamassassin start Amavisd-new أولًا، فعِّل استكشاف الرسائل العشوائية ومضاد الفيروسات في Amavisd-new بتعديل الملف /etc/amavis/conf.d/15-content_filter_mode: use strict; # You can modify this file to re-enable SPAM checking through spamassassin # and to re-enable antivirus checking. # # Default antivirus checking mode # Uncomment the two lines below to enable it # @bypass_virus_checks_maps = ( \%bypass_virus_checks, \@bypass_virus_checks_acl, \$bypass_virus_checks_re); # # Default SPAM checking mode # Uncomment the two lines below to enable it # @bypass_spam_checks_maps = ( \%bypass_spam_checks, \@bypass_spam_checks_acl, \$bypass_spam_checks_re); 1; # insure a defined return قد تكون إعادة معالجة الرسائل العشوائية فكرةً سيئةً لأن العنوان المُعاد مزيفٌ غالبًا؛ ربما ترغب بتعديل الملف /etc/amavis/conf.d/20-debian_defaults لتضبط $final_spam_destiny إلى D_DISCARD بدلًا من D_BOUNCE، كما يلي: $final_spam_destiny = D_DISCARD; وربما ترغب بتعديل قيمة الخيارات الآتية لتعليم (flag) المزيد من الرسائل كرسائل عشوائية: $sa_tag_level_deflt = -999; # add spam info headers if at, or above that level $sa_tag2_level_deflt = 6.0; # add 'spam detected' headers at that level $sa_kill_level_deflt = 21.0; # triggers spam evasive actions $sa_dsn_cutoff_level = 4; # spam level beyond which a DSN is not sent إذا كان اسم المضيف للخادوم (hostname) مختلفًا عن سجل MX للنطاق، فربما تحتاج إلى أن تضبط الخيار $myhostname يدويًا؛ وإذا كان الخادوم يستلم البريد لأكثر من نطاق، فيجب تخصيص الخيار @local_domains_acl أيضًا، وذلك بتعديل الملف /etc/amavis/conf.d/50-user: $myhostname = 'mail.example.com'; @local_domains_acl = ( "example.com", "example.org" ); إذا أردت تغطية أكثر من نطاق، فعليك استخدام ما يلي في /etc/amavis/conf.d/50-user: @local_domains_acl = qw(.); يجب إعادة تشغيل Amavisd-new بعد الضبط: sudo service amavis restart DKIM Whitelist يمكن ضبط Amavisd-new ليضيف عناوين من نطاقات معينة مع مفاتيح نطاق (Domain Keys) صالحة إلى القائمة البيضاء (Whitelist)؛ هنالك بعض النطاقات المضبوطة مسبقًا في /etc/amavis/conf.d/40-policy_banks: هذه بعض الأمثلة لضبط القائمة البيضاء لنطاق: التعليمة 'example.com' => 'WHITELIST',: ستضيف أي عنوان من النطاق "example.com" إلى القائمة البيضاء. التعليمة '.example.com' => 'WHITELIST',: ستضيف أي عنوان من أي نطاق فرعي للنطاق "example.com" ويملك توقيع صالح (valid signature) إلى القائمة البيضاء. التعليمة '.example.com/@example.com' => 'WHITELIST',: إضافة أي عنوان من النطاقات الفرعية للنطاق "example.com" الذي يستخدم توقيع النطاق الأب "example.com". التعليمة './@example.com' => 'WHITELIST',: يضيف العناوين من توقيع صالح من "example.com" هذا يستخدم عادةً لمجوعات النقاش التي توقَّع رسائلها. يمكن أن يملك نطاقٌ واحد أكثر من ضبط للقائمة البيضاء؛ عليك إعادة تشغيل amavisd-new بعد تعديل الملف: sudo service amavis restart ملاحظة: في هذا السياق؛ عندما يُضاف النطاق إلى القائمة البيضاء، فإن الرسالة لن تحصل على أي فحص من الفيروسات أو الرسائل العشوائية؛ ربما يكون أو لا يكون هذا هو السلوك الذي ترغبه لهذا النطاق. Postfix أدخل ما يلي في مِحَث الطرفية لدمج Postfix: sudo postconf -e 'content_filter = smtp-amavis:[127.0.0.1]:10024' ثم عدِّل الملف /etc/postfix/master.cf وأضف الأسطر الآتية إلى نهاية الملف: smtp-amavis unix - - - - 2 smtp -o smtp_data_done_timeout=1200 -o smtp_send_xforward_command=yes -o disable_dns_lookups=yes -o max_use=20 127.0.0.1:10025 inet n - - - - smtpd -o content_filter= -o local_recipient_maps= -o relay_recipient_maps= -o smtpd_restriction_classes= -o smtpd_delay_reject=no -o smtpd_client_restrictions=permit_mynetworks,reject -o smtpd_helo_restrictions= -o smtpd_sender_restrictions= -o smtpd_recipient_restrictions=permit_mynetworks,reject -o smtpd_data_restrictions=reject_unauth_pipelining -o smtpd_end_of_data_restrictions= -o mynetworks=127.0.0.0/8 -o smtpd_error_sleep_time=0 -o smtpd_soft_error_limit=1001 -o smtpd_hard_error_limit=1000 -o smtpd_client_connection_count_limit=0 -o smtpd_client_connection_rate_limit=0 -o receive_override_options=no_header_body_checks,no_unknown_recipient_checks,no_milters أيضًا أضف السطرين الآتيين مباشرةً بعد خدمة النقل «pickup»: -o content_filter= -o receive_override_options=no_header_body_checks هذا سيمنع الرسائل المُولَّدة للتبليغ عن الرسائل العشوائية من تصنيفها كرسائل عشوائية؛ أعد الآن تشغيل Postfix: sudo service postfix restart يجب الآن أن يكون ترشيح المحتوى والعثور على الفيروسات مُفعَّلًا. الاختبار أولًا، اختبر أن Amavisd-new SMTP يستمع: telnet localhost 10024 Trying 127.0.0.1... Connected to localhost. Escape character is '^]'. 220 [127.0.0.1] ESMTP amavisd-new service ready ^] وفي ترويسة (header) الرسائل التي تُمرَّر عبر مُرشِّح المحتوى، يجب أن تُشاهِد: X-Spam-Level: X-Virus-Scanned: Debian amavisd-new at example.com X-Spam-Status: No, hits=-2.3 tagged_above=-1000.0 required=5.0 tests=AWL, BAYES_00 X-Spam-Level: ملاحظة: قد تختلف النتائج المعروضة عمَّا سيظهر عندك، لكن من المهم وجود القيدين X-Virus-Scanned و X-Spam-Status. استكشاف الأخطاء أفضل طريقة لمعرفة سبب حدوث مشكلة ما هي مراجعة ملفات السجل. لتعليماتٍ عن التسجيل في Postfix راجع الدرس الخاص به. يستخدم Amavisd-new البرمجية Syslog لإرسال الرسائل إلى /var/log/mail.log؛ يمكن زيادة مقدار التفاصيل بإضافة الخيار $log_level إلى ملف /etc/amavis/conf.d/50-user، وضبط القيمة من 1 إلى 5: $log_level = 2; ملاحظة: عند زيادة درجة الإسهاب لسجل Amavisd-new، فسيزداد ناتج سجل Spamassassin أيضًا. يمكن زيادة مستوى التسجيل لبرمجية ClamAV بتعديل الملف /etc/clamav/clamd.conf وضبط الخيار الآتي: LogVerbose true افتراضيًا، سيُرسِل ClamAV رسائل السجل إلى /var/log/clamav/clamav.log. ملاحظة: بعد تغيير إعدادات التسجيل للبرمجيات، تذكر أن تعيد تشغيل الخدمة لكي تأخذ الإعدادات الجديدة مفعولها؛ أيضًا تذكر أن تعيد القيمة الافتراضية بعد أن تحل المشكلة. مصادر للمزيد من المصادر حول ترشيح البريد، راجع الوصلات الآتية: توثيق Amavisd-new. توثيق ClamAV وويكي ClamAV. ويكي Spamassassin. صفحة Pyzor الرئيسية. صفحة Razor الرئيسية. DKIM.org Postfix Amavis New أيضًا، تستطيع أن تسأل أسئلتك في قناة #ubuntu-sever على خادوم freenode. ترجمة -وبتصرف- للمقال Ubuntu Server Guide: Mail Filtering.1 نقطة
-
Mailman هو برمجية مفتوحة المصدر لإدارة نقاشات البريد الإلكتروني وقوائم الأخبار الإلكترونية؛ وتعتمد العديد من قوائم البريد المفتوحة المصدر (بما فيها قوائم بريد أوبنتو) على Mailman كبرمجية قوائم البريد؛ حيث أنها قوية وسهلة التثبيت والإدارة. التثبيت يوفر Mailman واجهة ويب للمدراء والمستخدمين؛ مستخدمًا خادوم بريد خارجي لإرسال واستقبال الرسائل؛ حيث يعمل عملًا ممتازًا مع خواديم البريد الآتية: Postfix Exim Sendmail Qmail سنتعلم طريقة تثبيت وضبط Mailman مع خادوم ويب أباتشي ومع أحد خادومَي البريد Postfix أو Exim؛ إذا أردت استخدام Mailman مع خادوم بريد مختلف، فرجاءً عُد إلى قسم المصادر لمزيدٍ من المعلومات. ملاحظة: تحتاج إلى خادوم بريد وحيد فقط، و Postfix هو عميل نقل البريد الافتراضي في أوبنتو. Apache2 لتثبيت apache2، راجع درس إعداد خادوم أباتشي لمزيدٍ من التفاصيل. Postfix راجع درس Postfix لتعليمات عن تثبيت وضبط Postfix. Exim4 لتثبيت Exim4، راجع الدرس الذي شرحنا ذلك فيه. تُخزَّن ملفات الضبط في مجلد /etc/exim4بعد تثبيت exim4؛ وتكون ملفات ضبط exim4 مقسمة إلى عدة ملفات مختلفة افتراضيًا في أوبنتو؛ يمكنك تغيير هذا السلوك بتعديل قيمة المتغير الآتي في ملف /etc/exim4 /update-exim4.conf: dc_use_split_config='true' Mailman نفِّذ الأمر الآتي في الطرفية لتثبيت Mailman: sudo apt-get install mailman تنسخ هذه الحزمة ملفات التثبيت إلى مجلد /var/lib/mailman، وتثبت سكربتات CGI في /usr/lib/cgi-bin/mailman؛ وستُنشِئ مستخدم لينُكس المسمى list، وكذلك تُنشِئ المجموعة list؛ ستُملَك عملية mailman لهذا المستخدم. الضبط يفترض هذا القسم أنك ثبتت mailman و apache2 و postfix أو exim4 بنجاح؛ كل ما بقي عليك هو ضبطهم. Apache2 مثالٌ عن ملف ضبط أباتشي يأتي مع Mailman وهو موجود في /etc/mailman/apache.conf، ولكي يستخدم أباتشي ملف الضبط هذا، فيجب أن يُنسَخ إلى /etc/apache2/sites-available: sudo cp /etc/mailman/apache.conf /etc/apache2/sites-available/mailman.conf هذا سيُنشِئ مضيفًا وهميًا في أباتشي لموقع إدارة Mailman؛ فعِّل الآن الضبط الجديد وأعد تشغيل أباتشي: sudo a2ensite mailman.conf sudo service apache2 restart يستخدم Mailman أباتشي ليشغِّل سكربتات CGI؛ تكون سكربتات CGI مثبتةً في /usr/lib/cgi-bin/mailman، هذا يعني أن وصلة mailman ستكون http://hostname/cgi-bin/mailman؛ يمكنك إجراء تعديلات إلى ملف /etc/apache2/sites-available/mailman.conf لتعديل هذا السلوك. Postfix سنربط النطاق lists.example.com مع القائمة البريدية للدمج مع Postfix؛ رجاءً استبدل lists.example.com بالنطاق الذي تختاره. يمكنك استخدام الأمر postconf لإضافة الضبط الضروري إلى ملف /etc/postfix/main.cf: sudo postconf -e 'relay_domains = lists.example.com' sudo postconf -e 'transport_maps = hash:/etc/postfix/transport' sudo postconf -e 'mailman_destination_recipient_limit = 1' انظر أيضًا في /etc/postfix/master.cf للتحقق من أن لديك «الناقل» (transporter) الآتي: mailman unix - n n - - pipe flags=FR user=list argv=/usr/lib/mailman/bin/postfix-to-mailman.py ${nexthop} ${user} هذا سيستدعي السكربت postfix-to-mailman.py عندما يُسلَّم بريدٌ ما إلى القائمة. اربط بين النطاق lists.example.com إلى ناقل Mailman باستخدام خريطة الربط (transport map)، وعدِّل الملف /etc/postfix/transport: lists.example.com mailman: عليك الآن جعل Postfix يبني خريطة الربط بإدخال الأمر الآتي في الطرفية: sudo postmap -v /etc/postfix/transport ثم أعد تشغيل Postfix لتفعيل الضبط الجديد: sudo service postfix restart Exim4 تستطيع تشغيل خادوم Exim بإدخال الأمر الآتي في الطرفية بعد تثبيت Exim4: sudo service exim4 start ولجعل mailman يعمل مع Exim4، فيجب عليك أن تضبط Exim4؛ وكما ذُكِرَ سابقًا، يستخدم Exim4 افتراضيًا عدِّة ملفات ضبط للأنواع المختلفة؛ لمزيد من التفاصيل، ارجع إلى موقع ويب Exim. يجب عليك إضافة ملف ضبط جديد يحتوي على أنواع الضبط الآتية لتشغيل mailman: Main (الرئيسي). Transport (النقل). Router (الموجه). يُنشِئ Exim ملف ضبط رئيسي بترتيب كل ملفات الضبط الصغيرة هذه؛ ولذلك ترتيب هذه الملفات أمرٌ ضروريٌ جدًا. الرئيسي جميع ملفات الضبط التي تنتمي إلى النوع الرئيسي (Main) يجب أن تُخزَّن في مجلد /etc/exim4/conf.d/main/، يمكنك إضافة المحتويات الآتية في ملف جديد مُسمى 04_exim4-config_mailman: # start # Home dir for your Mailman installation -- aka Mailman's prefix # directory. # On Ubuntu this should be "/var/lib/mailman" # This is normally the same as ~mailman MM_HOME=/var/lib/mailman # # User and group for Mailman, should match your --with-mail-gid # switch to Mailman's configure script. Value is normally "mailman" MM_UID=list MM_GID=list # # Domains that your lists are in - colon separated list # you may wish to add these into local_domains as well domainlist mm_domains=hostname.com # # -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= # # These values are derived from the ones above and should not need # editing unless you have munged your mailman installation # # The path of the Mailman mail wrapper script MM_WRAP=MM_HOME/mail/mailman # # The path of the list config file (used as a required file when # verifying list addresses) MM_LISTCHK=MM_HOME/lists/${lc::$local_part}/config.pck # end النقل جميع الملفات التي تنتمي إلى نوع النقل (transport) يجب أن تُخزَّن في مجلد /etc/exim4/conf.d/transport/؛ تستطيع إضافة المحتويات الآتية إلى ملف جديد باسم 40_exim4-config_mailman: mailman_transport: driver = pipe command = MM_WRAP \ '${if def:local_part_suffix \ {${sg{$local_part_suffix}{-(\\w+)(\\+.*)?}{\$1}}} \ {post}}' \ $local_part current_directory = MM_HOME home_directory = MM_HOME user = MM_UID group = MM_GID الموجه جميع الملفات التي تنتمي إلى نوع الموجه (router) يجب أن تُخزَّن في مجلد /etc/exim4/conf.d/router/؛ تستطيع إضافة المحتويات الآتية إلى ملف جديد باسم 101_exim4-config_mailman: mailman_router: driver = accept require_files = MM_HOME/lists/$local_part/config.pck local_part_suffix_optional local_part_suffix = -bounces : -bounces+* : \ -confirm+* : -join : -leave : \ -owner : -request : -admin transport = mailman_transport تحذير: ترتيب ملفات الضبط «الرئيسي» و«النقل» غير مهم، لكن ترتيب ملفات ضبط التوجيه مهم؛ حيث يجب أن يظهر هذا الملف قبل ملف 200_exim4-config_primary؛ هذان الملفان يحتويان على نفس نوع المعلومات، وتكون الأولوية للذي يأتي أولًا. Mailman بعد تثبيت mailman، تستطيع تشغيله بالأمر الآتي: sudo service mailman start عليك الآن إنشاء قائمة بريدية افتراضية؛ وذلك بتنفيذ ما يلي: sudo /usr/sbin/newlist mailman Enter the email address of the person running the list: bhuvan at ubuntu.com Initial mailman password: To finish creating your mailing list, you must edit your /etc/aliases (or equivalent) file by adding the following lines, and possibly running the `newaliases' program: ## mailman mailing list mailman: "|/var/lib/mailman/mail/mailman post mailman" mailman-admin: "|/var/lib/mailman/mail/mailman admin mailman" mailman-bounces: "|/var/lib/mailman/mail/mailman bounces mailman" mailman-confirm: "|/var/lib/mailman/mail/mailman confirm mailman" mailman-join: "|/var/lib/mailman/mail/mailman join mailman" mailman-leave: "|/var/lib/mailman/mail/mailman leave mailman" mailman-owner: "|/var/lib/mailman/mail/mailman owner mailman" mailman-request: "|/var/lib/mailman/mail/mailman request mailman" mailman-subscribe: "|/var/lib/mailman/mail/mailman subscribe mailman" mailman-unsubscribe: "|/var/lib/mailman/mail/mailman unsubscribe mailman" Hit enter to notify mailman owner... # لقد ضبطنا إما Postfix أو Exim4 للتعرف على كل البريد من mailman؛ لذلك ليس ضروريًا إنشاء أيّة قيود جديدة في /etc/aliases؛ إذا أجريت أيّة تعديلات إلى ملفات الضبط، فرجاءً تأكد أنك أعدت تشغيل هذه الخدمات قبل الإكمال إلى القسم الآتي. ملاحظة: لا يَستخدِم Exim4 الأسماء البديلة في الأعلى لتمرير البريد إلى Mailman، حيث أنه يستخدم طريقة «الاكتشاف»؛ لتجاهل الأسماء البديلة (aliases) عند إنشاء القائمة، فأضف السطر MTA=None إلى ملف ضبط Mailman، الذي هو /etc/mailman/mm_cfg.py. الإدارة لنفرض أن لديك تثبيتًا افتراضيًا وأنَّك أبقيت على سكربتات CGI في المجلد /usr/lib/cgi-bin/mailman/. يوفر Mailman أداة ويب للإدارة؛ وجِّه متصفحك إلى العنوان الآتي للوصول إليها: http://hostname/cgi-bin/mailman/admin ستظهر القائمة البريدية الافتراضية على الشاشة وهي mailman؛ إذا ضغطت على اسم القائمة البريدية، فستُسأل عن كلمة المرور للاستيثاق؛ إذا أدخلت كلمة مرور صحيحة، فستكون قادرًا على تغيير الإعدادات الإدارة للقائمة البريدية؛ يمكنك إنشاء قائمة بريدية جديدة باستخدام الأداة السطرية /usr/sbin/newlist؛ أو بشكل بديل يمكنك إنشاؤها عبر واجهة الويب. المستخدمون يوفر Mailman واجهة ويب للمستخدمين، وجِّه متصفحك نحو العنوان الآتي للوصول لتلك الصفحة: http://hostname/cgi-bin/mailman/listinfo ستظهر القائمة البريدية الافتراضية mailman على الشاشة؛ وإذا ضغطت على اسم القائمة البريدية، فسيظهر نموذج للاشتراك فيها؛ يمكنك إدخال بريدك الإلكتروني واسمك (اختياري) وكلمة المرور للاشتراك؛ سيُرسَل بريد للدعوة إلى بريدك الإلكتروني، ويمكنك اتباع التعليمات في البريد للاشتراك. مصادر دليل تثبيت GNU Mainman. HOWTO – Using Exim 4 and Mailman 2.1 together. راجع أيضًا صفحة ويكي أوبنتو «Mailman».1 نقطة
-
Dovecot هو عميل تسليم البريد، مكتوبٌ مع اعتبار الحماية من الأولويات؛ ويدعم صيغتي صندوق البريد الرئيسيتين: mbox أو Maildir؛ يشرح هذا القسم كيفية ضبطه كخادوم imap أو pop3. التثبيت نفِّذ الأمر الآتي في الطرفية لتثبيت dovecot: sudo apt-get install dovecot-imapd dovecot-pop3d الضبط عدِّل الملف /etc/dovecot/dovecot.confلضبط dovecot، يمكنك اختيار البروتوكول الذي تريد استخدامه، حيث يمكن أن يكون pop3 أو pop3s (أي pop3 الآمن)، أو imap، أو imaps (أي imap الآمن)؛ شرح عن هذه البروتوكولات خارج عن نطاق هذا الدرس، للمزيد من المعلومات راجع مقالات ويكيبيديا عنهم: POP3 ،IMAP. بروتوكولَي IMAPS و POP3S أكثر أمانًا من بروتوكولَي IMAP و POP3 لأنهما يستخدمان تشفير SSL للاتصال؛ بعد أن تختار البروتوكول، فعليك تعديل السطر الآتي في الملف /etc/dovecot/dovecot.conf: protocols = pop3 pop3s imap imaps ثم اختر صندوق البريد الذي تريد استخدامه، حيث يدعم Dovecot الصيغتين maildir و mbox؛ هاتان هما أشهر صيغتين مستعملتين للبريد؛ يملك كلاهما مزايا خاصةً به، ومشروحةً في موقع Dovecot. بعد أن تختار نوع صندوق البريد، عدِّل الملف /etc/dovecot/conf.d/10-mail.confوغيِّر السطر الآتي: mail_location = maildir:~/Maildir # (for maildir) أو mail_location = mbox:~/mail:INBOX=/var/spool/mail/%u # (for mbox) ملاحظة: يجب عليك ضبط عميل نقل البريد (MTA) لنقل البريد الوارد إلى هذا النوع من صندوق البريد إذا كان مختلفًا عمَّا ضبطته. بعد الانتهاء من ضبط dovecot، يجب عليك إعادة تشغيل عفريت dovecot لتجرِّب عمل الخادوم: sudo service dovecot restart إذا فعَّلت imap، أو pop3؛ فيجب عليك أيضًا تجربة تسجيل الدخول باستخدام الأوامر telnet localhost pop3 أو telnet localhost imap2؛ لترى إن شاهدت شيئًا شبيهًا بما يلي، فستعلم أن التثبيت والإعداد قد نجحا: user@localbox:~$ telnet localhost pop3 Trying 127.0.0.1... Connected to localhost.localdomain. Escape character is '^]'. +OK Dovecot ready. ضبط Dovecot SSL لضبط Dovecot ليستخدم SSL، تستطيع أن تحرِّر الملف /etc/dovecot/conf.d/10-ssl.conf وتُعدِّل الأسطر الآتية: ssl = yes ssl_cert = </etc/ssl/certs/dovecot.pem ssl_key = </etc/ssl/private/dovecot.pem يمكنك الحصول على شهادة SSL من سلطة إصدار الشهادات أو إنشاء شهادة SSL موقعة ذاتيًا؛ الخيار الأخير هو خيار جيد للبريد الإلكتروني، ﻷن عملاء SMTP نادرًا ما يشتكون حول الشهادات الموقعة ذاتيًا؛ رجاءً عُد إلى درس الشهادات لمزيدٍ من المعلومات حول إنشاء شهادة SSL موقعة ذاتيًا؛ يجب عليك الحصول على ملف مفتاح وملف الشهادة بعد إنشائك للشهادة؛ رجاءً انسخهما إلى المكان المُشار إليه في ملف الضبط /etc/dovecot/conf.d/10-ssl.conf. ضبط الجدار الناري لخادوم البريد الإلكتروني عليك ضبط الجدار الناري للسماح للاتصالات على المنافذ الضرورية للوصول إلى خادوم البريد من حاسوبٍ آخر، وهي: IMAP – 143 IMAPs – 993 POP3 – 110 POP3s – 995 مصادر راجع موقع Dovecot لمزيدٍ من المعلومات. أيضًا صفحة ويكي أوبنتو «Dovecot» فيها تفاصيلٌ إضافية. ترجمة -وبتصرف- للمقال Ubuntu Server Guide: DOvecot Server.1 نقطة
-
تشترك العديد من الأنظمة في عملية الحصول على بريد إلكتروني من شخصٍ لآخر عبر الشبكة أو الإنترنت التي تعمل مع بعضها بعضًا؛ ويجب أن يُضبَط كل واحد من هذه الأنظمة ضبطًا صحيحًا لكي تتم العملية بنجاح؛ يستخدم المُرسِل «عميل مستخدم البريد» (Mail User Agent اختصارًا MUA) أو عميل بريد إلكتروني، لإرسال رسالة عبر واحد أو أكثر من «عملاء نقل البريد» (Mail Transfer Agents اختصارًا MTA)، سيسلم آخرهم البريد إلى «عميل إيصال البريد» (Mail Delivery Agent اختصارًا MDA) لإيصال البريد إلى صندوق بريد المستلم، الذي بدوره يحصل عليه عميل البريد الإلكتروني للمستلم عادةً باستخدام خادوم POP3 أو IMAP. Postfixإن Postfix هو عميل نقل البريد (MTA) الافتراضي في أوبنتو؛ الذي يُوصَف بأنه سريع وسهل الإدارة، وآمن ومتوافق مع عميل نقل البريد sendmail؛ يشرح هذا القسم طريقة تثبيت وضبط Postfix، ويشرح أيضًا كيفية إعداد خادوم SMTP باستخدام اتصال آمن (لإرسال رسائل البريد الإلكتروني بأمان). ملاحظة: لن نتطرّق إلى «Postfix Virtual Domains» للمزيد من المعلومات حول النطاقات الوهمية وغيرها من إعدادات الضبط المتقدمة، فراجع قسم «مصادر» في نهاية هذا القسم. التثبيتنفِّذ الأمر الآتي في الطرفية لتثبيت postfix: sudo apt-get install postfixستُسأل بعض الأسئلة أثناء عملية التثبيت، وسيُشرَح الضبط بتفاصيل أكبر في المرحلة القادمة. الضبط الأساسينفِّذ الأمر الآتي في الطرفية لضبط postfix: sudo dpkg-reconfigure postfixستظهر واجهة مستخدم، اختر منها القيم الآتية على كل شاشة: Internet Sitemail.example.comstevemail.example.com, localhost.localdomail, localhostNo127.0.0.1/8 8 [::ffff:127.0.0.0]/104 [::1]/128 192.168.0.0/240+allملاحظة: استبدل mail.example.com بالنطاق الذي سيقبل استلام البريد عليه، و 192.168.0.0/24 بالشبكة التي عندك ومجالها؛ و steve باسم ملائم للمستخدم. الآن هو وقتٌ ملائمٌ لتحديد صيغة صندوق البريد التي تنوي استخدامها؛ افتراضيًا Postfix يستخدم mbox لصيغة صندوق البريد؛ وبدلًا من تعديل ملف الضبط مباشرةً، يمكنك استخدام الأمر postconf لضبط كل معاملات postfix؛ ستُخزَّن معاملات الضبط في ملف /etc/postfix/main.cf؛ وإذا أردت إعادة ضبط معامل معيَّن، يمكنك إما أن تنفذ الأمر أو تعدل الملف يدويًا؛ فلضبط صيغة صندوق البريد إلى Maildir: sudo postconf -e 'home_mailbox = Maildir/'ملاحظة: هذا سيضع البريد الجديد في مجلد /home/username/Maildir، لذلك تريد ضبط عميل تسليم البريد (MDA) لاستخدام نفس المسار. استيثاق SMTPيسمح SMTP-AUTH للعميل بالتعريف عن نفسه باستخدام آلية استيثاق (SASL)، يجب استخدام أمن طبقة النقل (TLS) لتشفير عملية الاستيثاق؛ سيسمح خادوم SMTP للعميل بأن ينقل البريد بعد الاستيثاق. لضبط Postfix مع SMTP-AUTH باستخدام SASL (Dovecot SASL): sudo postconf -e 'smtpd_sasl_type = dovecot' sudo postconf -e 'smtpd_sasl_path = private/auth-client' sudo postconf -e 'smtpd_sasl_local_domain =' sudo postconf -e 'smtpd_sasl_security_options = noanonymous' sudo postconf -e 'broken_sasl_auth_clients = yes' sudo postconf -e 'smtpd_sasl_auth_enable = yes' sudo postconf -e 'smtpd_recipient_restrictions = \ permit_sasl_authenticated,permit_mynetworks,reject_unauth_destination'ملاحظة: الضبط smtpd_sasl_path هو مسار نسبي إلى مجلد طلبيات Postfix. ثم ولِّد أو احصل على شهادة TLS رقمية، راجع درس الشهادات للتفاصيل؛ هذا المثال يستخدم أيضًا سلطة شهادات (Certificate Authority أو CA)، للمزيد من المعلومات حول ذلك، انظر إلى قسم «سلطة الشهادات» في نفس الدرس. ملاحظة: عملاء مستخدمي البريد (MUA) التي تتصل إلى خادوم البريد عبر TLS يجب أن تتعرف على الشهادة المستخدمة في TLS؛ يمكن فعل ذلك إما باستخدام شهادة من سلطة شهادات تجارية، أو استخدام شهادة موقعة ذاتيًا، وعلى المستخدمين أن يُثبِّتوا أو يقبلوا الشهادة يدويًا، شهادات TLS من عميل نقل بريد إلى عميل نقل بريد آخر لا يُتحقَّق منها إلا بعد موافقة مسبقة من المنظمات المتأثرة؛ لا يوجد سبب لعدم استخدام شهادة موقعة ذاتيًا عند استعمال TLS من MTA إلى MTA، ما لم تتطلب السياسات المحلية ذلك؛ راجع قسم «إنشاء شهادة موقعة ذاتيا» لمزيدٍ من المعلومات في درس الشهادات. بعد أن تحصل على الشهادة، اضبط Postfix لتوفير تشفير TLS للبريد المُرسَل والمُستلَم: sudo postconf -e 'smtp_tls_security_level = may' sudo postconf -e 'smtpd_tls_security_level = may' sudo postconf -e 'smtp_tls_note_starttls_offer = yes' sudo postconf -e 'smtpd_tls_key_file = /etc/ssl/private/server.key' sudo postconf -e 'smtpd_tls_cert_file = /etc/ssl/certs/server.crt' sudo postconf -e 'smtpd_tls_loglevel = 1' sudo postconf -e 'smtpd_tls_received_header = yes' sudo postconf -e 'myhostname = mail.example.com'إذا كنت تستخدم سلطة الشهادات الخاصة بك لتوقيع الشهادة، فأدخِل: sudo postconf -e 'smtpd_tls_CAfile = /etc/ssl/certs/cacert.pem'ملاحظة: بعد تنفيذ كل الأوامر السابقة، فيكون Postfix قد ضُبِطَ ليستخدم SMTP-AUTH وشهادة موقعة ذاتيًا أُنشِئت لاتصال TLS مشفر. # See /usr/share/postfix/main.cf.dist for a commented, more complete # version smtpd_banner = $myhostname ESMTP $mail_name (Ubuntu) biff = no # appending .domain is the MUA's job. append_dot_mydomain = no # Uncomment the next line to generate "delayed mail" warnings #delay_warning_time = 4h myhostname = server1.example.com alias_maps = hash:/etc/aliases alias_database = hash:/etc/aliases myorigin = /etc/mailname mydestination = server1.example.com, localhost.example.com, localhost relayhost = mynetworks = 127.0.0.0/8 mailbox_command = procmail -a "$EXTENSION" mailbox_size_limit = 0 recipient_delimiter = + inet_interfaces = all smtpd_sasl_local_domain = smtpd_sasl_auth_enable = yes smtpd_sasl_security_options = noanonymous broken_sasl_auth_clients = yes smtpd_recipient_restrictions = permit_sasl_authenticated,permit_mynetworks,reject _unauth_destination smtpd_tls_auth_only = no smtp_tls_security_level = may smtpd_tls_security_level = may smtp_tls_note_starttls_offer = yes smtpd_tls_key_file = /etc/ssl/private/smtpd.key smtpd_tls_cert_file = /etc/ssl/certs/smtpd.crt smtpd_tls_CAfile = /etc/ssl/certs/cacert.pem smtpd_tls_loglevel = 1 smtpd_tls_received_header = yes smtpd_tls_session_cache_timeout = 3600s tls_random_source = dev:/dev/urandomبعد إكمال الضبط الابتدائي لخدمة postfix؛ فنفذ الأمر الآتي لإعادة تشغيل العفريت: sudo service postfix restartيدعم Postfix استخدام SMTP-AUTH كما هو معرَّف في RFC2554؛ الذي هو مبني على SASL؛ لكنه يبقى ضروريًا إعداد استيثاق SASL قبل استخدام SMTP-AUTH. ضبط SASLيدعم Postfix نسختين من SASL هما Cyrus SASL و Dovecot SASL؛ لتفعيل Dovecot SASL، فيجب تثبيت حزمة dovecot-common، وذلك بإدخال الأمر الآتي من الطرفية: sudo apt-get install dovecot-commonيجب عليك تعديل ملف الضبط /etc/dovecot/conf.d/10-master.conf؛ مغيِّرًا ما يلي: service auth { # auth_socket_path points to this userdb socket by default. It's typically # used by dovecot-lda, doveadm, possibly imap process, etc. Its default # permissions make it readable only by root, but you may need to relax these # permissions. Users that have access to this socket are able to get a list # of all usernames and get results of everyone's userdb lookups. unix_listener auth-userdb { #mode = 0600 #user = #group = } # Postfix smtp-auth unix_listener /var/spool/postfix/private/auth { mode = 0660 user = postfix group = postfix }ولكي نسمح لعملاء Outlook باستخدام SMTP-AUTH، فعدِّل السطر الآتي في قسم authentication mechanisms في ملف /etc/dovecot/conf.d/10-auth.conf: auth_mechanisms = plainإلى ما يلي: auth_mechanisms = plain loginبعد أن ضَبَطَتَ Dovecot، فأعد تشغيله بالأمر: sudo service dovecot restartMail-Stack Deliveryخيار آخر لضبط Postfix لاستعمال SMTP-AUTH هو استخدام الحزمة mail-stack-delivery (كانت تُحزَّم مسبقًا باسم dovecot-postfix)؛ هذه الحزمة ستُثبِّت Dovecot وتضبط Postfix ليستخدمها لاستيثاق SASL وعميل تسليم البريد (MDA)؛ تضبط هذه الحزمة Dovecot أيضًا للخدمات IMAP و IMAPS و POP3 و POP3S. ملاحظة: ربما تريد أو لا تريد تشغيل IMAP، أو IMAPS، أو POP3، أو POP3S على خادوم البريد عندك؛ على سبيل المثال، إذا كنت تضبط خادومك ليكون بوابةً للبريد، أو مُرَشِّحًا للرسائل العشوائية (Spam) أو الفيروسات ...إلخ. فإذا كانت هذه هي الحالة عندك، فمن الأسهل استخدام الأوامر السابقة لضبط Postfix لاستخدام SMTP-AUTH. لتثبيت الحزمة، أدخِل ما يلي في الطرفية: sudo apt-get install mail-stack-deliveryيجب أن تحصل الآن على خادوم بريد يعمل تمامًا؛ لكن هنالك بعض الخيارات التي تريد ضبطها لمزيدٍ من التخصيص؛ على سبيل المثال، تستخدم الحزمة السابقة شهادة ومفتاح من حزمة ssl-cert، وفي بيئة إنتاجية يجب أن تستخدم شهادة ومفتاح مولَّد للمضيف. عدِّل الخيارات الآتية في ملف /etc/postfix/main.cf بعد أن تخصص الشهادة والمفتاح للمضيف: smtpd_tls_cert_file = /etc/ssl/certs/ssl-mail.pem smtpd_tls_key_file = /etc/ssl/private/ssl-mail.keyثم أعد تشغيل Postfix: sudo service postfix restartالاختباراكتمل الآن ضبط SMTP-AUTH؛ حان الآن الوقت لاختبار الإعدادات. للتأكد إذا كان SMTP-AUTH و TLS يعملان عملًا صحيحًا، فنفِّذ الأمر الآتي: telnet mail.example.com 25بعد أن تُنشِئ اتصالًا لخادوم البريد postfix، اكتب ما يلي: ehlo mail.example.comإذا رأيت الأسطر الآتية بين غيرها، فإن كل شيء يعمل على ما يرام؛ اكتب quit للخروج. 250-STARTTLS 250-AUTH LOGIN PLAIN 250-AUTH=LOGIN PLAIN 250 8BITMIMEاستكشاف الأخطاء وإصلاحهاسنقدم في هذا القسم بعض الطرق الشائعة لتحديد السبب إذا حدثت مشكلة ما. الخروج من chrootستُثبَّت الحزمة postfix في أوبنتو افتراضيًا في بيئة «chroot» لأسبابٍ أمنية؛ يمكن أن يزيد هذا من تعقيد إصلاح المشاكل. لتعطيل عمل chroot، حدد السطر الآتي في ملف /etc/postfix/master.cf: smtp inet n - - - - smtpdوعدِّله كما يلي: smtp inet n - n - - smtpdتحتاج إلى إعادة تشغيل Postfix لاستخدام الضبط الجديد، وذلك بإدخال الأمر الآتي في الطرفية: sudo service postfix restartSmtpsإذا احتجت إلى smtps، فعدِّل الملف /etc/postfix/master.cf وأزل التعليق عن السطر الآتي: smtps inet n - - - - smtpd -o smtpd_tls_wrappermode=yes -o smtpd_sasl_auth_enable=yes -o smtpd_client_restrictions=permit_sasl_authenticated,reject -o milter_macro_daemon_name=ORIGINATINGملفات السجليُرسِل Postfix جميع رسائل السجل إلى ملف /var/log/mail.log، لكن يمكن أن تضيع رسائل الخطأ والتحذير في السجل العادي، لذلك فإنها تُسجَّل أيضًا إلى /var/log/mail.err و /var/log/mail.warn على التوالي وبالترتيب. لمراقبة الرسائل الداخلة إلى السجل في الوقت الحقيقي، فاستخدم الأمر tail مع الخيار -f كما يلي: tail -f /var/log/mail.errيمكن زيادة كمية التفاصيل التي ستُسجَّل؛ هذه بعض خيارات الضبط لزيادة مستوى التسجيل لبعض «المناطق» المذكورة أعلاه. لزيادة نشاط تسجيل TLS، فاضبط الخيار smtpd_tls_loglevel إلى قيمة من 1 إلى 4: sudo postconf -e 'smtpd_tls_loglevel = 4'إذا كانت لديك مشكلة في إرسال أو استقبل البريد من نطاق معين، فيمكنك إضافة ذاك النطاق إلى معامل debug_peer_list: sudo postconf -e 'debug_peer_list = problem.domain'يمكنك زيادة درجة الإسهاب لأي عملية تابعة لعفريت Postfix بتعديل الملف /etc/postfix/master.cf وبإضافة الخيار -v بعد القيد، على سبيل المثال، عدِّل القيد smtp كما يلي: smtp unix - - - - - smtp -vملاحظة: من الضروري ملاحظة أنه بعد إنشاء تعديل من تعديلات التسجيل المذكورة آنفًا، فيجب أن يعاد تحميل عملية Postfix لكي تُدرِك الضبط الجديد: sudo service postfix reloadلزيادة مقدار المعلومات المسجلة عند استكشاف مشاكل SASL، يمكنك ضبط الخيارات الآتية في ملف /etc/dovecot/conf.d/10-logging.conf: auth_debug=yes auth_debug_passwords=yesملاحظة: مثل Postfix، إذا عدَّلت ضبط Dovecot فيجب إعادة تحميل العملية: sudo service dovecot reloadملاحظة: يمكن أن تزيد بعض الخيارات من مقدار المعلومات المُرسَلة إلى السجل زيادةً كبيرةً؛ تذكر أن تُعيد مستوى التسجيل إلى الحالة الطبيعية بعد أن تحلّ المشكلة؛ ثم أعد تحميل العفريت الملائم كي يأخذ الضبط الجديد مفعوله. مصادريمكن أن تكون مهمة إدارة خادوم Postfix مهمةً معقدةً جدًا؛ وستحتاج في مرحلةٍ ما إلى الاستعانة بمجتمع أوبنتو للحصول على المساعدة. مكان رائع للسؤال عن مساعدة في Postfix والاشتراك في مجتمع أوبنتو هو قناة #ubuntu-server على خادوم freenode؛ يمكنك أيضًا نشر موضوع في أحد المنتديات.لمعلومات معمقّة عن Postfix، فينصح مطورو أوبنتو بكتاب «The Book of Postfix».موقع Postfix فيه توثيق رائع لمختلف خيارات الضبط المتوفرة.راجع أيضًا صفحة ويكي أوبنتو «Postfix» للمزيد من المعلومات.ترجمة -وبتصرف- للمقال Ubuntu Server Guide: Postfix. حقوق الصورة البارزة: Designed by Freepik.1 نقطة