تثبيت Discourse على Amazon Web Services (AWS) باستخدام Lightsail و SES و Route 53

:information_source: يغطي هذا الموضوع كيفية تثبيت Discourse باستخدام تعليمات التثبيت الرسمية باستخدام خدمات AWS لموفر DNS (Route 53) وموفر البريد الإلكتروني (SES) وموفر الخادم السحابي (Lightsail).

الخادم السحابي

Lightsail

  • يعمل الإعداد الافتراضي 1 جيجابايت من ذاكرة الوصول العشوائي بشكل جيد لمجتمعات Discourse الصغيرة. نوصي بـ 2 جيجابايت من ذاكرة الوصول العشوائي للمجتمعات الأكبر.

^ مقابل 5 دولارات شهريًا يمكنك الحصول على خادم يلبي الحد الأدنى لمتطلبات Discourse، أنا أستخدم خادمًا بقيمة 10 دولارات شهريًا ولكني أعتقد أن 5 دولارات شهريًا ستعمل أيضًا.

خادم البريد

لا يمكنك استرداد المفتاح السري مرة أخرى، ولكن إذا فقدته يمكنك إنشاء مفتاح جديد لاستخدامه.

النطاق

الإعداد خطوة بخطوة

  1. اتبع مستند Route 53 لشراء نطاق.

إذا تلقيت بريدًا إلكترونيًا “غير قادر على المعالجة” في هذه الخطوة، فقد يحتاج AWS إلى مراجعة حسابك أولاً، قم بإنشاء حالة دعم لإعلامك عندما تتم مراجعة حسابك وتتمكن من البدء في الشراء.

  1. إعداد سجل DNS
    أدخل وحدة تحكم Route 53

حدد مناطق مستضافة → إنشاء منطقة مستضافة → املأ اسم النطاق الخاص بك → قم بالتمرير لأسفل، انقر فوق إنشاء منطقة مستضافة

انقر على اسم النطاق، وأضف سجل A بقيمة عنوان IP لخادم Lightsail السحابي الخاص بك، ويمكن العثور عليه في وحدة تحكم Lightsail الخاصة بك. (الكتلة الحمراء)

  1. إعداد SES
    أدخل وحدة تحكم SES

حدد الهويات التي تم التحقق منها → إنشاء هوية → املأ اسم النطاق الخاص بك (نوع النطاق) → قم بالتمرير لأسفل، انقر فوق إنشاء هوية
إنشاء هوية → املأ عنوان بريد إلكتروني ستستخدمه لتسجيل حساب المسؤول فيه (نوع عنوان البريد الإلكتروني) → قم بالتمرير لأسفل، انقر فوق إنشاء هوية


نظرًا لأننا سجلنا النطاق في Route 53، سيستغرق التحقق حوالي 5 دقائق، وستتلقى بريدًا إلكترونيًا للتحقق من عنوان البريد الإلكتروني.

عند التحقق من كليهما، انقر على اسم النطاق، وابحث عن نشر سجلات DNS، وانسخ والصق زوج DNS في Route 53 الخاص بك، ضمن المنطقة المستضافة التي أنشأتها للتو في الخطوة 2.

انتقل إلى إعدادات SMTP وانقر على إنشاء بيانات اعتماد SMTP، واتبع الخطوات، وقم بتنزيل ملف CSV يتضمن اسم مستخدم وكلمة مرور SMTP.

يظهر عنوان خادم SMTP أيضًا أدناه في هذه الصفحة.

  1. تكوين Discourse
    تغطي الخطوات المذكورة أعلاه الخطوات 1-3 في تعليمات التثبيت الرسمية. استمر في اتباع الخطوات 4-6.
اسم المضيف لـ Discourse الخاص بك؟ [discourse.example.com]: // نطاقك
عنوان البريد الإلكتروني لحسابات المسؤول؟ /[me@example.com,you@example.com]: // الذي قمت بالتحقق منه في هويات SES التي تم التحقق منها
عنوان خادم SMTP؟ [smtp.example.com]: // عنوان خادم SMTP
منفذ SMTP؟ [587]: // استخدم الافتراضي
اسم مستخدم SMTP؟ [user@example.com]: // في ملف CSV الذي تم تنزيله
كلمة مرور SMTP؟ [pa$$word]: // في ملف CSV الذي تم تنزيله
عنوان البريد الإلكتروني لحساب Let's Encrypt؟ (اضغط ENTER للتخطي) [me@example.com]: // استخدم الافتراضي
مفتاح ترخيص Maxmind الاختياري () [xxxxxxxxxxxxxxxx]: // استخدم الافتراضي

انتظر التثبيت، ثم يمكنك تسجيل حساب المسؤول باستخدام الحساب الذي قدمته أعلاه في الإعدادات.

  1. بعد التثبيت
    عندما تكون مستعدًا لتقديم مجتمعك للمستخدمين الجدد، قم بتقديم طلب للوصول إلى إنتاج SES.
في وصف حالة الاستخدام، اشرح كيف تخطط لاستخدام Amazon SES لإرسال البريد الإلكتروني. لمساعدتنا في معالجة طلبك، يجب عليك الإجابة على الأسئلة التالية:

كيف تخطط لبناء أو الحصول على قائمة البريد الإلكتروني الخاصة بك؟

كيف تخطط للتعامل مع الارتدادات والشكاوى؟

كيف يمكن للمستلمين إلغاء الاشتراك في تلقي البريد الإلكتروني منك؟

كيف اخترت معدل الإرسال أو حصة الإرسال التي حددتها في هذا الطلب؟

يوصى باتباع دليل التقديم في الرابط ولكنه لا يضمن الموافقة، إذا تلقيت بريدًا إلكترونيًا بالرفض، حاول إضافة لقطات شاشة لقائمة تسجيل المستخدمين الجدد وأخبرهم أن المستخدمين الجدد ينتظرون البريد الإلكتروني للتفعيل.

3 إعجابات

هل يمكن لأي شخص تحديث برنامج تعليمي مناسب خطوة بخطوة لاستضافة discourse على AWS Lightsail مع SES.

هل لديك سبب للاعتقاد بأن هناك خطأ ما؟

3 إعجابات

لقد وجدت الدليل هنا مفيدًا للغاية لإجراء اختبار لإعدادات SES

فقط انسخ/الصق البرنامج النصي المعروض هناك في ملف برنامج نصي جديد، وقم بتعديل نقطة النهاية (على سبيل المثال، email-smtp.us-east-1.amazonaws.com)، ويبدو أنه يعمل بشكل جيد. لسبب ما، فإن طريقة telnet لا يبدو أنها تعمل مع SES، لست متأكدًا من السبب.

أوه نعم، لهذا الدليل أيضًا قمت بهذا أيضًا لـ “إنشاء مجموعة تكوين”، لست متأكدًا مما إذا كان مطلوبًا بالفعل أم لا لـ Discourse ولكني قمت به على أي حال فقط لأتمكن من اختبار SES كما هو موضح في البرنامج النصي Creating configuration sets in SES - Amazon Simple Email Service

إليك شيء آخر أربكني؛ Publishing an MX record for Amazon SES email receiving - Amazon Simple Email Service

بالنسبة لسجل MX الخاص بنظام أسماء النطاقات المطلوب تطبيقه على نطاقك، يوفر AWS SES “قيمة” السجل بتنسيق مثل هذا؛

10 inbound-smtp.region.amazonaws.com

ومع ذلك، فقد أعطاني مسجل النطاق الخاص بي خطأ مفاده أن “القيمة يجب أن تكون اسم مضيف”، أي أنه لم يعجبه " 10 " الذي كان مسبوقًا فيه. لم يخبرني AWS Console مباشرة بما يعنيه ذلك أو ما يجب فعله به، لذلك وفقًا للمستندات المرتبطة هناك، تحتاج إلى القيام بذلك لمسجل DNS الخاص بك؛

تتضمن لوحات الإدارة لبعض موفري خدمات DNS حقولًا منفصلة لـ القيمة و الأولوية للسجل. إذا كان هذا هو الحال بالنسبة لموفر خدمات DNS الخاص بك، فأدخل 10 لـ الأولوية، وأدخل عنوان نقطة نهاية البريد الوارد لـ القيمة.

يجب أن يبدو هذا في لوحة تحكم مسجل النطاق الخاص بك؛

إعجاب واحد (1)

متابعةً لذلك، ربما يمكننا توسيع هذا المنشور ليشمل إعداد AWS Cloudfront CDN؟ بما أنه يتناسب جيدًا مع بقية مكدس AWS الموصوف هنا. لقد تمكنت من تشغيله باتباع النصيحة الواردة في هذا المنشور

ولكن سيكون من الرائع تضمين دليل أكثر شمولاً.