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

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

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

في Discourse، تشير إعدادات الموقع المخفية إلى خيارات التكوين التي لا تكون مرئية أو متاحة بسهولة من خلال واجهة لوحة الإدارة القياسية. هذه الإعدادات هي جزء من التكوين الخلفي (backend configuration) الذي يمكنه التحكم في ميزات مختلفة متقدمة أو ذات تأثير كبير على الموقع.

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

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

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

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

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

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

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

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

الخيار 1: وحدة تحكم Rails (Rails Console)

لتعديل إعدادات الموقع المخفية، تحتاج عادةً إلى استخدام وحدة تحكم Rails، وهي أداة سطر أوامر تتيح لك التفاعل مباشرة مع الواجهة الخلفية لتثبيت 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

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

يمكنك أيضًا استخدام متغيرات البيئة لتعديل إعدادات الموقع المخفية. الملف app.yml هو ملف تكوين مستخدم في عمليات النشر المستندة إلى Docker لـ Discourse. يوجد عادةً في الدليل /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. إعادة بناء الحاوية (Rebuild the Container):
    بعد حفظ التغييرات في الملف app.yml، أعد بناء حاوية Docker الخاصة بـ Discourse لتطبيق التغييرات:
cd /var/discourse
./launcher rebuild app

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

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

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

  • SQL للشارات (Badge SQL): يتيح تمكين enable_badge_sql لمسؤولي الموقع إنشاء استعلامات SQL مخصصة لمعايير الشارات، مما يوفر مرونة في تعيين الشارات بناءً على شروط معقدة.
  • الحذف الدائم للمنشورات (Permanent Post Deletion): يتيح تمكين can_permanently_delete الحذف الدائم للمنشورات لأسباب تتعلق بالامتثال أو الخصوصية.
  • إعدادات النسخ الاحتياطي لـ S3: يمكن استخدام تضمين تحميلات S3 في النسخ الاحتياطية باستخدام include_s3_uploads_in_backups لاستراتيجيات نسخ احتياطي محسّنة.
  • حدود معدل البحث (Search Rate Limits): تعديل حدود معدل البحث باستخدام إعدادات مثل rate_limit_search_user لمنع التقييد في سيناريوهات الاستخدام العالي.

الأسئلة الشائعة (FAQs)

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

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

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

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

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

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

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

موارد إضافية

8 إعجابات