قرأت وثائق المبرمج الأخير بالنسبة لي وتقول إنه نظرًا لأن العديد من الأشياء على الويب تعمل خلف nginx ويحتاج discourse أيضًا إلى الاستضافة خلف nginx. التثبيت القياسي لا يعمل لحالتي.
وهذه هي الطريقة التي قالها في الوثيقة وكيف فعل:
يعمل Discourse في حاوية docker. ومع ذلك، فإنه يتطلب نوعًا خاصًا من التكوين، وليس عبر ملف docker-compose.yml أو ملف .conf.
مستودع discourse-project/ على github المطلوب تكوين وبناء صورة docker يمكن العثور عليها هنا. تجاهل برنامج “discourse-setup” اللطيف والمفيد الذي يقدمونه، فلن يعمل هنا. نحتاج إلى تكوين التطبيق بأنفسنا.
- استنساخ discourse_docker إلى /var/discourse:
git clone https://github.com/discourse/discourse_docker.git /var/discourse - انتقل إلى المجلد واستخدم تكوينًا نموذجيًا مقدمًا:
cd /var/discourse && cp samples/standalone.yml containers/app.yml - ثم قم بتحرير ملف containers/app.yml (على سبيل المثال باستخدام
sudo nano)
- تم إجراء تغييرات على قسم الاستضافة، وإعدادات smtp للبريد - والأهم من ذلك - قسم الكشف بحيث يتم كشف منفذ غير مستخدم فقط للخارج
- لتشغيل discourse على مسار مثل “/forum” كانت هناك حاجة إلى المزيد من التغييرات كما هو موضح هنا
- تحدث بعض المشاكل أيضًا مع المصادقة عبر البريد الإلكتروني:
- البريد الذي يرسل رسائل البريد الإلكتروني موجود هنا “بريد الخادم”. ومع ذلك، يتوقع Discourse أن يكون للبريد نفس نطاق مضيفه، وهو “بريد الخادم”
- الحل موضح هنا
- استخدم أيضًا “DISCOURSE_SMTP_AUTHENTICATION: login” كخيار بيئي آخر. لماذا دائمًا. . .
- البريد الذي يرسل رسائل البريد الإلكتروني موجود هنا “بريد الخادم”. ومع ذلك، يتوقع Discourse أن يكون للبريد نفس نطاق مضيفه، وهو “بريد الخادم”
- ثم قم ببناء التطبيق من الدليل
/var/discourseباستخدامsudo ./launcher bootstrap app. يستغرق هذا وقتًا طويلاً - ثم قد تتمكن من بدء حاوية discourse باستخدام
sudo ./launcher start app.