البرمجة

تثبيت جانغو على أوبونتو

تثبيت إطار العمل جانغو على أوبنتو: دليل شامل وموسع

إطار العمل جانغو (Django) هو أحد أشهر أُطُر العمل لتطوير تطبيقات الويب بلغة بايثون. يتميز جانغو بسرعته، أمانه، ومرونته الكبيرة في بناء مواقع وتطبيقات ويب عالية الجودة. ولهذا، يعتبر جانغو خيارًا مفضلًا للمطورين والمبرمجين الذين يبحثون عن إطار عمل قوي ومتقدم في بيئة البرمجة مفتوحة المصدر. يُعد نظام التشغيل أوبنتو Ubuntu من أكثر توزيعات لينكس استخدامًا وتفضيلًا في بيئات تطوير الويب بسبب سهولة استخدامه ودعمه الواسع لأدوات البرمجة.

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


مقدمة عن جانغو وأهميته في تطوير الويب

جانغو هو إطار عمل مفتوح المصدر مبني بلغة بايثون، تم تصميمه ليُسهّل على المطورين بناء تطبيقات ويب سريعة وقابلة للتطوير. يعتمد جانغو على مفهوم “البرمجة النظيفة” و”إعادة الاستخدام”، مما يتيح إنشاء تطبيقات متكاملة دون الحاجة إلى كتابة الكثير من الأكواد المتكررة.

كما يتميز جانغو بنظام إدارة قواعد بيانات قوي (ORM)، نظام توجيه URL مرن، دعم شامل لنماذج المستخدمين والتوثيق، بالإضافة إلى مكتبة ضخمة من الأدوات والمكونات الجاهزة التي تساعد في تسريع عملية التطوير.


متطلبات تثبيت جانغو على أوبنتو

قبل البدء في عملية التثبيت، لا بد من التأكد من توفر عدة متطلبات أساسية:

  • نظام أوبنتو محدث (يفضل إصدار 20.04 LTS أو أحدث).

  • اتصال بالإنترنت لتحميل الحزم والتحديثات.

  • صلاحيات المستخدم الإداري (sudo).

  • تثبيت لغة البرمجة بايثون (يفضل Python 3.8 أو أحدث).

  • بيئة افتراضية لعزل حزم بايثون (يوصى باستخدام venv).

  • أدوات تثبيت الحزم (مثل pip).


الخطوة الأولى: تحديث النظام

ينصح دائمًا ببدء التثبيت بتحديث نظام أوبنتو، لضمان حصول النظام على أحدث الحزم والتحديثات الأمنية، وكذلك لتفادي تعارضات محتملة أثناء التثبيت.

bash
sudo apt update sudo apt upgrade -y

يقوم الأمر الأول بتحديث قائمة الحزم المتوفرة، بينما يقوم الثاني بتحديث الحزم المثبتة إلى أحدث نسخة.


الخطوة الثانية: تثبيت بايثون وأدوات التطوير

جانغو يعتمد بشكل كامل على لغة بايثون، لذلك يجب التأكد من تثبيت إصدار حديث من بايثون.

لتثبيت بايثون 3 وأدوات التطوير المرتبطة:

bash
sudo apt install python3 python3-pip python3-venv -y
  • python3 هو المترجم الأساسي للغة بايثون.

  • python3-pip هو مدير الحزم الخاص ببايثون.

  • python3-venv لإنشاء بيئة افتراضية لعزل الحزم الخاصة بالمشروع.

يمكن التحقق من الإصدار المثبت باستخدام الأمر:

bash
python3 --version

الخطوة الثالثة: إنشاء بيئة افتراضية

توصي ممارسات التطوير الحديثة باستخدام بيئات افتراضية لعزل مشاريع البرمجة عن النظام الرئيسي، مما يسهل إدارة الحزم وتجنب التعارضات.

لإنشاء بيئة افتراضية جديدة باسم myenv:

bash
python3 -m venv myenv

لتفعيل البيئة الافتراضية:

bash
source myenv/bin/activate

بعد التفعيل، سيظهر اسم البيئة الافتراضية في موجه الأوامر، وهذا يعني أنك تعمل داخل البيئة المعزولة.


الخطوة الرابعة: تثبيت جانغو باستخدام pip

مع تفعيل البيئة الافتراضية، يصبح بإمكاننا تثبيت جانغو باستخدام pip، وهو أداة إدارة الحزم الخاصة ببايثون.

لتثبيت آخر إصدار مستقر من جانغو:

bash
pip install django

يمكن التحقق من نجاح التثبيت من خلال عرض نسخة جانغو المثبتة:

bash
django-admin --version

الخطوة الخامسة: إنشاء مشروع جانغو جديد

بعد تثبيت جانغو، يمكن البدء بإنشاء مشروع جديد. يستخدم جانغو أداة django-admin لإنشاء مشروع هيكلي يحتوي على جميع الملفات الضرورية.

لإنشاء مشروع باسم myproject:

bash
django-admin startproject myproject

سوف ينشئ هذا الأمر مجلدًا يحتوي على الملفات التالية:

  • manage.py: أداة لإدارة المشروع.

  • مجلد myproject/ يحتوي على إعدادات المشروع وملفات التهيئة.


الخطوة السادسة: تشغيل الخادم المحلي لمشروع جانغو

للتأكد من أن جانغو يعمل بشكل صحيح، يمكن تشغيل الخادم المحلي المدمج وتجربة الوصول إلى التطبيق عبر المتصفح.

أولًا، الانتقال إلى مجلد المشروع:

bash
cd myproject

ثم تشغيل الخادم المحلي:

bash
python manage.py runserver

بشكل افتراضي، يعمل الخادم على العنوان: http://127.0.0.1:8000/

يمكن فتح المتصفح وكتابة العنوان السابق لرؤية صفحة البداية الافتراضية لجانغو.


الخطوة السابعة: تثبيت قواعد بيانات إضافية (اختياري)

جانغو يدعم العديد من قواعد البيانات مثل SQLite (المدمجة بشكل افتراضي)، MySQL، PostgreSQL، وغيرها. إذا كنت تخطط لاستخدام قاعدة بيانات خارج SQLite، فيجب تثبيت المكتبات الخاصة بها.

تثبيت PostgreSQL مع دعم جانغو

bash
sudo apt install postgresql postgresql-contrib libpq-dev -y pip install psycopg2-binary

تثبيت MySQL مع دعم جانغو

bash
sudo apt install mysql-server libmysqlclient-dev -y pip install mysqlclient

بعد التثبيت، يتم تعديل إعدادات قاعدة البيانات في ملف settings.py الخاص بالمشروع لتوجيه جانغو إلى قاعدة البيانات المناسبة.


الخطوة الثامنة: إدارة الحزم والاعتماديات باستخدام ملف requirements.txt

لإدارة الحزم الخاصة بالمشروع وتسهيل تثبيتها لاحقًا، يُنصح بإنشاء ملف requirements.txt يحتوي على قائمة الحزم مع إصداراتها.

لحفظ الحزم المثبتة حاليًا:

bash
pip freeze > requirements.txt

لتثبيت الحزم من الملف:

bash
pip install -r requirements.txt

الخطوة التاسعة: التعامل مع الإعدادات الأمنية لجانغو

للحفاظ على أمان المشروع، يجب ضبط بعض الإعدادات في ملف settings.py:

  • تعيين متغير SECRET_KEY بقيمة سرية.

  • ضبط متغير DEBUG إلى False عند الانتقال لبيئة الإنتاج.

  • تحديد قائمة ALLOWED_HOSTS لإضافة أسماء النطاقات أو عناوين الـ IP المسموح بها.


الخطوة العاشرة: نشر مشروع جانغو على أوبنتو

بعد التطوير المحلي، قد يرغب المطور في نشر التطبيق على خادم يعمل بنظام أوبنتو. من أفضل الممارسات استخدام خادم ويب مثل Nginx مع واجهة WSGI (مثل Gunicorn) لتشغيل تطبيقات جانغو في بيئة الإنتاج.

تثبيت Gunicorn

داخل البيئة الافتراضية:

bash
pip install gunicorn

تشغيل التطبيق باستخدام Gunicorn

bash
gunicorn myproject.wsgi

إعداد Nginx لخدمة التطبيق

  1. تثبيت Nginx:

bash
sudo apt install nginx -y
  1. إعداد ملف تكوين خاص بالمشروع داخل /etc/nginx/sites-available/.

  2. تفعيل الموقع وإعادة تشغيل Nginx.


جدول توضيحي لأوامر التثبيت الرئيسية

الخطوة الأمر الوصف
تحديث النظام sudo apt update && sudo apt upgrade -y تحديث الحزم المثبتة
تثبيت بايثون وأدواته sudo apt install python3 python3-pip python3-venv -y تثبيت بايثون وأدوات التطوير
إنشاء بيئة افتراضية python3 -m venv myenv إنشاء بيئة معزولة
تفعيل البيئة الافتراضية source myenv/bin/activate تفعيل البيئة
تثبيت جانغو pip install django تثبيت جانغو
إنشاء مشروع جديد django-admin startproject myproject إنشاء مشروع جانغو جديد
تشغيل الخادم المحلي python manage.py runserver تشغيل الخادم محليًا
تثبيت PostgreSQL sudo apt install postgresql postgresql-contrib libpq-dev -y
pip install psycopg2-binary
تثبيت ودعم قاعدة بيانات PostgreSQL
تثبيت MySQL sudo apt install mysql-server libmysqlclient-dev -y
pip install mysqlclient
تثبيت ودعم قاعدة بيانات MySQL
تثبيت Gunicorn pip install gunicorn خادم WSGI لتشغيل جانغو في الإنتاج
تثبيت Nginx sudo apt install nginx -y خادم ويب عكسي

توصيات وملاحظات هامة

  • استخدام البيئة الافتراضية: يفضل دائمًا تثبيت جانغو وكل المكتبات في بيئة افتراضية لتجنب التعارض مع مكتبات النظام أو مشاريع أخرى.

  • حماية ملف SECRET_KEY: لا ينبغي مشاركة المفتاح السري SECRET_KEY على مواقع عامة أو ضمن ملفات التحكم بالإصدار مثل Git.

  • تحديث جانغو بانتظام: الحرص على تحديث جانغو باستمرار لضمان حصول المشروع على آخر التحديثات الأمنية وتحسينات الأداء.

  • النسخ الاحتياطي المنتظم: في المشاريع التي تعتمد قواعد بيانات خارجية، ضرورة إجراء نسخ احتياطية دورية.

  • الاستفادة من التوثيق الرسمي: موقع جانغو الرسمي يحتوي على دليل مفصل وشامل يساعد على استكشاف جميع ميزات الإطار واستخدامها بشكل صحيح.


المصادر والمراجع


بتطبيق الخطوات السابقة بعناية، يمكن لأي مطور أو مهندس برمجيات إعداد بيئة عمل جانغو متكاملة على نظام أوبنتو، مما يتيح بدء تطوير تطبيقات ويب قوية، آمنة، وقابلة للتوسع بسهولة وفعالية.