لو أنت مطور ويب وتعمل على ويندوز، فغالبًا واجهت مشكلة اختلاف البيئة بين جهازك وسيرفر الاستضافة (اللي بيكون غالبًا Linux).
الحل العملي والبسيط هو استخدام Windows Subsystem for Linux واختيار توزيعة Ubuntu للعمل عليها.
في هذا الدليل هنتعلم:
- تثبيت WSL من الصفر
- تثبيت Ubuntu
- تثبيت Git
- تثبيت Docker و Docker Compose
- تجهيز بيئة عمل حقيقية لمطور ويب
لماذا نستخدم WSL كمطور ويب؟#
قبل ما نبدأ، خلينا نفهم الفكرة ببساطة.
بدل ما:
- تثبت Linux على جهاز منفصل
- أو تستخدم Virtual Machine مثل VirtualBox
ميزة WSL تسمح لك بتشغيل Linux داخل ويندوز مباشرة، بدون استهلاك موارد ضخمة.
ولتعرف الفرق باختصار يمكنك الإطلاع على الجدول التالي:
| WSL | Virtual Machine |
|---|---|
| سريع وخفيف | يستهلك RAM وبروسيسور أكثر |
| تكامل مباشر مع ويندوز | نظام منفصل بالكامل |
| مناسب لتطوير الويب | مناسب لاختبارات أنظمة كاملة |
كمطور ويب يريد أن يجمع بين مميزات الويندوز العادية من برامج وألعاب وبين تطوير الويب في بيئة إحترافية فالـ WSL هو الخيار الذكي.
و المتطلبات بسيطة وتقريباً توجد فى جميع الأجهزة العادية ورخيصة الثمن:
- Windows 10 إصدار حديث (2004+)
- Windows 11
- RAM 8 (لا يقل عن 8 جيجا وكلما زاد كان أفضل)
الخطوة 1: تثبيت WSL#
افتح PowerShell كمسؤول (Run as Administrator) واكتب:
wsl --installماذا يفعل هذا الأمر؟
- يفعّل WSL
- يفعّل Virtual Machine Platform
- يثبت WSL 2
- يثبت Ubuntu تلقائيًا
بعد انتهاء التثبيت:
أعد تشغيل الجهاز.
الخطوة 2: إعداد Ubuntu لأول مرة#
بعد إعادة التشغيل:
- افتح Ubuntu من قائمة Start.
- انتظر حتى يكتمل الإعداد.
- سيطلب منك:
- إنشاء Username
- إنشاء Password
وبكده أصبح عندك بيئة Linux كاملة داخل ويندوز.
التأكد أن WSL يعمل بالإصدار 2#
داخل PowerShell اكتب:
wsl -l -vلو ظهر Version = 2
يبقى كل شيء تمام.
ولو لسه على الإصدار الأول ستحتاج بتنفيذ ذلك الأمر:
wsl --set-default-version 2الخطوة 3: تحديث Ubuntu#
داخل Ubuntu اكتب:
sudo apt update
sudo apt upgrade -yولمن إستخدم نظام Ubuntu على سيرفر VPS أو كنظام تشغيل من قبل ستجد نفسك في بيئة مألوفة لك ولن تجد صعوبة في التعامل مع النظام.
الخطوة 4: تثبيت Git#
أي مطور ويب يحتاج Git للقيام بجلب وتحديث المستودعات Repositiries.
ثبتّه بالأمر:
sudo apt install git -yبعد ذلك تأكد من التثبيت:
git --versionثم اضبط بياناتك:
git config --global user.name "Your Name"
git config --global user.email "you@example.com"الخطوة 5: تثبيت Docker#
تثبيت Docker مهم جدًا لتشغيل:
- Node.js
- PHP
- Laravel
- MySQL
- PostgreSQL
- Redis
وغيرهم بدون تلويث نظامك. كان يمكننا تثبيت دوكر على الويندوز بطريقة مباشرة عن طريق التحميل من موقعهم بشكل مباشر ولكن لا أحبذ هذه الطريقة بسبب أن الواجهة الرسومية التي تنزل مع الحزمة تستهلك كثير من الموارد ولكن فى حالتنا هنا سنتعامل عن طريق موجه الأوامر Terminal بطريقة إحترافية أكثر كما لو كنا على سيرفر حقيقي.
سنقوم بتثبيت Docker داخل Ubuntu عن طريق الخطوات التالية:
1️. تثبيت المتطلبات#
sudo apt install ca-certificates curl gnupg -y2️. إضافة مفتاح Docker الرسمي#
sudo install -m 0755 -d /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
sudo chmod a+r /etc/apt/keyrings/docker.gpg3️. إضافة المستودع#
echo \
"deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu \
$(. /etc/os-release && echo "$VERSION_CODENAME") stable" | \
sudo tee /etc/apt/sources.list.d/docker.list > /dev/null4️. تثبيت Docker#
sudo apt update
sudo apt install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin -yالخطوة 6: تشغيل Docker بدون sudo#
أضف المستخدم لمجموعة docker:
sudo usermod -aG docker $USERثم:
exitوأعد الدخول مرة أخرى إلى Ubuntu.
اختبر:
docker --versionالخطوة 7: استخدام Docker Compose#
Compose أصبح مدمج داخل Docker باسم:
docker composeاختبر:
docker compose versionلاحظ أن الأمر الآن بدون شرطة:
❌ docker-compose
✅ docker compose
مثال بسيط لتجربة Docker#
أنشئ ملف:
nano docker-compose.ymlوضع بداخله:
services:
app:
image: nginx
ports:
- "8080:80"ثم شغّل:
docker compose upافتح المتصفح على:
http://localhost:8080سترى صفحة Nginx تعمل.
أفضل طريقة للعمل كمطور ويب باستخدام WSL#
لو بتستخدم Windows + WSL (Ubuntu)، فتنظيم بيئة العمل بشكل صحيح هيوفر عليك وقت كبير ويجنبك مشاكل الأداء.
1️. ضع مشاريعك داخل Linux وليس داخل C#
من أهم الأخطاء الشائعة إنك تخزن مشاريعك داخل مسار Windows زي:
C:\Users\...الأفضل إن كل مشاريعك تكون داخل بيئة Linux نفسها لتحصل على أداء أفضل وتجنب مشاكل الصلاحيات.
ادخل إلى مجلد المستخدم داخل Ubuntu:
cd /home/mahmoudثم أنشئ مجلد يجمع كل مشاريعك:
mkdir appsليصبح المسار كالتالي:
/home/mahmoud/appsومن الآن فصاعدًا، كل مشروع جديد أنشئه داخل هذا المجلد.
2️. استخدم VS Code مع إضافة WSL#
أفضل تجربة تطوير مع WSL تكون باستخدام:
Visual Studio Code
مع تثبيت إضافة:
WSL Extension
بعد تثبيت الإضافة، يمكنك فتح أي مشروع داخل Linux مباشرة من VS Code بدون مشاكل مسارات أو صلاحيات.
3️. تشغيل Ubuntu تلقائيًا باستخدام Cmder#
بدلًا من فتح WSL يدويًا كل مرة، يمكن تسهيل العملية باستخدام:
Cmder
الخطوات:#
- حمّل Cmder.
- ادخل إلى Settings → Startup → Tasks.
- أنشئ Task جديد باسم:
Ubuntu - ضع الأمر التالي داخله:
wsl -d Ubuntu- من General → Choose your startup task اختر التاسك الجديد.
الآن عند فتح Cmder سيتم الدخول تلقائيًا إلى Ubuntu.
4️. الدخول تلقائيًا إلى مجلد المشاريع#
بدلًا من كتابة الأمر التالي في كل مرة:
cd /home/mahmoud/appsيمكننا تعديله مرة واحدة داخل ملف الإعدادات.
افتح الملف:
nano ~/.bashrcوأضف في آخر الملف:
PS1='\u@\h [\W] ➜ '
cd /home/mahmoud/appsثم حدّث الإعدادات:
source ~/.bashrcالآن عند إعادة فتح Cmder ستجد نفسك تلقائيًا داخل مجلد المشاريع بهذا الشكل:
mahmoud@SherifAdel [apps] ➜وهكذا أصبحت بيئة العمل جاهزة وسريعة بدون خطوات متكررة.
هل أحتاج Docker Desktop؟#
يمكنك العمل بدون Docker Desktop إذا ثبت Docker داخل Ubuntu كما شرحنا سابقاً.
وكما قولنا سابقاُ Docker Desktop يوفر:
- واجهة رسومية
- إدارة الحاويات
- تكامل أسهل للبعض
لكن للمطور المحترف؟
التثبيت داخل Ubuntu كافي وأكثر نظافة ويعطيك نفس شعور التواجد على سيرفر حقيقي.
الآن أنت جاهز لتطوير:
- Laravel
- Node.js
- Vue
- React
- Angular
- WordPress
- أي Stack حديث تريد أن تتعلمه وتطبق عليه.
كل ذلك في بيئة Linux حقيقية داخل ويندوز وكل ذلك بفضل WSL.
وفى الختام باستخدام:
- WSL 2
- Ubuntu
- Git
- Docker + Compose
أصبحت تملك بيئة احترافية تشبه بيئة السيرفر بنسبة 95٪ تقريبًا.
وهذا يقلل مشاكل:
- “المشروع يعمل عندي ولا يعمل على السيرفر”.
- اختلاف الإصدارات.
- مشاكل المسارات والصلاحيات.
وإن وجدت إن هذه الطريقة معقدة بالنسبة لك وتحتاج الى طريقة أسهل، فقد تكلمنا سابقاً عن تجهيز بيئة تطوير الويب على ويندوز باستخدام Laragon ويعتبر هذا الخيار الأسهل للمبتدئين.










