تثبيت مطور متقدم - خطأ في تنفيذ rake db:create db:migrate

أهلاً بالجميع،

آمل أن يتمكن أحدكم من مساعدتي في المشكلة التي واجهتها أثناء محاولة التثبيت على النحو التالي:

Debian 10
php 7.3.6
nginx

أستخدم هذا الدليل:

https://github.com/discourse/discourse/blob/master/docs/DEVELOPER-ADVANCED.md

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

/var/www/discourse# RAILS_ENV=production bundle exec rake db:migrate
rake aborted!NoMethodError: undefined method `keys' for nil:NilClass/var/www/discourse/app/models/global_setting.rb:57:in `load_defaults'/var/www/discourse/config/application.rb:32:in `<top (required)>'/var/www/discourse/Rakefile:5:in `require'/var/www/discourse/Rakefile:5:in `<top (required)>'/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/rake-12.3.2/exe/rake:27:in `<top (required)>'/var/www/discourse/vendor/bundle/ruby/2.6.0/bin/ruby_executable_hooks:24:in `eval'/var/www/discourse/vendor/bundle/ruby/2.6.0/bin/ruby_executable_hooks:24:in `<main>'

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

كما جربت طريقة التثبيت عبر Docker - والتي نجحت في الإعداد - لكنها غير متوافقة مع ISPConfig الذي أستخدمه. فـ discourse على النطاق الفرعي يعمل بشكل جزئي معطّل، وبعد تسجيل حساب المسؤول، لا يستمر المعالج ويظهر دائمًا صفحة فارغة.

شكرًا مقدّمًا وتحياتي,

Mat

هذه الدليل مخصص لإعداد بيئات التطوير… وليس خوادم الإنتاج. بالنسبة للخوادم، ندعم رسميًا أدلة Docker الخاصة بنا فقط: discourse/docs/INSTALL.md at main · discourse/discourse · GitHub

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


ربما يمكنك محاولة تجاوز مشكلة مزود خدمة الإنترنت أو تجربة استضافة Discourse مع موفر خارجي؟

شكرًا لك على الرد السريع

بخصوص “الدليل”، كان الغرض منه فقط إعطاء فكرة - كما ذكرت، لقد جربته باستخدام Docker لكن لم أتمكن من تشغيله بشكل صحيح.
لقد قمت بإعداد الوكيل العكسي وكل شيء.

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

يخبرني IspConfig أن هذه المشكلة لا علاقة لها بلوحته، بل هي مشكلة في Discourse - كما أن Docker غير مدعوم من قبل IspConfig.

أعتقد أن المشكلة تتعلق بإعدادات vhost الخاصة بـ nginx، لكنني لا أعرف أي جزء يجب إدراجه في لوحة تحكم IspConfig (مشابه لما يحدث مثلاً في Plesk). لقد قرأت المنشورات هنا أيضًا وحاولت أشياء مختلفة.

لذلك حاولت تثبيته بدون Docker، وهو أمر ممكن مثلاً عبر هذا الدليل: Install Discourse Forum on Ubuntu 18.04 Without Docker

لن يتم أي شيء خاص، حيث أن الإجراء مشابه للإعداد الافتراضي عبر Docker.

المساعدة التي أحتاجها هي - ما هو الخطأ الذي يحدث أثناء هجرة قاعدة البيانات كما ذُكر أعلاه؟

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

إذا كانت لديك فكرة حول كيفية تشغيل Discourse باستخدام Docker و IspConfig، فهذا مثالي أيضًا - إنه خادم خاص بي يمكنني استخدامه بأي طريقة.

المشكلة الوحيدة في المجمل هي: يجب أن أقوم بتثبيت IspConfig قبل Discourse، لأن IspConfig يحتاج إلى خادم نظيف لضمان عمل 100% بشكل سليم. لا يمكن تثبيت Discourse أولاً باستخدام Docker ثم محاولة إدخال IspConfig وباقي المكونات لاحقًا.

شكرًا مقدماً.

انظر إلى Run other websites on the same machine as Discourse - #281

قد يكون من الصعب، وربما مستحيلًا، جعله يعمل مع ispconfig. إذا كنت ترغب في تشغيل discourse مع ispconfig، فيجب أن تطلب المساعدة من ispconfig.

لقد جربت هذا من المنشور " تشغيل مواقع ويب أخرى على نفس الخادم مع Discourse" لجعله يعمل مع Docker، ولكن بعد مرور عدة ساعات، لم أحرز أي نجاح.

فكرتي الأخيرة الآن هي التخلي عن Docker، لأن ISPConfig لا يدعمه، لكنني أحتاج إلى مساعدة بخصوص رسالة الخطأ:

/var/www/discourse# RAILS_ENV=production bundle exec rake db:migrate

rake aborted! NoMethodError: لا توجد طريقة keys لـ nil:NilClass

/var/www/discourse/app/models/global_setting.rb:57:in load_defaults'/var/www/discourse/config/application.rb:32:in <top (required)>‘/var/www/discourse/Rakefile:5:in require'/var/www/discourse/Rakefile:5:in <top (required)>’/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/rake-12.3.2/exe/rake:27:in <top (required)>'/var/www/discourse/vendor/bundle/ruby/2.6.0/bin/ruby_executable_hooks:24:in eval’/var/www/discourse/vendor/bundle/ruby/2.6.0/bin/ruby_executable_hooks:24:in `’

لقد جربت الإصدار 2.4 بيتا، والذي سيتم تثبيته أيضًا مع Docker، بالإضافة إلى إصدارات أخرى مختلفة من GitHub.

شكرًا مقدّمًا.

مجتمع Discourse لا يدعم ISPConfig.

لا يمكن أن ينتج عن تشغيل تثبيت تطويري لموقع إنتاجي أي شيء جيد. مقابل 5 دولارات شهريًا، يمكنك ببساطة الحصول على Digital Ocean Droplet (أو ما شابه) وسيعمل.