مرحباً، أحاول تثبيت Discourse لأول مرة على خادم افتراضي Linux من DigitalOcean. يعمل هذا الخادم على استضافة مواقع متعددة عبر Nginx، وقد اتبعت الدليل الخاص بكيفية تثبيت Discourse على مواقع متعددة هنا: Run other websites on the same machine as Discourse - #182 by angus
تم تثبيت Discourse وتشغيله بنجاح. لكن عند إنشاء حساب مسؤول، لا أستلم أي بريد إلكتروني. لقد اتبعت هذا الدليل: crunchify[dot]com/how-to-setup-email-for-discourse-forum-with-google-apps-smtp-relay-right-way/
يستخدم خادمي Postfix لإعادة توجيه الرسائل الإلكترونية إلى Google G Suite، ويعمل بشكل صحيح مع WordPress وMyBB. ومع ذلك، لا يذكر الدليل أعلاه Postfix، وأعتقد أنه يتصل مباشرة بـ Google G Suite.
اتبعت هذا الدليل حول كيفية استكشاف أخطاء البريد الإلكتروني: meta.discourse[dot]org/t/troubleshooting-email-on-a-new-discourse-install/16326
أستطيع الاتصال بـ SMTP Relay عبر Telnet:
$ sudo telnet smtp-relay.gmail.com 587
Trying 2607:f8b0:400d:c04::1c...
Connected to smtp-relay.gmail.com.
Escape character is '^]'.
220 smtp-relay.gmail.com ESMTP n18sm708840ooi.26 - gsmtp
يظهر سجل الإنتاج ما يلي:
Rendering layouts/email_template.html.erb
Rendered layouts/email_template.html.erb (Duration: 0.1ms | Allocations: 32)
Delivered mail cf23dab4-3e43-421e-8e54-228489c58874@forums.neuronootropic.org (610.1ms)
Job exception: end of file reached
Rendering layouts/email_template.html.erb
Rendered layouts/email_template.html.erb (Duration: 0.2ms | Allocations: 32)
Delivered mail a092f703-b590-4792-bd73-d9e4700c3e3c@forums.neuronootropic.org (261.1ms)
Job exception: end of file reached
جربت تعيين البريد الإلكتروني في ملف app.yml إلى noreply@forums.neuronootropic.org لأنني أعرف أن هذا البريد يعمل، لكن النتيجة نفسها. لا يزال يرسل رسائل إلكترونية تحتوي على أرقام، وأفترض أنها نوع من التشفير؟ لا تصل هذه الرسائل إلى صندوق الوارد الخاص بي.
مشكلتي الأخرى تتعلق بـ Nginx. كان يعمل بشكل صحيح بالأمس، لكن اليوم قمت بالتلاعب بملف app.yml وقمت بتعيين URL ليكون في دليل فرعي بدلاً من نطاق فرعي.
كنت أريد فقط معرفة ما إذا كان النطاق الفرعي هو سبب مشكلة عدم عمل البريد الإلكتروني، لأن منتدي الحالي، MyBB، يعمل في دليل فرعي ولا توجد مشاكل مع البريد الإلكتروني.
يبدو أن هذا الإجراء قد أفسد Nginx. لسبب ما، يحاول Nginx الآن تحميل شهادة SSL من دليل Discourse على الرغم من أنها غير محددة في ملف إعدادات Nginx. إليك الخطأ:
$ sudo nginx -t
nginx: [emerg] BIO_new_file("/var/discourse/shared/standalone/ssl/ssl.crt") failed (SSL: error:02001002:system library:fopen:No such file or directory:fopen('/var/discourse/shared/standalone/ssl/ssl.crt','r') error:2006D080:BIO routines:BIO_new_file:no such file)
nginx: configuration file /etc/nginx/nginx.conf test failed
أستخدم Let’s Encrypt للحصول على شهادة SSL وهي تعمل بشكل صحيح. لم يواجه Nginx أي مشاكل بالأمس قبل محاولتي تشغيل Discourse في دليل فرعي بدلاً من نطاق فرعي.
أي مساعدة ستكون مُقدَّرة.