أحاول إعداد Discourse عبر Docker على خادمي الحالي. لا أستخدم أي حاويات Docker أخرى.
يعمل خادمي مع Apache (مواقع WordPress) وبعض خدمات الويب الأخرى.
لا أستطيع معرفة كيفية توجيه النطاق الفرعي ‘forum.rebelscience.club’ إلى حاوية Docker الخاصة بي.
عندما يُطلب مني ذلك:
اسم المضيف لـ Discourse الخاص بك؟ [discourse.example.com]: forum.rebelscience.club
أرى ما يلي:
جاري التحقق من اسم النطاق . . .
تحذير: يبدو أن المنفذ 443 على الجهاز غير متاح باستخدام اسم المضيف: forum.rebelscience.club.
تحذير: فشل الاتصال أيضًا بـ http://forum.rebelscience.club (المنفذ 80).
يشير ذلك إلى أن forum.rebelscience.club يحل إلى عنوان IP لا يؤدي إلى هذه الآلة حيث تقوم بتثبيت Discourse.
أول ما يجب فعله هو التأكد من أن forum.rebelscience.club يحل إلى عنوان IP الخاص بهذا الخادم.
عادةً ما يتم ذلك في نفس المكان الذي اشتريت فيه النطاق.
إذا كنت متأكدًا من أن عنوان IP يُحل بشكل صحيح، فقد تكون المشكلة متعلقة بجدار الحماية.
قد يساعد البحث في الويب عن "فتح المنافذ خادمتك السحابية".
هذه الأداة مصممة فقط لأكثر التثبيتات شيوعًا. إذا لم تتمكن من حل
المشكلة المذكورة أعلاه، فستحتاج إلى تعديل containers/app.yml بنفسك ثم كتابة الأمر التالي:
./launcher rebuild app
لست متأكدًا من كيفية إعداد ذلك. المنافذ 80 و443 متاحة، لكنها موجهة إلى النطاق الرئيسي وليس النطاق الفرعي.
عذراً، كان يجب أن أذكر أنني قد بحثت في / جربت عدة حلول من هذا المنتدى ومن Digital Ocean أيضاً. لكنني ما زلت غير قادر على جعل الأمر يعمل. لم قمت بإعداد Docker من قبل.
دعني أشاركك إعداداتي الحالية:
/etc/hosts:
127.0.0.1 forum.rebelscience.club
ملف المضيفات وسجل DNS يعملان بشكل صحيح حيث كان phpBB يعمل هناك اليوم. الآن أحاول توجيهه إلى حاوية Docker تحتوي على Discourse.
أعتقد أنه يجب أن يكون لديك استضافة افتراضية (virtualhost) على المنفذ 443، مع ذلك، خطأ المنفذ 80 غريب، ربما تنقصك شيئًا ما (سجل CNAME؟) في إعدادات DNS الخاصة بك؟
في الحالة (إعداد المثال) أعلاه، يجب عليك فقط فتح المنفذ 8081 في Docker (وليس المنفذ 80 أو المنفذ 443).
يتم فتح المنافذ 80 و443 بواسطة وكيل العكسي خارج الحاوية، ويتم توجيه حركة المرور هذه إلى المنفذ 8081 (في مثالك أعلاه)، وهو المنفذ الذي قمت بفتحه داخل الحاوية (المُربَط بالمنفذ 80 من الداخل).
سيكون هذا فعالاً فقط إذا قمت بربط المنفذ 80 داخل الحاوية بالمنفذ 8081 (المُعرَّض للمضيف).
expose:
- "8081:80" # http
أتمنى أن يكون هذا مفيداً.
ملاحظة: @rebelCoder، إعدادات Apache2 الخاصة بك على جانب SSL تفتقر إلى الكثير من معلومات الإعدادات التي تحتاجها.