ديف أوبس

إعداد PostgreSQL مع Django على Debian

كيفية استخدام PostgreSQL مع تطبيق Django على خادم يعمل بنظام Debian 8

مقدمة

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

المتطلبات المبدئية

قبل البدء في إعداد PostgreSQL مع Django على Debian 8، يجب التأكد من وجود بعض المتطلبات الأساسية:

  1. خادم Debian 8: يجب أن يكون لديك خادم يعمل بنظام Debian 8 أو إصدار مماثل.

  2. Python وpip: Django مكتوب بلغة Python، وبالتالي يجب أن يكون لديك Python مثبتًا على الخادم.

  3. PostgreSQL: يجب أن يكون لديك قاعدة بيانات PostgreSQL تعمل على الخادم.

  4. Django: يجب أن يكون لديك Django مثبتًا من خلال pip.

الخطوة 1: تثبيت PostgreSQL على خادم Debian 8

تثبيت PostgreSQL على Debian 8 يعد أمرًا بسيطًا باستخدام مدير الحزم apt. للبدء، قم بتحديث النظام أولًا:

bash
sudo apt-get update sudo apt-get upgrade

ثم قم بتثبيت PostgreSQL باستخدام الأمر التالي:

bash
sudo apt-get install postgresql postgresql-contrib

هذا الأمر سيقوم بتثبيت PostgreSQL وكذلك بعض الإضافات المفيدة مثل الأدوات المساعدة لـ PostgreSQL.

الخطوة 2: إعداد PostgreSQL

بمجرد اكتمال التثبيت، يجب إنشاء قاعدة بيانات ومستخدم خاص بتطبيق Django. يمكنك تنفيذ هذه العمليات من خلال سطر الأوامر باستخدام أدوات PostgreSQL.

  1. قم بتسجيل الدخول إلى PostgreSQL كـ superuser:

bash
sudo -u postgres psql
  1. لإنشاء قاعدة بيانات جديدة، استخدم الأمر التالي داخل واجهة psql:

sql
CREATE DATABASE mydatabase;
  1. ثم أنشئ مستخدمًا جديدًا في PostgreSQL ومنحه صلاحيات على القاعدة التي أنشأتها:

sql
CREATE USER myuser WITH PASSWORD 'mypassword'; GRANT ALL PRIVILEGES ON DATABASE mydatabase TO myuser;
  1. بعد الانتهاء، يمكنك الخروج من واجهة psql بكتابة:

sql
\q

الخطوة 3: تثبيت Django و psycopg2

الخطوة التالية هي تثبيت Django وملحق psycopg2 الذي يسمح لـ Django بالتفاعل مع قاعدة بيانات PostgreSQL. ابدأ بتثبيت Django من خلال pip:

bash
pip install django

ثم قم بتثبيت psycopg2:

bash
pip install psycopg2

يعد psycopg2 مكتبة Python تتيح الاتصال بين تطبيق Django وقاعدة بيانات PostgreSQL.

الخطوة 4: إعداد Django لاستخدام PostgreSQL

بمجرد تثبيت Django و psycopg2، يمكنك بدء إعداد مشروع Django للاتصال بقاعدة بيانات PostgreSQL التي قمت بإنشائها. بدايةً، قم بإنشاء مشروع Django جديد إذا لم تكن قد قمت بذلك مسبقًا:

bash
django-admin startproject myproject cd myproject

بعد ذلك، قم بتعديل إعدادات الاتصال بقاعدة البيانات في ملف settings.py داخل مجلد المشروع.

  1. افتح الملف settings.py في محرر النصوص المفضل لديك.

  2. ابحث عن قسم DATABASES في الملف، والذي يحتوي على إعدادات قاعدة البيانات الافتراضية.

  3. استبدل الإعدادات الافتراضية (التي تستخدم SQLite) بالإعدادات الخاصة بـ PostgreSQL كما يلي:

python
DATABASES = { 'default': { 'ENGINE': 'django.db.backends.postgresql', 'NAME': 'mydatabase', # اسم القاعدة التي أنشأتها 'USER': 'myuser', # اسم المستخدم الذي أنشأته 'PASSWORD': 'mypassword', # كلمة المرور الخاصة بالمستخدم 'HOST': 'localhost', 'PORT': '5432', # المنفذ الافتراضي ل PostgreSQL } }

الخطوة 5: إجراء الترحيلات (Migrations)

الآن بعد أن قمت بتعديل إعدادات قاعدة البيانات في Django، تحتاج إلى تنفيذ الترحيلات لتطبيق التغييرات على قاعدة البيانات. هذه الترحيلات هي التي تخلق الجداول اللازمة لتخزين بيانات التطبيق.

  1. قم بتطبيق الترحيلات الأولية باستخدام الأمر التالي:

bash
python manage.py migrate
  1. يمكنك التحقق من حالة الترحيلات عن طريق:

bash
python manage.py showmigrations

الخطوة 6: بدء خادم Django

بعد إعداد قاعدة البيانات وتنفيذ الترحيلات، يمكنك الآن تشغيل خادم Django على الخادم المحلي. للقيام بذلك، استخدم الأمر التالي:

bash
python manage.py runserver 0.0.0.0:8000

سيقوم هذا الأمر بتشغيل الخادم على جميع الواجهات (0.0.0.0) والمنفذ 8000.

الخطوة 7: ضبط إعدادات الإنتاج

عند نشر التطبيق في بيئة الإنتاج، يجب اتخاذ بعض الإجراءات الإضافية لضمان أن التطبيق يعمل بشكل آمن وفعال:

  1. إعدادات قواعد البيانات: تأكد من أن DATABASES في settings.py تم تكوينه بشكل صحيح لاستخدام قاعدة البيانات على الخادم الإنتاجي.

  2. حماية التطبيق: استخدم ALLOWED_HOSTS في settings.py لتحديد أسماء النطاقات (domains) التي يمكن الوصول إلى التطبيق من خلالها.

  3. إعدادات الأمان: تأكد من تكوين SECRET_KEY بشكل آمن، ويمكنك استخدام متغيرات البيئة للحفاظ على السرية.

  4. استخدام PostgreSQL في بيئة الإنتاج: في بيئة الإنتاج، يفضل استخدام PostgreSQL في وضع الاتصال الآمن باستخدام SSL. هذا يتطلب تكوين إضافي في PostgreSQL وDjango.

الخطوة 8: تثبيت Nginx و Gunicorn

لتحسين أداء التطبيق في بيئة الإنتاج، يمكنك استخدام خادم WSGI مثل Gunicorn مع خادم HTTP مثل Nginx. للبدء، قم بتثبيت Gunicorn:

bash
pip install gunicorn

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

bash
gunicorn myproject.wsgi:application

أما بالنسبة لـ Nginx، يمكنك تثبيته وتكوين خادم ويب عكسي للتوجيه إلى Gunicorn.

الخطوة 9: مراقبة الأداء

بعد نشر التطبيق، من الضروري مراقبة أداء قاعدة البيانات والتطبيق. يمكنك استخدام أدوات مثل pgAdmin لإدارة PostgreSQL أو django-debug-toolbar لمراقبة أداء التطبيق أثناء تطويره.

الختام

تعد عملية إعداد PostgreSQL مع Django على خادم Debian 8 عملية مباشرة لكنها تتطلب بعض الخطوات الأساسية لضمان تكامل وتكافؤ الأداء بين المكونات المختلفة. باتباع هذه الخطوات، يمكنك إنشاء تطبيقات ويب قوية ومؤمنة باستخدام Django و PostgreSQL على الخادم الخاص بك.

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