مرحباً بالجميع،
بعد قضاء بعض الوقت في محاولة إعداد بيئة تطوير عاملة على نظام التشغيل Windows 11 / WSL2، فكرت في مشاركة الخطوات التي اتبعتها.
هذه هي مشاركتي الأولى هنا، لذا آمل أن تكون مفيدة لشخص ما
أنا مسؤول أنظمة معتاد على العمل مع نظام Windows، لذا كانت هذه رحلة مثيرة للاهتمام لتعلم Linux / Ruby / Discourse وما إلى ذلك.
يبدو أن بعض الأشياء قد تغيرت منذ كتابة الدليل الخاص بنظام Windows 10، وواجهت بعض المشكلات على طول الطريق (ومن خلال قراءة التعليقات، لم أكن الوحيد!).
يمكنني التأكيد على أن التعليمات التالية عملت على تثبيت Windows 11 Pro 22H2 الخاص بي وأيضًا على إصدار Insider الخاص بي من إصدار Windows 11 23H2 Release Preview القادم.
سأحاول إبقاء التعليمات قصيرة ومباشرة قدر الإمكان ![]()
الإعداد الأولي
- تحقق من وجود أي تحديثات لـ WSL وقم بتثبيتها إذا كان ذلك منطبقًا. من نافذة Windows Powershell استخدم هذا الأمر:-
wsl.exe --update
- قم بتثبيت Ubuntu على WSL2 باستخدام هذا الأمر:-
wsl.exe --install -d Ubuntu
-
اتبع التعليمات التي تظهر على الشاشة لإنشاء اسم المستخدم وكلمة المرور.
-
بمجرد دخولك إلى طرفية Ubuntu، تحقق من جميع التحديثات المطبقة وقم بتثبيتها.
sudo apt update && sudo apt upgrade -y
- الآن بعد أن تم تحديث كل شيء، يمكننا المتابعة

تعديلات WSL
- قبل استنساخ Discourse، قم بتشغيل الأمر التالي لفتح ملف /etc/wsl.conf:-
sudo nano /etc/wsl.conf
- في أسفل الملف الحالي، أضف ما يلي، اضغط على Ctrl + X لحفظ التغييرات واضغط على “Y” عند المطالبة.
[automount]
enabled = true
root = /mnt/
options = "metadata,umask=22,fmask=11"
-
أغلق طرفية WSL تمامًا وأعد تشغيلها لتطبيق هذه التغييرات بشكل صحيح.
-
الآن انسخ والصق البرنامج النصي التثبيت التالي المكون من سطر واحد لإعداد بيئة التطوير. اعتمادًا على سرعة جهاز الكمبيوتر الخاص بك و/أو اتصال الإنترنت الخاص بك، قد يستغرق هذا بعض الوقت لإكماله، لذا اذهب واشرب قهوة أو شيئًا آخر!
bash <(wget -qO- https://raw.githubusercontent.com/discourse/install-rails/master/linux)
- ابدأ خدمة PostgreSQL:-
sudo service postgresql start
- نظرًا لأننا نعمل في WSL2، تلقيت رسالة تحذير حول نفاد ذاكرة الجهاز الظاهري، والتي يمكن حلها عن طريق تشغيل ما يلي:
sudo sysctl vm.overcommit_memory=1
- قم بتشغيل ما يلي حتى تتم إعادة تشغيل redis-server تلقائيًا:-
redis-server --daemonize yes
- استنسخ Discourse إلى المجلد الرئيسي:-
git clone https://github.com/discourse/discourse.git ~/discourse
- انتقل إلى مجلد Discourse الذي تم إنشاؤه حديثًا:-
cd ~/discourse
- قم بتشغيل الأوامر التالية (قمت بها سطرًا واحدًا في كل مرة) (غير متأكد مما إذا كان هذا ضروريًا أو ما إذا كان يمكن نسخه ولصقه دفعة واحدة):
source ~/.bashrc
bundle install
yarn install
- قم بإعداد البيئة:-
RAILS_ENV=development bundle exec rake db:create db:migrate
- ابدأ Discourse
DISCOURSE_HOSTNAME=localhost UNICORN_LISTENER=localhost:3000 bin/ember-cli -u
-
افتح طرفية منفصلة، وانتقل إلى دليل Discourse باستخدام cd ~/discourse وقم بتشغيل rails admin:create - اتبع التعليمات لإعداد حساب المستخدم المسؤول الخاص بك.
-
انتقل إلى http://localhost:4200 في متصفح الويب ويجب أن يكون Discourse قيد التشغيل

