مرحبًا
أشعر بالإحباط قليلاً في هذا الشأن.
أتبع تعليمات التثبيت القياسية، وقد قمت بإعداد Mailjet وما إلى ذلك، لكن عملية التمهيد تفشل في كل مرة.
إليك الإعداد، ولا أستطيع رؤية ما ينقصني
هل لديك أي أفكار؟
شكرًا لك
هل يبدو هذا صحيحًا؟
اسم المضيف : forum.mydomain.com
البريد الإلكتروني : forumadmin@mydomain.com
عنوان SMTP : in-v3.mailjet.com
منفذ SMTP : 587
اسم مستخدم SMTP : b91xxxxxxd3222d809xxxxxxe3de52d
كلمة مرور SMTP :xxxxxx5b75ecdf24f31c2axxxxxx6903
Let's Encrypt : كلمة المرور (المفتاح السري)
ثم
فشل
--------------------
Pups::ExecError: /bin/bash -c "if [[ ! \"$LETSENCRYPT_ACCOUNT_EMAIL\" =~ ([^@]+)@([^\.]+) ]]; then echo \"LETSENCRYPT_ACCOUNT_EMAIL is not a valid email address\"; exit 1; fi" failed with return #<Process::Status: pid 5329 exit 1>
موقع الفشل: /pups/lib/pups/exec_command.rb:112:in `spawn'
فشل التنفيذ مع المعلمات {"cmd"=>["if [ -z \"$LETSENCRYPT_ACCOUNT_EMAIL\" ]; then echo \"LETSENCRYPT_ACCOUNT_EMAIL ENV variable is required and has not been set.\"; exit 1; fi", "/bin/bash -c \"if [[ ! \\\"$LETSENCRYPT_ACCOUNT_EMAIL\\\" =~ ([^@]+)@([^\\.]+) ]]; then echo \\\"LETSENCRYPT_ACCOUNT_EMAIL is not a valid email address\\\"; exit 1; fi\""]}
نعم، يبدو أن المشكلة تتعلق بمتغير Let’s Encrypt، ولكن كما ذكرت سابقًا، فإن سكريبت التثبيت لا يتيح فرصة لإدخال عنوان بريد إلكتروني. بمجرد استلام كلمة مرور SMTP، يبدو أنه يتخطى هذه المرحلة ويظهر خطأ.
يمكنك رؤية ذلك هنا…
اسم المضيف الخاص بـ Discourse؟ [forum.uaptn.com]:
عنوان البريد الإلكتروني لحسابات المسؤول؟ [forumadmin@uaptn.com]: xxxxxxxxe@protonmail.com
عنوان خادم SMTP؟ [in-v3.mailjet.com]:
منفذ SMTP؟ [587]:
اسم مستخدم SMTP؟ [b91xxxxxxxxxxxxxxxxxxde52d]:
كلمة مرور SMTP؟ [1d2xxxxxxxxxxxxxxxxxxxxxxxxxxxx903]:
./discourse-setup: السطر 438: [: عدد كبير جدًا من الوسيطات
جاري التحقق من اسم النطاق الخاص بك . . .
تم الاتصال بنجاح بـ forum.uaptn.com.
هل يبدو هذا صحيحًا؟
اسم المضيف : forum.uaptn.com
البريد الإلكتروني : xxxxxxxxx@protonmail.com
عنوان SMTP : in-v3.mailjet.com
منفذ SMTP : 587
اسم مستخدم SMTP : b91xxxxxxxxxxxxxxxxxxxxxe52d
كلمة مرور SMTP : 1d2cxxxxxxxxxxxxxxxxxxx5086903
Let's Encrypt : كلمة المرور (المفتاح السري)
اضغط Enter للمتابعة، 'n' للمحاولة مرة أخرى، Ctrl+C للخروج:
هل يحتوي كلمة المرور الخاصة بك على أحرف خاصة؟ حاول إدخال كلمة مرور وهمية بدون أحرف خاصة مثل 123456 في خانة كلمة المرور، وانظر ما إذا كان سيطلب بريد Let’s Encrypt الإلكتروني.
ربما لا يسأل النص البرمجي لأنه موجود بالفعل في ملف app.yml، ثم يعطي خطأ بسبب هذا (لأن البريد الإلكتروني خاطئ بالفعل في ملف app.yml).
حاول تغيير البريد الإلكتروني في الملف يدويًا وانظر ما إذا كان يعمل (nano containers/app.yml).
السطر الذي تسبب في الخطأ يتحقق مما إذا كان بريد Let’s Encrypt الإلكتروني غير فارغ لعرضه عليك وسؤالك عما إذا كنت تريد تغييره، لكن لأن الشرط لا يضع المتغير بين علامتي اقتباس مزدوجتين، فإن القيمة الموجودة في ملف app.yml يتم توسيعها مما يؤدي إلى خطأ Too many arguments.
أعتقد أنه لو قام فريق discourse بوضع المتغير بين علامتي اقتباس مزدوجتين لكان ذلك قد ساعد في تجنب حالات مثل هذه، لكن هذه الحالات نادرة على أي حال (على الأرجح في المرة الأولى التي تقوم فيها بتشغيل الإعداد، تم تعيين القيمة بشكل خاطئ).