مرحبًا،
أنا جديد تمامًا في عالم discourse وأحاول تجربته. قمت بإعداد آلة افتراضية جديدة تعمل بنظام Debian 13، وأضفت سجل DNS مخصصًا عبر Cloudflare.
لقد أجريت عملية الإعداد، وواجهت في البداية مشكلة Let’s Encrypt مع استدعاء المنفذ 80. قمت بنقل عملية الشهادات إلى acme.sh وحللت المشكلة تمامًا، بما في ذلك إدخال القالب الخاص بـ Cloudflare.
المشكلة التي أواجهها الآن هي فشل الإعداد بعد النشر مع ظهور الرسالة التالية:
enable_discourse_id: فشل التسجيل التلقائي مع Discourse ID. قد يكون ذلك بسبب مشاكل في الاتصال بالشبكة، أو قيود جدار الحماية، أو عدم إمكانية الوصول إلى خدمة Discourse ID. يرجى التحقق من سجلات الخادم للحصول على مزيد من التفاصيل أو الاتصال بالدعم.
لقد اخترت تخطي إعداد البريد الإلكتروني حاليًا. للأسف، بسبب الرسالة أعلاه، لا يمكن استمرار الإعداد. يرجى الإبلاغ عن هذه المشكلة على meta.discourse.org.
لا يوجد أي شيء يمنع الاتصالات الصادرة من هذه الآلة الافتراضية، حيث تم تحديثها وسحب التكوين من الخارج دون أي مشاكل.
لقد راجعت سجلات الحاوية ولم أجد أي أخطاء من أي نوع.
من المثير للاهتمام أنه يمكنني إضافة URI غير صحيح أو صحيح بعد عنوان URL الأساسي والوصول إلى صفحة تسجيل الدخول/التسجيل أو صفحة الخطأ 404 العادية حسب الحالة. يمكن أن يعمل التسجيل وما شابه ذلك إذا كان SMTP مُعدًا، لكنني لم أقم بإعداده ولا أرغب حقًا في التعديل عليه.
أي معلومات أو مساعدة ستكون محل تقدير لتحديد الخطوة التالية للتحقق من إعداد Discourse ID وجعله يعمل.
هل قمت بزيارة yoursite.com/logs؟ هذا هو المكان الذي ستظهر فيه الأخطاء.
لم أفعل بعد، سأتحقق من ذلك.
يبدو أن هناك خطأ في إعادة التوجيه لبروتوكول HTTPS، لكنني أعتقد أنني أجبرت استخدام HTTPS في كل مكان مطلوب:
فشل تسجيل معرف Discourse في الخطوة ‘/register’. الخطأ: فشل الطلب إلى ‘/register’: 400
الخطأ: {“errors”:[“لقد زوّدت معاملات غير صالحة للطلب: يجب أن تستخدم URI إعادة التوجيه HTTPS”],“error_type”:“invalid_parameters”}
تم عرض التخطيط layouts/finish_installation.html.erb (المدة: 16.5مللي ثانية | GC: 0.0مللي ثانية)
اكتمل 200 OK في 654مللي ثانية (العرض: 17.9مللي ثانية | ActiveRecord: 0.0مللي ثانية (0 استعلامات، 0 مخزنة مؤقتًا) | GC: 0.0مللي ثانية)
بدأ طلب GET “/” من في 2026-05-27 20:44:09 +0000
المعالجة بواسطة FinishInstallationController#index بصيغة HTML
فشل تسجيل معرف Discourse في الخطوة ‘/register’. الخطأ: فشل الطلب إلى ‘/register’: 400
الخطأ: {“errors”:[“لقد زوّدت معاملات غير صالحة للطلب: يجب أن تستخدم URI إعادة التوجيه HTTPS”],“error_type”:“invalid_parameters”}
تم عرض التخطيط layouts/finish_installation.html.erb (المدة: 35.0مللي ثانية | GC: 0.0مللي ثانية)
اكتمل 200 OK في 507مللي ثانية (العرض: 36.2مللي ثانية | ActiveRecord: 0.0مللي ثانية (0 استعلامات، 0 مخزنة مؤقتًا) | GC: 0.0مللي ثانية)
لقد قرأت سابقًا عن إعداد إجبار استخدام HTTPS في لوحة التحكم بمجرد الدخول إلى وحدة التحكم، لكن هذه خطوة تتجاوز النقطة التي أستطيع الوصول إليها حاليًا.
نعم، يجب تفعيل force_https. يمكنك تفعيله من قائمة الإعدادات، ولا حاجة للوصول إلى وحدة التحكم:
لا بأس، لن يعمل إذا لم تتمكن من تسجيل الدخول إلى الموقع. هل لديك وصول إلى وحدة تحكم Rails؟
لدي وصول جذري (root) إلى الآلة الافتراضية وحاوية Docker، لكنني لا أعرف كيفية الوصول إلى وحدة تحكم Rails.
عذرًا، تصحيح: لا حاجة لاستخدام وحدة تحكم Rails (رغم أن لديك إمكانية الوصول إليها عبر واجهة سطر الأوامر). يمكنك إنشاء حسابك بهذه الطريقة:
cd /var/discourse # أو أي مكان وضعت فيه مستودع discourse_docker
./launcher enter app
rake admin:create
انتظر، أنا مشوش. هل لديك وصول إلى الموقع كمسؤول؟ لقد فسرته
على أنه لا يوجد وصول كمسؤول، لكنك قلت إنك تستطيع قراءة سجلات الموقع.
قرأت سجلات الموقع من داخل التطبيق/الحاوية، وهذا هو ما مكّنني من تحديد معلومات إعادة التوجيه المذكورة أعلاه. تمكنت من إنشاء حساب عبر أمر rake، ثم تمكنت من الدخول إلى وحدة التحكم كمسؤول وإجبار استخدام HTTPS. كان الإعداد يفشل بشكل أساسي ولا يمكنه المتابعة بسبب مشكلة إعادة التوجيه، لكنني لم أستطع إنشاء حساب لإجبار استخدام HTTPS لأنني لم أقوم بإعداد خادم SMTP بعد.
يبدو أن كل شيء على ما يرام الآن، رغم أنه في صفحة تسجيل الدخول لا توجد خيار “تسجيل الدخول باستخدام معرف Discourse” كما كنت أتوقع، لكن حسابي الذي تم إنشاؤه عبر rake يسجل الدخول بنجاح.
اضطررت إلى تمكينه في إعدادات المشرف كطريقة تسجيل دخول. كل شيء على ما يرام الآن.
يمكنك التأكد من عمله في yoursite.com/admin/config/login-and-authentication/discourse-id. يمكنك أيضًا الاختبار من خلال ربط حسابك الخاص هنا.
إذا كان ذلك قد حل مشكلتك، فتأكد من وضع علامة «حل» حتى يعرف الآخرون ذلك في المستقبل!