لقد استخدمت التثبيت القياسي قبل أشهر عديدة. أستخدم وكيلًا عكسيًا لـ nginx، لاحظ أنه يعمل دون مشاكل منذ أغسطس.
لم أقم بتشغيل discourse-setup (حسنًا، لقد استغرقت 5 ثوانٍ مرة واحدة وبدأ في تشغيل برنامج الإعداد ولكنني قمت بإلغائه واستعادة نسخة احتياطية. لقد قمت بتشغيل ./launcher rebuild app.
نعم: “هل يعمل ذلك فورًا، تلقائيًا عند تسجيل الدخول؟” بمجرد تسجيل الدخول و sudo su إلى الجذر، فإنه يعمل تلقائيًا،
لا أستخدم Digital Ocean.
لقد نظرت للتو إلى ملف .bashrc الخاص بالجذر، السطر الأخير هو:
/opt/hostinger/scripts/discourse_conf.sh
دعني أرى ما يفعله ذلك. إذا لم يكن موجودًا طوال الوقت، لاحظ أنني لم أضفه.
#!/bin/bash
clear
cd /var/discourse
if ./discourse-setup; then
clear
echo "تم تثبيت Discourse الآن. قم بتسجيل الدخول إلى حساب المسؤول الخاص بك في المتصفح للمتابعة"
echo "تكوين Discourse."
cp -f /etc/skel/.bashrc /root/.bashrc
else
echo ""
echo "-----------------------------------------------------------------------------"
echo "فشل برنامج الإعداد بالتفاصيل المقدمة لـ Discourse."
echo "سيتم إعادة تشغيله. يرجى معالجة المشكلات المذكورة أعلاه."
echo "-----------------------------------------------------------------------------"
echo "عندما تكون جاهزًا، اضغط على Enter"
echo "لإلغاء الإعداد، اضغط على Ctrl+C وسيتم إعادة تشغيل هذا البرنامج عند تسجيل الدخول التالي"
read wait
fi
Hostinger يستضيف الجهاز الافتراضي. دعني أزيل هذا السطر، وأحاول تسجيل الدخول و su مرة أخرى، ليس لدي فكرة كيف وصل هذا إلى ملف .bashrc، بالتأكيد لم أضفه يدويًا.
نعم، هذا يصحح المشكلة، لم يخطر ببالي أبدًا أن ملف rc سيتم تعديله بهذه الطريقة، لذلك لم يخطر ببالي التحقق منه. شكرًا لكم جميعًا على مساعدتكم، إنها محل تقدير كبير!
بعد التعليق على هذا السطر في bashrc:
cd /var/discourse
if ./discourse-setup; then echo 'found it'; else echo 'not found'; fi
يعود: لا يوجد
بالنسبة لي، من الغريب أنه وجده على الإطلاق، على الإطلاق.
ومع ذلك، إذا قمت الآن بتشغيل (بعد حوالي 15 دقيقة) ls -al ./discourse-setup يعود: -rwxr-xr-x 1 root root 28715 Dec 23 23:24 ./discourse-setup
إذا قمت بتشغيل if ./discourse-setup; then echo 'found it'; else echo 'not found'; fi الآن، فإنه يشغل المشكلة التي كنت أواجهها: ...Stopping existing container in 5 seconds or Control-C to cancel
لقد قمت بإزالة التعليق، وسجلت الدخول مرة أخرى وقمت بتشغيل sudo su، وأراد بدء عملية التثبيت، ولكنه لم ينشئ برنامج discourse-setup، فكيف يتم إنشاء discourse-setup؟
كيف يتم إنشاء برنامج discourse-setup، وهل يمكنني حذفه يدويًا؟ إذا قمت بإعادة تسميته، فلا أراه يُعاد إنشاؤه عند تسجيل الدخول، مع أو بدون السطر /opt/hostinger/scripts/discourse_conf.sh في ملف .bashrc الخاص بالجذر.
لاحظ أنني لم أرَ أبدًا:
echo "فشل برنامج الإعداد بالتفاصيل المقدمة لـ Discourse."
echo "سيتم إعادة تشغيله. يرجى معالجة المشكلات المذكورة أعلاه."
لقد قام بمسح الشاشة، والتعليقات الوحيدة التي رأيتها كانت:
ملف التكوين containers/app.yml موجود بالفعل!
حفظ الملف القديم باسم app.yml.2024-12-25-193919.bak
إيقاف الحاوية الحالية في 5 ثوانٍ أو اضغط على Control-C للإلغاء.
diff ./.bashrc /etc/skel/.bashrc
118d117
< # /opt/hostinger/scripts/discourse_conf.sh
ليس لدي فكرة كيف وصل هذا السطر إلى ملف .bashrc، والنص الذي أراه عند المشكلة ليس ما هو موصوف في ملف /opt/hostinger/scripts/discourse_conf.sh، ولكن المشكلة تبدو وكأنها قد اختفت.
ألاحظ أيضًا أنه عندما أقوم الآن بتشغيل ./launcher rebuild app، أو إعادة تشغيل الجهاز الافتراضي، أحصل على خطأ 502 إذا حاولت الوصول إلى موقع الويب بسرعة كبيرة، يستغرق الأمر دقيقة تقريبًا حتى يصبح موقع الويب متاحًا. لا أتذكر ذلك في الماضي، ولكن ربما لم أحاول الوصول إلى موقع الويب على الفور. أي أفكار حول ذلك؟