اذهب إلى المحتوى

إعداد خادم اختبار محلي


ابراهيم الخضور

يصف المقال طريقة إعداد خادم اختبار محلي على حاسوبك وكيفية استخدامه، كما ننصحك بدايةً بالاطلاع على كيفية عمل الإنترنت والتعرُّف على خادم الويب.

الملفات على الخادم المحلي موازنة بالملفات على خادم بعيد

يمكنك بكل بساطة فتح ملف HTML أو صفحة ويب على حاسوبك بالنقر المزدوج عليه، أو من خلال سحبه ثم إفلاته داخل المتصفح، أو من خلال قائمة ملف File ثم فتح Open، ومن ثم الانتقال إلى الملف المطلوب، ولاحظ أنّ أيّ ملف موجود على القرص الصلب لحاسوبك سيبدأ عنوانه بالشكل //:file يلي ذلك مسار الملف، بينما إذا استعرضت ملفًا على جيت هاب GitHub أو على أيّ خادم آخر، فستلاحظ بدء عنوانه بـ //:http أو //:https للدلالة على حصولنا عليه عبر بروتوكول HTTP.

مشكلة اختبار الملفات المحلية

لن تتمكن من فتح بعض الأمثلة إذا عاملتها على أنها ملفات محلية، إذ يعود ذلك إلى أسباب مختلفة أهمها:

  • قد تمثل هذه الملفات ردودًا لطلبات غير متزامنة asynchronous requests: لن تنفِّذ بعض المتصفحات -بما فيها جوجل كروم- الطلبات غير المتزامنة إذا جرى طلبها عن طريق ملف محلي لأسباب تتعلق بقيود أمنية.
  • قد تستخدم هذه الملفات شيفرة لغات تعمل على الخادم: مثل PHP أو بايثون، والتي تتطلب خوادم خاصة لتفسير الشيفرة وإيصال النتائج.
  • تعامل المتصفحات الطلبات التي تحمِّل موارد محلية عبر بروتوكول file://‎ على أنها طلبات ذات أصل مختلط cross-origin requests، لذا إن حمَّلت ملفًأ محليًا يحوي يطلب ملفات محلية أخرى، فقد يولد هذا خطأ CORS (اختصارٌ إلى سياسة مشاركة الموارد ذات الأصول المختلطة).

تشغيل خادم HTTP محلي بسيط

لا بدّ من اختبار الأمثلة المشابهة على خادم ويب محلي لتجاوز مشكلة الطلبات غير المتزامنة، إذ سيكون استخدام وحدة خادم HTTP لبايثون http.server من أسهل طرق تنفيذ ذلك.

اقتباس

ملاحظة: تقدِّم النسخ الأقدم من بايثون (حتى 2.7) وحدةً مشابهةً تُدعى SimpleHTTPServer، فإذا كنت تستخدِم بايثون ‎2.x، فاتبع الدليل التالي مبدلًا التعليمة SimpleHTTPServer مكان التعليمة http.server، ولكن مع ذلك يُنصح باستخدام الإصدار الأحدث من بايثون.

اتبع الخطوات التالية لإعداد الخادم:

  1. ثبِّت بايثون: من المفترض أن تكون حزمة بايثون مثبتةً على جهازك مسبقًا إذا كنت تستخدِم لينوكس Linux أو ماك أو إس macOS‎، بينما إذا كنت تستخدِم ويندوز Windows، فعليك زيارة الصفحة الرسمية لبايثون والحصول على المُثبِّت الخاص بويندوز من خلال الخطوات التالية:
  • انتقل إلى العنوان python.org.
  • انقر على الرابط "Python "3.xxx الموجود ضمن قسم التنزيل Download.
  • انقر على رابط مُثبِِّت ويندوز Windows Installer الموجود أسفل الصفحة لتنزيل ملف التثبيت.
  • شغّل ملف التثبيت عند انتهاء التنزيل.
  • تأكد من تفعيل مربع التحقق الذي يشير إلى إضافة بايثون إلى المسار Add Python 3.xxx to PATH.
  • انقر على تثبيت Install، ثم انقر على إغلاق Close عند انتهاء العملية.
  1. افتح موجه سطر الأوامر Command Prompt في ويندوز أو الطرفية Terminal في لينوكس أو ماك لتتحقق من تثبيت بايثون. نفذ الأمر التالي:
python -V
# إن فشلت التعليمة السابقة استخدم التعليمة
python3 -V
# إن كان متاحًا "py" أو حاول استخدام الأمر
py -V
  1. سيعيد إليك الأمر السابق رقم إصدار بايثون الذي ثُبِّت، ثم انتقل بعد ذلك إلى المجلد الذي يحتوي على المثال الذي تريد اختباره باستخدام الأمر cd إذا كان المثال على سطح المكتب أو في مكان آخر، فجرّب الانتقال إليه وفق أحد الأسلوبين التاليين:
#  ضع عنوان المجلد الذي يحوي المثال الذي تريد اختباره
cd Desktop
# استخدم النقطتين للانتقال إلى مجلد أعلى بمستوى واحد
cd ..
  1. استخدم الأمر التالي لتشغيل الخادم ضمن المجلد المحدد:
# إذا كان إصدار بايثون 3
#  حاول ما يلي على ويندوز
# "python -m http.server"
# أو
# "py -3 -m http.server"
python3 -m http.server
# إذا كان إصدار بايثون 2
python -m SimpleHTTPServer
  1. ستنفِّذ التعليمة السابقة محتوى المجلد على خادم ويب محلي ورقم المنفذ الخاص به 8000، كما يمكن الوصول إلى هذا الخادم من خلال كتابة العنوان localhost:8000 ضمن المتصفح الذي سيعرض لك محتويات المجلد، وانقر على ملف HTML الذي تريد تشغيله.
اقتباس

ملاحظة: إذا كنت تشغّل شيئًا ما على هذا المنفذ، فمن الممكن اختيار منفذ آخر وذلك بتنفيذ تعليمة تشغيل الخادم يليها رقم المنفذ الذي تريد كما في المثال التالي:

# بايثون 3
python3 -m http.server 7800
# بايثون 2
python -m SimpleHTTPServer 7800

ستتمكن من الوصول إلى الخادم على هذا المنفذ بكتابة العنوان localhost:7800 ضمن المتصفح.

تنفيذ شيفرة لغة تعمل على الخادم

لن تستطيع وحدتَي بايثون http.server أو SimpleHTTPServer التي تعمل على الإصدار 2 على الرغم من فائدتهما من تنفيذ شيفرة مكتوبة بلغات مثل بايثون أو PHP أو جافاسكربت، فهي تقدِّم بالكاد خادم ملفات ساكن static file server، ولتنفيذ شيفرات مثل هذه، فلا بدّ من عمل إضافي يتعلق بطبيعة اللغة التي تستخدِمها، وإليك بعض الأمثلة:

  • لتنفيذ شيفرة بايثون، لا بدّ من استخدام إطار عمل بايثون خاص بالويب Python web framework، وستجد الكثير من إطارات العمل هذه مثل Django أو Flask أو Pyramid.
  • لتنفيذ شيفرة Node.js -جافاسكربت-، لا بدّ من استخدام Node الأساسي أو أيّ إطار عمل مبني على أساسه مثل إكسبرس Express الذي يمثِّل خيارًا جيدًا.
  • لتنفيذ شيفرة PHP، شغّل خادم PHP المدمج كما يلي:
$ cd path/to/your/php/code
$ php -S localhost:8000

ترجمة -وبتصرف- للمقال ?How do you set up a local testing server.

اقرأ أيضًا


تفاعل الأعضاء

أفضل التعليقات

لا توجد أية تعليقات بعد



انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أضف تعليق

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.


×
×
  • أضف...