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

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

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

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

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

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

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

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

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

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

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

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

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

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

  1. الوصول إلى وحدة تحكم Rails:

    cd /var/discourse
    ./launcher enter app
    rails c
    
  2. تغيير إعداد:

    SiteSetting.your_setting_name = new_value
    

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

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

    exit
    

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

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

  1. الوصول إلى ملف app.yml:
    افتح ملف app.yml في محرر النصوص المفضل لديك:

    nano /var/discourse/containers/app.yml
    
  2. إضافة متغيرات البيئة:
    يمكن تكوين متغيرات البيئة في قسم env من ملف app.yml. تتبع النمط DISCOURSE_SETTING_NAME: value. على سبيل المثال، لتعيين إعداد max_category_nesting إلى 3 عبر متغير بيئة، ستستخدم:

    env:
      DISCOURSE_MAX_CATEGORY_NESTING: 3
    
  3. إعادة بناء الحاوية:
    بعد حفظ التغييرات في ملف app.yml، أعد بناء حاوية Docker الخاصة بـ Discourse لتطبيق التغييرات:

    cd /var/discourse
    ./launcher rebuild app
    

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

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

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

  • SQL للشارات: يتيح تمكين enable badge sql لمسؤولي الموقع إنشاء استعلامات SQL مخصصة لمعايير الشارات، مما يوفر مرونة في تعيين الشارات بناءً على شروط معقدة.
  • الحذف الدائم للمشاركات: يتيح تمكين can permanently delete الحذف الدائم للمشاركات لأسباب تتعلق بالامتثال أو الخصوصية.
  • إعدادات النسخ الاحتياطي لـ 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 إعجابات