استخدام إعدادات الموقع المخفية

:bookmark: هذا دليل #كيفية حول إعدادات الموقع المخفية، كيفية تفعيلها، ولماذا قد ترغب في تعديلها.

:person_raising_hand: مستوى المستخدم المطلوب: مدير النظام
:warning: هام: يتطلب بعض الخطوات الوصول إلى وحدة التحكم (Console).

في منصة Discourse، تشير إعدادات الموقع المخفية إلى خيارات التكوين غير الظاهرة أو غير المتاحة بسهولة عبر واجهة لوحة تحكم الإدارة القياسية. تُعد هذه الإعدادات جزءًا من التكوين الخلفي الذي يمكنه التحكم في ميزات متقدمة أو ذات تأثير محتمل على الموقع.

تأتي هذه الإعدادات المخفية بقيم افتراضية مُعدّة مسبقًا، تهدف إلى ضمان الأداء الأمثل والأمان بناءً على حالات الاستخدام الشائعة وأفضل الممارسات.

يتم إخفاء الإعدادات المخفية عن واجهة الإعدادات الافتراضية لمنع سوء التكوين العرضي من قبل المدراء الذين قد لا يفهمون تمامًا آثارها. وهي مخصصة لـ:

  • المدراء الذين يمتلكون فهمًا عميقًا لطريقة عمل Discourse الداخلية.
  • حالات محددة تكون فيها حاجة إلى تكوين غير عادي أو دقيق جدًا للموقع.
  • اختبار الميزات التجريبية التي لم تكن جاهزة للاستخدام العام بعد.

عادةً ما يحتاج المدراء الذين يرغبون في تعديل الإعدادات المخفية إلى القيام بذلك لأن التكوين الافتراضي لا يتطابق تمامًا مع احتياجاتهم.

:warning: ملاحظات هامة حول الإعدادات المخفية:

قد يؤدي تعديل إعدادات الموقع المخفية في Discourse إلى مشاكل متنوعة مثل ثغرات أمنية، أو تأثير سلبي على الأداء، أو تدهور تجربة المستخدم، أو فقدان البيانات إذا لم يتم ذلك بحذر!

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

كيفية تعديل إعدادات الموقع المخفية

الخيار الأول: وحدة تحكم Rails

لتعديل إعدادات الموقع المخفية، تحتاج عادةً إلى استخدام وحدة تحكم Rails، وهي أداة سطر أوامر تتيح لك التفاعل مباشرة مع الخلفية (Backend) لتثبيت Discourse. يمكنك تعديل الإعدادات عبر وحدة تحكم Rails باتباع الخطوات التالية:

  1. الوصول إلى وحدة تحكم Rails:
cd /var/discourse
./launcher enter app
rails c
  1. تغيير إعداد:
SiteSetting.your_setting_name = new_value

استبدل your_setting_name باسم الإعداد الذي ترغب في تعديله، و new_value بالقيمة التي تريد تعيينها.

  1. الخروج من وحدة التحكم:
exit

الخيار الثاني: إعداد متغيرات البيئة في app.yml

يمكنك أيضًا استخدام متغيرات البيئة لتعديل إعدادات الموقع المخفية. يُعد ملف app.yml ملف تكوين يُستخدم في نشرات Discourse المعتمدة على Docker. يقع عادةً في مجلد /containers لتثبيت Discourse. إليك كيفية إضافة أو تعديل متغيرات البيئة:

  1. الوصول إلى ملف app.yml:
    افتح ملف app.yml في محرر النصوص المفضل لديك:
nano /var/discourse/containers/app.yml
  1. إضافة متغيرات البيئة:
    يمكن تكوين متغيرات البيئة في قسم env من ملف app.yml. تتبع النمط DISCOURSE_SETTING_NAME: value. على سبيل المثال، لتعيين إعداد max_category_nesting إلى 3 عبر متغير بيئة، ستستخدم ما يلي:
env:
  DISCOURSE_MAX_CATEGORY_NESTING: 3
  1. إعادة بناء الحاوية:
    بعد حفظ التغييرات في ملف app.yml، أعد بناء حاوية Docker الخاصة بـ Discourse لتطبيق التغييرات:
cd /var/discourse
./launcher rebuild app

لماذا تفعيل الإعدادات المخفية

يتيح تمكين أو تعديل إعدادات الموقع المخفية في Discourse للمدراء تخصيص إعداد المنتدى بعمق لتلبية متطلبات تقنية محددة، أو تحسين الأداء، أو ضمان الأمان والامتثال، مما يدعم تجربة مستخدم مصممة بدقة وكفاءة تشغيلية.

تتضمن أمثلة إعدادات الموقع المخفية ما يلي:

  • Badge SQL: يتيح تمكين enable_badge_sql لمديري الموقع إنشاء استعلامات SQL مخصصة لمعايير الشارات، مما يوفر مرونة في تعيين الشارات بناءً على شروط معقدة.
  • إعدادات نسخ S3 الاحتياطي: يمكن استخدام تضمين تحميلات S3 في النسخ الاحتياطية عبر include_s3_uploads_in_backups لاستراتيجيات نسخ احتياطي محسنة.
  • حدود معدل البحث: ضبط حدود معدل البحث باستخدام إعدادات مثل rate_limit_search_user لمنع التقييد في سيناريوهات الاستخدام العالي.

الأسئلة الشائعة

س: هل يمكن جعل الإعدادات المخفية مرئية في واجهة المستخدم؟
ج: لا يمكن تكوين الإعدادات المخفية في Discourse مباشرة عبر واجهة المستخدم لأسباب تتعلق بالأمان والتعقيد.

س: أين يمكنني العثور على معلومات حول كل إعداد مخفي؟
ج: يمكن العثور على معلومات مفصلة حول كل إعداد داخل دليل مرجعي لإعدادات الموقع المخفية وفي كود مصدر Discourse، وتحديدًا في ملف site_settings.yml في مستودع GitHub. تتوفر أيضًا معلومات إضافية حول بعض الإعدادات في منتديات Discourse Meta.

س: هل التغييرات التي تتم عبر متغيرات البيئة تستمر عبر التحديثات؟
ج: نعم، إذا تم تعيينها في app.yml أو في الملف الشخصي الدائم للنظام، فستستمر هذه الإعدادات عبر التحديثات ما لم يتم تجاوزها بواسطة تكوينات أخرى.

س: كيف أعرف أي الإعدادات يمكن التحكم فيها عبر متغيرات البيئة؟
ج: عادةً، يمكن إضافة بادئة DISCOURSE_ لأي إعداد موقع في Discourse وتعيينه كمتغير بيئة.

س: هل من الآمن تكوين المعلومات الحساسة عبر متغيرات البيئة؟
ج: يُعتبر متغيرات البيئة آمنة بشكل عام لإدارة التكوين. ومع ذلك، تأكد من عدم تعريضها في بيئات مشتركة أو غير آمنة.

س: هل أحتاج إلى إعادة بناء النظام إذا قمت بتبديل إعداد موقع؟
ج: في معظم الحالات، لا يتطلب تبديل إعداد موقع عبر وحدة تحكم Rails إعادة بناء إعداد Discourse الخاص بك. عادةً ما تنطبق هذه التغييرات فورًا أو عند تحديث مثيلتك. ومع ذلك، قد تتطلب بعض الإعدادات المحددة، خاصة تلك التي تؤثر على الجوانب الأساسية للنظام، إعادة تشغيل أو إعادة بناء لتطبيق التغييرات. أما بالنسبة للتغييرات التي تتم في ملف app.yml، فيجب إعادة بناء حاوية Discourse لتطبيق هذه التغييرات.

س: هل يمكنني التراجع عن تغيير الإعداد بسهولة؟
ج: نعم، يمكن التراجع عن معظم الإعدادات ما لم تتضمن حذف بيانات.

موارد إضافية

8 إعجابات