تثبيت بيئة تطوير Discourse على Ubuntu

<div></div>

:warning: هذا الدليل مخصص فقط لتكوين بيئة تطوير Discourse. إذا كنت بحاجة إلى تثبيت Discourse في بيئة إنتاجية، فيرجى زيارة الصفحة: Install Discourse in production with the official supported instructions.

:information_source: للحصول على النص الأصلي باللغة الإنجليزية لإعداد بيئة التطوير، يرجى الرجوع إلى: Set up a local Discourse Development Environment?.


هذا الدليل مخصص فقط للإعداد للتطوير على بيئة Ubuntu، نظرًا لأن Discourse مطور باستخدام Ruby، فإن إعداد بيئة تطوير Ruby هو الأكثر ملاءمة على Ubuntu. لذلك، يوصي المسؤولون أيضًا بتشغيل بيئة إنتاج Discourse على Ubuntu. على الرغم من أن مجتمعنا يعمل على بيئة REHL دون مشاكل بسبب استخدام حاويات Docker، إلا أنه يوصى باستخدام بيئة Ubuntu إذا كنت ترغب في تطوير Discourse.

إذا كنت تستخدم نظام Windows، فستحتاج إلى تثبيت بيئة WSL. WSL هي بيئة تعتمد على Ubuntu توفرها Windows، وتستخدم بشكل أساسي لحل مشاكل تطوير تطبيقات Linux على Windows.

يفترض هذا الدليل أنك لم تقم بتثبيت بيئة Ruby/Rails/Postgres/Redis على بيئة Ubuntu بعد. لنبدأ في تكوين بيئة التطوير!

*على الرغم من أن دليل التطوير هذا يفترض أنك تستخدم بيئة تطوير Ubuntu، إلا أنه يمكن استخدام أي نظام Linux يعتمد على Debian. *

*تم التحقق من صحة دليل التطوير هذا على Ubuntu 18 ولا يتطلب أي خطوات إضافية لإكمال إعداد بيئة التطوير. *

:exclamation: نظرًا للاختلافات في استخدام بيئة التطوير Ubuntu/Debian، قد تحتاج إلى الرجوع إلى المعلومات التالية عند تطوير Ubuntu/Debian:

حول تثبيت بيئة اختبار Discourse على Ubuntu 20.04 والإصدارات اللاحقة

سيقوم Ubuntu 20.04 والإصدارات اللاحقة بتثبيت OpenSSL 3.0.2 افتراضيًا. قد تحتاج إلى تجميع إصدار OpenSSL أقدم واستبدال هذا الإصدار (الإصدار الموصى به رسميًا هو OpenSSL-1.1.1n). تحتاج أيضًا إلى التحقق من إصدار Ruby الذي قمت بتثبيته. يمكنك استخدام الأمر ruby --version لعرض إصدار Ruby. لا يزال Discourse يستخدم إصدار Ruby 2. إذا كنت تستخدم Ruby 3.x أو إصدارًا أحدث، فستحتاج إلى خفض إصدار Ruby الخاص بك. يوصى رسميًا باستخدام أداة إدارة إصدارات Ruby لخفض الإصدار. بالنسبة لبيئة تشغيل Discourse الحالية، يعتبر المسؤولون أن Ruby 2.7.6 هو الأنسب حاليًا لتشغيل Discourse. يرجى الرجوع إلى: Notes about Installing Discourse on Ubuntu 20.04 - #2 by SaraDev للحصول على مزيد من المعلومات.

حول تثبيت بيئة اختبار Discourse على إصدارات Ubuntu الأقل من 20.04

الجزء التالي تمت إضافته بواسطة @pfaffman في 16.05.22. قد يكون هناك هذا الخطأ، ولكن قد لا تواجهه.

ملاحظة: يرجى الرجوع إلى: Failed to build ruby 2.7.5 on ubuntu 22.04 · rbenv/ruby-build · Discussion #1940 · GitHub للحصول على معلومات ذات صلة.

نهاية إضافات @pfaffman.

بناءً على خبرتنا في الاختبار، قد تكون هناك حالات فشل في التجميع أو عدم العثور على حزم في إصدار Ubuntu 22. لقد أكملنا فقط إعداد بيئة التطوير المحلية على 20.04.

تثبيت تبعيات Discourse

كمستخدم عام، يمكنك تشغيل الأمر التالي في وحدة التحكم: هذا النص البرمجي. سيساعدك الأمر أعلاه في إعداد Rails بسرعة في بيئة التطوير المحلية الخاصة بك.

الأمر الذي سيتم تشغيله هو:

bash <(wget -qO- https://raw.githubusercontent.com/discourse/install-rails/master/linux)

سيقوم الأمر أعلاه بتثبيت الحزم التالية على نظامك المحلي:

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

بعد الانتهاء من تثبيت جميع تبعيات Discourse، يمكننا تثبيت Discourse.


توضح الصورة أعلاه واجهة التثبيت في Ubuntu. تستغرق عملية تثبيت البرنامج بأكملها وقتًا طويلاً، وقد تستغرق أكثر من 5 دقائق، اعتمادًا على نظامك.

استنساخ (Clone) Discourse

استنسخ Discourse إلى المجلد ~/discourse

git clone https://github.com/discourse/discourse.git ~/discourse

*~ يحدد المجلد الرئيسي الحالي، مما يعني أنه سيتم نسخ برنامج Discourse إلى مجلدك الرئيسي. *

نظرًا لأننا نستخدم نظام WSL الفرعي، فإننا نستنسخ الملفات فعليًا إلى محرك الأقراص D الخاص بي.

إعداد قاعدة البيانات (Setup)

قم بإنشاء مستخدم بنفس اسم مستخدم نظام Ubuntu الخاص بك:

sudo -u postgres createuser -s "$USER"

إذا تلقيت خطأ عند تشغيل الأمر أعلاه:

createuser: error: could not connect to database template1: could not connect to server: No such file or directory

يرجى الرجوع إلى الصفحة: iSharkFly - 飞鲨.

تشغيل Discourse

قم بالتبديل إلى دليل Discourse الذي قمت باستنساخه:

cd ~/discourse

قم بتثبيت الجواهر (gems) المطلوبة

source ~/.bashrc
bundle install

قم أيضًا بتثبيت تبعيات JS المطلوبة

yarn install

حتى هذه النقطة، تكون قد قمت بتثبيت جميع الجواهر (gems) والتبعيات المطلوبة. حاول تشغيل الأوامر التالية:

bundle exec rake db:create
bundle exec rake db:migrate
RAILS_ENV=test bundle exec rake db:create db:migrate

إذا ظهر خطأ أثناء التشغيل، يرجى الرجوع إلى: iSharkFly - 飞鲨.

حاول تشغيل الأمر التالي:

bundle exec rake autospec

يجب أن يجتاز مشروعك جميع الاختبارات.

هذا الاختبار يستغرق وقتًا طويلاً، ويمكن تخطيه، وإلا فقد يستغرق الأمر عدة ساعات.

قم بتشغيل الأمر التالي لبدء تشغيل الخادم:

bundle exec rails server

بعد إكمال خطوات التثبيت أعلاه، يجب أن تكون قادرًا على الوصول إلى Discourse المثبت محليًا عبر http://localhost:3000.

بدءًا من Discourse 2.5+، أصبح EmberCLI خيارًا إلزاميًا لبيئة التطوير المحلية. :

إذا قمت بالوصول إلى المنفذ 3000 مباشرة عبر الواجهة، فستتلقى واجهة المطالبة التالية:


في نافذة طرفية لوحدة التحكم الخاصة بك، انتقل إلى المجلد (cd ~/discourse)، ثم قم بتشغيل:

bin/ember-cli

يجب أن تكون قادرًا على عرض تثبيت Discourse المحلي الخاص بك عن طريق الوصول إلى http://localhost:4200.

:warning: تجدر الإشارة إلى أنه يجب تشغيل هذين الخادمين في نفس الوقت. يصل Ember CLI إلى 3000 عن طريق وكيل عكسي.

إنشاء حساب مسؤول جديد

قبل تسجيل الدخول إلى بيئة التطوير، تحتاج إلى إنشاء حساب مسؤول. قم بتشغيل الأمر التالي لإنشائه:

RAILS_ENV=development bundle exec rake admin:create

يرجى اتباع المطالبات في سطر الأوامر لإنشاء حساب المسؤول هذا.

المعلومات المطلوبة هي عنوان البريد الإلكتروني وكلمة المرور.

تكوين البريد الإلكتروني

قم بتشغيل MailHog:

mailhog

بعد إكمال جميع الخطوات المذكورة أعلاه، ستكون بيئة تطوير Discourse المحلية الخاصة بك قد تم تكوينها. يمكنك الآن تسجيل الدخول إلى Discourse كمسؤول.

إذا كنت ترغب في تطوير إضافات لـ Discourse، فيرجى الرجوع إلى: Developing Discourse Plugins - Part 1 - Create a basic plugin للحصول على دليل.


إعجابَين (2)

مرحباً، أي مستخدم تقصد بـ “اسم مستخدم نظام أوبونتو”؟

لا تحتاج إلى البحث عن ذلك بنفسك، هذا الأمر يعني تعيين متغير البيئة $USER إلى اسم المستخدم. يمكنك تنفيذه مباشرة. تلك الجملة تشرح ما يفعله هذا الأمر.

3 إعجابات

صحيح، شكراً لك.

هذا هو المعنى المقصود.

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

حسنا، شكرا لصبرك في الرد

لقد تمت ترجمة اللغة الصينية بشكل خاص، وجئت خصيصًا للإشادة بذلك.