لا يمكن الاتصال - تثبيت جديد على DO

لقد قمت للتو بمحاولتين لتثبيت Discourse على Digital Ocean.

المحاولة 1:
في المحاولة الأولى، استخدمت التعليمات الرسمية من Github باستخدام صورة DO Ubuntu 22.04 LTS، وقطرة بحجم 1 جيجابايت.

استخدمت نطاقًا فرعيًا لنطاق موجود وبيانات اعتماد من حساب Mailjet موجود يعمل بشكل جيد لسنوات.

لم أكن أعرف أنني بحاجة إلى تثبيت Docker، لذلك عندما كتبت

discourse-setup

قال المثبت

Failed to find docker or docker.io on your PATH.

وضغطت على Enter للمتابعة وتثبيت Docker.

بعد ذلك، بدا أن التثبيت يعمل بشكل جيد.

انتهى بـ

117:M 25 May 2023 01:14:46.500 * DB saved on disk
117:M 25 May 2023 01:14:46.501 # Redis is now ready to exit, bye bye...

وبضعة أسطر إضافية.

لم أكن متأكدًا من مدى سرعة انتشار DNS، لذلك أدخلت عنوان IP الخاص بـ DO في ملف /etc/hosts الخاص بي.

حاولت توجيه متصفحي إلى عنوان URL للنطاق الفرعي الخاص بي؛ حصلت على “لا يمكن الاتصال بالخادم”.

حاولت توجيه متصفحي إلى عنوان IP؛ حصلت على “لا يمكن الاتصال بالخادم”.

لذلك حاولت محاولة أخرى.

المحاولة 2:
لقد اتبعت التعليمات الموجودة في linuxhandbook لاستخدام تثبيت DO بنقرة واحدة من علامة التبويب Marketplace، والذي أعطاني قطرة بحجم 2 جيجابايت.

بعد تسجيل الدخول عبر ssh، تم تشغيل المثبت تلقائيًا، وبدا أنه يعمل بدون مشاكل. في النهاية، قال

Discourse is now installed. Log into your admin account in a browser to continue configuring Discourse.

ولكن مرة أخرى، عندما حاولت توجيه متصفحي إلى عنوان URL للنطاق الفرعي الخاص بي أو إلى عنوان IP الخاص بـ DO (الجديد لهذه القطرة الثانية)، لم تتمكن متصفحاتي من الاتصال (لقد جربت Firefox و Safari).

تشغيل

./launcher start app

يظهر

x86_64 arch detected.
cadd91ccd0cd
Nothing to do, your container has already started!

يظهر discourse-doctor (من بين أشياء أخرى)

Discourse container app is running

ويعطي الصحيح

DISCOURSE_HOSTNAME

ماذا يمكنني أن أجرب للحصول على هذا التثبيت (إما أو كليهما) للاستجابة لمتصفحي؟

(عنوان IP الثاني لا يزال في ملف hosts الخاص بي، ولكنه انتشر أيضًا وفقًا لفاحصي DNS، لذلك يبدو أنه يجب أن يعمل إما من عنوان URL للنطاق الفرعي أو مجرد عنوان IP.)

شكرا لأي مساعدة.

لدي بعض التفاصيل الإضافية:

على حد علمي، ليس لدي أي نوع من لوحات التحكم لأي من القطرات (لا Plesk ولا cPanel).

عادةً في إعداد استضافة مشتركة نموذجي، كنت سأدخل إلى public_html وأنشئ ملف اختبار بسيطًا مثل testfile.html لمعرفة ما إذا كان بإمكاني على الأقل تحميل ملف HTML عادي، لكنني لا أعرف أين أفعل ذلك (أو ما إذا كان بإمكاني فعل ذلك) على قطرة DO.

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

لاحظ أن تثبيت Digital Ocean Discourse بنقرة واحدة هو #unsupported-install، مما يعني أنك أقل احتمالاً للعثور على دعم هنا. :slight_smile:

أقترح البدء من جديد واستخدام التثبيت القياسي.

  1. إنشاء قطرة (droplet)

  2. تسجيل الدخول عبر SSH

  3. تشغيل ping yourdomain.com ومعرفة ما إذا كان يحل إلى عنوان IP الخاص بخادمك (سيظهر ./discourse-setup تحذيرًا إذا لم يكن كذلك على أي حال).

    • إذا لم يكن كذلك، انتظر حتى يحدث ذلك.
  4. عندما يحدث ذلك، قم بتثبيت Discourse باستخدام الدليل الرسمي discourse/docs/INSTALL-cloud.md at main · discourse/discourse · GitHub

أبلغ عن النتائج :slight_smile:

بالطبع، أنا لست خبيرًا، وربما يتمكن شخص ما من تحديد مشكلتك الحالية.

إعجابَين (2)

لا داعي لفعل ذلك ولن يساعد. كما ذكرنا أعلاه، سيقوم discourse-setup بإجراء اختبار لمعرفة ما إذا كان يمكنه التحدث إلى نفسه باستخدام اسم المضيف. إذا قمت بتحرير /etc/hosts قبل تشغيل إعداد discourse، فلن يعمل نظام أسماء النطاقات (DNS) ولن تحصل على شهادة من let’s encrypt وهذا هو سبب عدم بدء تشغيل خادم الويب. إذا حاولت مرات كافية، فسيتم تقييد معدل طلباتك وستحتاج إلى الانتظار لمدة أسبوع أو استخدام نطاق فرعي مختلف.

يمكنك النظر إلى /var/discourse/shared/logs/var-log/nginx/access.log (أو شيء مشابه جدًا لذلك) لرؤية المشكلة.

أسهل شيء في هذه المرحلة هو استخدام نطاق فرعي جديد، وإعداد نظام أسماء النطاقات (DNS)، والانتظار حتى ينتشر (هناك أدوات ستوضح لك ذلك)، ثم تشغيل discourse-setup.

إعجابَين (2)

شكراً لكما على الردود.

لقد أنشأت نطاقًا فرعيًا جديدًا وقطرة جديدة واستخدمتهما في محاولة ثالثة، وكل شيء يعمل الآن.

عندما قمت بتشغيل ./discourse-setup خلال محاولتي الأولى، لم أر أي مؤشر في المخرجات يشير إلى وجود مشكلة في النطاق أو SSL؛ من الممكن أنه تم الإبلاغ عن خطأ ولم ألاحظه، ولكن إذا كان الأمر كذلك، فقد يكون من الجيد جعل هذا النوع من إشعارات الأخطاء أكثر وضوحًا.

يسعدني أن أكون قد قمت بإعداد وتشغيل Discourse الجديد الخاص بي. شكرًا مرة أخرى على المساعدة للمبتدئين.

هل سيكون من الممكن إضافة قسم إلى discourse/docs/INSTALL-cloud.md at main · discourse/discourse · GitHub مع نصائح استكشاف الأخطاء وإصلاحها، وإذا كان الأمر كذلك، هل يمكنني المساعدة في المساهمة في ذلك؟

إعجاب واحد (1)

يتوقف تمامًا. لن تفوته. تخميني هو أنك قمت بحل المشكلة ببراعة باستخدام /etc/hosts مما أرضى البرنامج النصي، ولكنه لم يسمح لـ let’s encrypt بالحصول على شهادة. discourse-setup هو برنامج نصي شل، وهو مصمم للمستخدمين الأكثر خبرة، لذا فإن اختباراته ساذجة إلى حد ما.

ربما انظر إلى موضوع التثبيت القياسي؟

تحرير: حسنًا، لا يوجد الكثير هناك.

ما هي نصائح استكشاف الأخطاء وإصلاحها التي تريد إضافتها؟ أعتقد أن هناك بعض الأدلة هناك. تخمين أن شخصًا ما سينشئ إدخالًا في /etc/hosts ويتجاوز فحص DNS هو شيء لم أسمع أبدًا أن أي شخص قام به. :slight_smile: