نظرة عامة #
تهدف هذه المقالة إلى شرح كيفية جعل تطبيق إدارة علاقات العملاء (CRM)، وهو أمر بالغ الأهمية لشركة مثل Odoo ، قابلاً للتوسع بشكل كبير. كما تشرح كيفية إعداده ليكون عالي التوافر بحيث يتحمل الأعطال، وكيفية تعزيز أمان الوصول إليه.
ما هو التوفر العالي؟ #
التوفر العالي هو جودة النظام أو المكون الذي يضمن مستوى عالٍ من الأداء التشغيلي، عادةً وقت التشغيل، لفترة زمنية أعلى من المعتاد.
ما هو Odoo؟ #
Odoo (المعروف أيضًا باسم OpenERP ) هو برنامج مفتوح المصدر للأعمال يدمج جميع احتياجات الأعمال، بما في ذلك إدارة علاقات العملاء، والفواتير، والمحاسبة، ومواقع الويب، وإدارة المستودعات والمشاريع، والتصنيع، والمخزون، وغير ذلك الكثير!
اعداد RELIANOID موازن التحميل #
مع RELIANOID باستخدام موازن التحميل، يمكننا ضمان التوافر العالي والاستعداد للتوسع الشامل Odoo يمكنك الحصول على خدماتنا من خلال إتباع الخطوات التالية:
لاحظ أنه لمتابعة هذه التعليمات، سيكون مطلوبًا تثبيت مثيل من RELIANOID موازن التحميل والعديد من حالات Odoo التطبيقات. بالإضافة إلى ذلك، من المهم جدًا أن كيو يتم تكرارها فيما بينهم، من أجل ضمان الاتساق.
البيئة التي سنقوم بتوصيفها في هذه المقالة موضحة أدناه.

الخطوة 1: إنشاء عنوان IP افتراضي #
يعد إنشاء عنوان IP افتراضي في موازن التحميل أمرًا ضروريًا لأنه سيكون نقطة الدخول إلى Odoo الخدمات. في مثالنا سيكون لدينا اثنان Odoo خوادم حقيقية، ولكن يمكنك إضافة ما تحتاجه دون أي قيود. لإنشاء عنوان IP افتراضي جديد، من RELIANOID القائمة الرئيسية LB، حدد الإعدادات->الواجهات.

ابحث عن الواجهة المادية التي تريد إنشاء عنوان IP افتراضي لها، ثم انقر على زر " إضافة واجهات شبكة افتراضية" ضمن " الإجراءات".

أدخل عنوان IP الظاهري الجديد وقناع الشبكة الخاص به، ويجب أن يكون في نفس الشبكة الفرعية للجهاز الفعلي. احفظه بالنقر على زر " حفظ الواجهة الظاهرية".

الخطوة 2: إنشاء مزرعة http #
المزرعة عبارة عن مجموعة من خوادم الكمبيوتر التي توفر وظائف الخادم، مما يزيد من قدراته بشكل ملحوظ. لذا، من خلال إنشاء مزرعة من خوادم Odoo ، سنزيد من أدائها وقابليتها للتوسع، وهو أمر ضروري لضمان التوافر العالي. لتحقيق ذلك، انتقل إلى إدارة -> المزارع.

انقر على "إضافة مزرعة جديدة" ، وفي النافذة الجديدة، حدد اسمًا واختر HTTP كملف تعريف. اخترنا ملف تعريف HTTP لأنه الخيار الأمثل لخدمات الويب، وهو ضروري لتحليل محتوى التطبيق لضمان استمرارية البيانات على مستوى التطبيق.

سيتم عرض خيارين إضافيين. حدد عنوان IP الظاهري الذي تم إنشاؤه في الخطوة 1 ومنفذًا (في المثال نختار 80، لأنه المنفذ الافتراضي لبروتوكول HTTP) وانقر على زر الحفظ.

للحصول على مزيد من المعلومات حول المزارع، يرجى الرجوع إلى Manage::farms.
الخطوة 3: إضافة الخدمة #
بعد إنشاء المزرعة، يجب تعديلها لإضافة خدمة جديدة. يرجى النقر على زر " تعديل المزرعة".

يمكن تعديل العديد من تفاصيل المزرعة، والآن سنحتفظ بالقيم الافتراضية ونضيف خدمة جديدة.

في لقطة الشاشة أعلاه، ابحث عن قسم "إضافة خدمة" ، واكتب اسم الخدمة، ثم انقر فوق "إضافة".

سنترك القيم الافتراضية مؤقتًا، وسنضيف فقط الخوادم الخلفية التي ستعمل عليها خدمات Odoo الحقيقية. ابحث عن قسم الخوادم الخلفية، ثم انقر على زر "إضافة خادم حقيقي".

قم بتضمين عناوين IP ومنافذ خدمات Odoo (الافتراضي 8069 لخدمات Odoo)، والمهلة الزمنية والوزن، ثم انقر فوق حفظ الخادم الحقيقي.

من الضروري تجنب تبديل الخوادم: فإذا انتقلنا خلال جلستنا من خادم إلى آخر، فسيؤدي ذلك إلى انخفاض الكفاءة وفقدان البيانات وحتى انقطاع الاتصال. ولتجنب هذا السلوك، يجب ضبط خيار استمرارية الجلسة . سنختار الاحتفاظ بالجلسة باستخدام معرّف الجلسة، ما يعني أننا سنتصل بخادم واحد فقط خلال الجلسة.
في معلمات الخدمة العامة، يمكننا الآن تغيير حقل جلسة الثبات إلى COOKIE: ملف تعريف ارتباط معين والنقر على تعديل.

أدخل session_id كمعرف جلسة الثبات وانقر على تعديل.

وأخيرا، يجب علينا تطبيق التغييرات عن طريق إعادة تشغيل المزرعة.
![]()
تهانينا! لقد قمتَ بتهيئة Odoo في وضع التوافر العالي. يمكنك الوصول إليه بكتابة http://[VIRTUAL_IP]:[PORT] (في مثالنا http://192.168.56.200 ).
الخطوة 4: فحص صحي متقدم #
سنقوم الآن بإعداد Farm Guardian لإجراء فحوصات متقدمة لحالة الخوادم الخلفية، لضمان تشغيلها بشكل سليم وسلوك التطبيق الصحيح، وليس مجرد فحص منفذ TCP. يرجى تحديد موقع Farm Guardian ضمن خدمة Odoo التي قمنا بإعدادها في الخطوة 3. انقر على "استخدام Farm Guardian لفحص خوادم الواجهة الخلفية" ، ويمكنك أيضًا تعديل الفترة الزمنية بين الفحوصات. أخيرًا، في مربع نص "أمر الفحص" ، اكتب الأمر التالي:
check_http -I HOST -w 10 -c 10 -t 10 -e 200 -p PORT -s ' '
وأخيراً، انقر على "تعديل".

يختبر الأمر check_http اتصالات HTTP مع المضيف المحدد. في حالتنا، نستخدم الخيارات التالية:
-أستضيف: سيتم استبدال رمز HOST بعنوان IP الخلفي المحدد.
-w 10: وقت الاستجابة لينتج عنه حالة التحذير: 10 ثوانٍ
-c 10: زمن الاستجابة للحالة الحرجة: 10 ثواني
-t 10: 10 ثوانٍ قبل انتهاء مهلة الاتصال
-ه 200: تتوقع السلسلة 200 في حالة استجابة الخادم
-منفذ: سيتم استبدال منفذ الرمز المميز بمنفذ الواجهة الخلفية المحدد.
-س ' ': السلسلة المتوقعة في المحتوى هي " '
يضمن فحص الصحة المتقدم هذا أننا نحصل على استجابة 200 OK من الخوادم الحقيقية وأن أمر الاستجابة يحتوي على السلسلة ' '. لقد اخترنا هذه السلسلة لأنها في نهاية الاستجابة، وبهذه الطريقة يمكننا ضمان الحصول على إجابة صحيحة من تطبيق الواجهة الخلفية.
الخطوة 5: إجراءات أمنية مشددة #
Odoo لا يوفر قناة آمنة للاتصال عبر الويب ولكن يمكننا تحقيق ذلك بسهولة باستخدام RELIANOID موازن التحميل كما هو موضح أدناه.

علينا إعداد مستمع HTTPS: في شاشة تحرير المعلمات العامة للمزرعة ، يرجى تغيير مستمع المزرعة من HTTP إلى HTTPS والمنفذ الظاهري إلى 443.

في هذه المرحلة، يمكن الوصول إلى Odoo عن طريق كتابة https://[VIRTUAL_IP] في متصفحك.
الاتصالات الآمنة تعمل الآن، ولكن يمكننا تعزيزها أكثر من خلال ضبط تشفير HTTPS: ضمن الإعدادات العامة للمزرعة، ابحث عن قسم إعدادات HTTPS . يمكننا تغيير التشفير إلى مستوى أمان عالٍ.

يُستخدم حقل التشفيرات لإنشاء قائمة بالتشفيرات التي يقبلها خادم HTTPS لتعزيز أمان اتصال SSL. باختيار " أمان عالي" ، سيتم تعيين التشفيرات افتراضيًا.
kEECDH+ECDSA+AES128:kEECDH+ECDSA+AES256:kEECDH+AES128:kEECDH+AES256:kEDH+AES128:kEDH+AES256:DES-CBC3-SHA:+SHA:!aNULL:!eNULL:!LOW:!kECDH:!DSS:!MD5:!EXP:!PSK:!SRP:!CAMELLIA:!SEED
خيار آخر هو شهادات HTTPS المتاحة : ستظهر قائمة بالشهادات التي يمكن اختيارها للمزرعة الحالية (فقط لمزارع HTTP، وهو ما ينطبق علينا). يمكننا اختيار شهادة من القائمة والنقر على "إضافة" . أخيرًا، انقر على "تعديل" وأعد تشغيل المزرعة لتطبيق التغييرات.
وأخيرًا، يمكن استخدام شهادة zencert.pem لاختبار مستمع HTTPS، ولكن من المهم استخدام شهادة SSL الخاصة بك.
للمزيد من المعلومات، يرجى الرجوع إلى مزارع ملفات تعريف HTTP.
الخطوة 6: قاعدة بيانات Odoo على الويب #
Odoo يبني عنوان URL مع الأخذ في الاعتبار إعداداته عنوان URL للقاعدة على الويب. إذا تمكنا من الوصول من خلال RELIANOID في موازن التحميل، سنرى أن عنوان URL قد تحول إلى عنوان URL الخاص بالواجهة الخلفية. نظرًا لأننا قمنا بتكوين اتصالات آمنة عبر HTTPS، فقد يُشكل هذا مشكلة، ولن نتمكن من الانتقال إلا إلى Odoo عنوان URL الأساسي. لتجنب ذلك، يجب علينا ضبط عنوان URL للقاعدة على الويب المعلمة في كل odoo الخادم.
لتحقيق ذلك، قم بالوصول إلى كل واجهة خلفية، وفي اللوحة اليسرى، انتقل إلى التقنية >> المعلمات >> معلمات النظام وتغيير عنوان URL للقاعدة على الويب إلى RELIANOID تم تحديد عنوان IP الافتراضي لموزع الأحمال والمنفذ لمزرعة odoo. في مثالنا، سيكون https://192.168.56.200، أو الأفضل، https://odoo.mycompany.com.

قد تكون الميزات التقنية معطلة. في هذه الحالة، لن تكون الخيارات التقنية متاحة. لحل هذه المشكلة، حدد "المستخدمون" >> "المستخدمون" ، ثم عدّل بيانات المستخدم الحالي، وفعّل خيار " الميزات التقنية" ضمن "سهولة الاستخدام".
الخطوة 7: مخزن ملفات Odoo #
هناك عدة خيارات لتكوين مخزن الملفات في التوفر العالي.
1. في كل نظام خلفي، يمكننا ربط وحدة تخزين مشتركة وتكوين المسار المحلي من خلال المعلمة ir_attachment.location ضمن قسم الإعدادات >> التقنية >> المعلمات >> معلمات النظام.
2. إذا لم يكن لدينا وحدة لتوفير توفر عالٍ للمورد المشترك لمخزن الملفات، فيمكننا استخدام RELIANOID لإنشائه من أجل NFS خدمة نظام ملفات الشبكة (Network File System) ليتم تثبيتها في كل واجهة خلفية. ولأن هذه الخدمة تستخدم منافذ TCP وUDP، يمكننا إنشاء L4xNAT عبر جميع المنافذ تحت عنوان IP افتراضي معين، والذي سيُستخدم لتكوين التثبيت تلقائيًا عند بدء التشغيل من خلال / الخ / fstab ملف.
3. خيار آخر هو تهيئة SSHFS الذي يستخدم خدمة SSH الآمنة للوصول إلى نظام ملفات مشترك عن بُعد. وبما أن خدمة SSH تستخدم منفذ TCP 22 افتراضيًا، فيمكن موازنة الحمل عبر L4xNAT دون أي مشكلة، على غرار حالة NFS.
اعتمادًا على ما إذا كان من الضروري إنشاء مورد مخزن ملفات مشترك نشط-نشط أو نشط-سلبي، فسوف تكون هناك حاجة إلى تكرار أو مزامنة الملفات.
على الرغم من أن هذا الموضوع خارج نطاق هذه المقالة، فسيتم تناوله في مقال مخصص.
الآن، أصبحت عملياتك التجارية وعملياتك جاهزة للتوسع من خلال إعداد Odoo في وضع التوفر العالي مع RELIANOID، التمتع!