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

مساعدة المبتدئين في فهم كيفية رفع الموقع على الإنترنت


زينة معلا

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

يقول كريس:

اقتباس

أسعدتني رسالة جوش كثيرًا، فهي لحظة رائعة له، حيث يطرح الكثير من الأسئلة المناسبة، كما يَفهَم الكثير من الأمور، ومعلوماته جيدةٌ إلى حدٍ ما، إلا أنه مرتبكٌ بعض الشيء، ولذلك فكّرت في الأمر وقُلت لنفسي إنها فرصةٌ رائعةٌ للبحث في أسئلته أملًا في مساعدته ومساعدة آخرين مثله ربّما يواجهون هذه المشكلة".

وهذه إحدى الفقرات الأصيلة التي أرسلها لي جوش وبدون أي تعديل:

اقتباس

"أنا جديدٌ نسبيًا في عالم تصميم الويب، وسبق والتَحقتُ ببعض الدورات التدريبية لأتعلّم بعض الأمور مثل HTML وCSS، كما التَحقتُ بدورةٍ على موقع Codecademy لأتعلّم لغة جافاسكربت JavaScript، ولكني بعد تصميم وتطوير موقع الويب (صفحة الويب) باستخدام كلّ من HTML وCSS وجافاسكربت؛ لم أفهم كيفية الانتقال من الاستضافة المحلية باستخدام mamp أو wamp إلى نَشْر الموقع ليُتاح على الإنترنت باستخدام ووردبريس WordPress أو أي مضيفٍ آخرٍ، كما لم أفهم طريقة إيجاد مُخدّمٍ مناسبٍ لاستضافة الصور ومقاطع الفيديو أو أي محتوىً آخرٍ. إذا بدا لك أني لا أعرف نِصْف الأمور التي تحدثتُ عنها، فظنّك صحيحٌ، أنا لا أعلم ولكني أرغب في التعلّم."

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

ما هو مُسجّل النطاق domain registrar؟ نعرف أنه مخصّصٌ لتسجيل أسماء النطاقات، ولكن ما الفَرق بينهم؟ وكيف تعلم ما المناسب منهم؟ بحثتُ سريعًا عن أفضل مستضيفي النطاقات على غوغل ورأيت 5 إعلاناتٍ لشركات تسجيل واستضافة النطاقات، كما وجدت 9 صفحاتٍ من نمط أفضل 10 وتبدو جميعها كما لو تنتمي إلى إحدى الشركات التي تقترحها أو إحداها على الأقل، فهل أبحث عن أقلّ سعرٍ ممكنٍ؟

أحسنتَ الإجابة، مُسجّلات النطاق مخصصةٌ لتسجيل أسماء النطاقات، فإذا أردت نطاقًا مثل joshlongisverycool.com فسيتوجب عليك شراؤه عن طريق شركات تسجيل النطاقات، فمساعدتك على إنجاز هذه المَهمة إحدى الخدمات التي تقدّمها.

godaddy-results.png

البحث عن اسم للنطاق.

تمتلئ نتائج بحْث الويب بالإعلانات وبصفحات تحسين محركات البحث المشبّعة بالروابط، وهذا الأمر مزعجٌ جدًا، ولذلك لن يكون المحتوى الذي تراه صادقًا بصورةٍ كبيرةٍ لأن أغلب هذه الصفحات تمتلئ بالروابط التي تُروّج لمن يَدفع لهم أكثر عند إرسال عملاء جُدُد، لدرجة أن محرك البحث الشهير غوغل قد يبيع لك اسم نطاق!

في الحقيقة، لا يجب أن ترتكب الأخطاء هنا، إذ تُعَد أسماء النطاقات سلعةً إلى حدٍ ما، ولذلك تتنافس مئات شركات تسجيل واستضافة النطاقات على التسويق فيما بينها.

وإليك بعض الأشياء التي يجب أن تنتبه لها:

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

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

ليس لإزعاجك بالكثير من المعلومات والروابط، ولكن سنوفر لك بعض أسماء مُسجلات النطاق التي استُخدِمت مسبقًا والتي لا تَدفَع أي مبالغٍ للرعاية، كما أنها ليست روابط تابعةً affiliate links:

تُوصي سارة درانسر بالاطّلاع على نطاقات شركة زيت ZEIT، فهي جديرةٌ بالاهتمام، حيث يمكنك شراء النطاقات وإدارتها عبْر سطر الأوامر. كما يُقترحُ بقاء جميع نطاقاتك (في حال كنت تُخطط لامتلاك أكثر من نطاقٍ) في مسجّلٍ registrar واحدٍ، وذلك لأنك ستدير النطاقات مراتٍ قليلةً في حياتك، ومن السهل أن تنسى أسماء النطاقات التي تمتلكها وأماكنها، بالإضافة إلى صعوبة إدارة وتغيير الإعدادات في المُسجلات المُختلفة.

وبما أن التعلّم وتجربة الأمورٍ أمرٌ جيدٌ لأنها الطريقة التي تَعلّمنا بها جميعًا، فكلّ ما عليك فِعله هو اختيار واجهةٍ مناسبةٍ لك وشركة استضافةٍ موثوقةٍ (من الممكن أن تأخذ بنصيحة صديقٍ يستخدمها)، وبعدها ستسير الأمور بسلاسة، كما يمكنك استبدال الشركة إذا لم تعجبك.

ما هي شركات استضافة مواقع الويب ولماذا تحتاج إليها؟ يُظهِر بحث غوغل الكثير والكثير من الإعلانات والمقالات حول أفضل استضافة ويبٍ، وتمتلئ هذه المواقع بمصطلحاتٍ مثل الاستضافة المشتركة والاستضافة المُدارة. وإذا ظَهَرت بعض شركات الاستضافة المُقتَرحة في بعض المواقع، فكيف تجد شركة الاستضافة المناسبة؟ فأنت لست متأكدًا من احتياجاتك بعد، وهل يجب أن البحث عن أقلّ سعرٍ وحسْب؟

امتلاكك لنطاقٍ معيّنٍ لا يعني أنّه سيقدم لك أيّ خدمةٍ، في الواقع يُحتمَل أن يَعرِض لك مُسجل النطاق بعد شرائه مباشرةً صفحة سيتم افتتاحه قريبًا، كما في الصورة التالية:

coming-soon.png

ولذلك ستحتاج عند استضافة موقع ويبٍ في نطاقك الجديد إلى تهيئة نظام أسماء النطاقات Domain Name System واختصارًا بـ DNS لنطاقك الجديد لتشير إلى خادمٍ متصلٍ بالإنترنت، والمعلومة الشيقة هي أنك تقدر على فعل هذا مباشرةً من منزلك إذا أردت، فقد يمنحك مُزوّد خدمة الإنترنت ISP في منزلك عنوان IP خاصًا بك، وإذا بدا كلّ هذا خاصًّا بمهووسي التقنية فقط، فهذا ليس صحيحًا تمامًا لأنك تستطيع ربط اسم النطاق الخاص بك مع عنوان IP مُخصصٍ، وسيمكنك إعداد حاسوبك ليكون مُخدّم الويب الذي يستجيب للطلبات الواردة ويُخدّم على موقع الويب الخاص بك، إلا أن قلّةً قليلةً من الأشخاص يفعلون ذلك، فلا أحد يريد للمُخدّم التوقّف عن العمل بسبب إغلاق الحاسوب، أو لأنّ مُزوّد خدمة الإنترنت ISP غيّر عنوان IP الخاص بك.

تمنحك خدمات استضافة الويب مُخدّمًا كهذا، كما تُعِد الشركات استضافة الويب سلعةً مثل مُسجلات النطاق تقريبًا، ولذلك يوجد الكثير منها، حيث تُقدّم معظمها خدمةً مماثلةً ولذلك يَنخفض السعر إلى حدٍ ما، كما تجد هذه الشركات أشياءً أخرى لتنافس عليها.

يَصعُب شراء استضافة الويب قليلاً عن شراء النطاق، إذ ستحتاج إلى القليل من المعرفة حول موقع الويب الذي تنوي استضافته عند اتخاذ هذا الاختيار، مثلًا سيتوجب عليك أن تجيب على أسئلةٍ مثل هل سيعمل موقعك بتقنية WordPress؟ أم أنه سيرتكز على لغتي PHP وMySQL مثل مواقع نظام إدارة المحتوى CMS (سنشرح هذه المفاهيم لاحقًا)؟ وهذا يعني أن مُضيفك سيحتاج إلى دعم هذه التقنيات التي تدعمها معظم شركات الاستضافة هذه التقنيات، إلا أن بعضها لا تدعهما، ولذلك من الأفضل أن تَبحث في توثيق هذه المواقع أو تسألهم قبل الشراء، فإذا لم تكن متأكدًا فهناك الكثير من التقنيات لتشغيل مواقع الويب، ولنفترض أن الموقع سيستخدم روبي أون ريلز Ruby On Rails وهي منصةٌ برمجيةٌ لتطبيقات الإنترنت، وهذه مجموعةٌ مختلفةٌ من المتطلبات لا تُقدّمها جميع شركات الاستضافة، وكذلك الأمر بالنسبة للغة بايثون Python ونود Node.

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

  • يُركّز محرك دبليو بي WP Engine على مواقع ووردبريس WordPress.
  • تحتوي Media Temple على استضافةٍ خاصةٍ بووردبريس WordPress، حيث تمتلك مجموعةً واسعةً من الخدمات المُصغّرة ذات السعر المناسب والاهتمام الجيّد.
  • تمتلك شركة بلو هوست Blue Host استضافاتٍ رخيصة الثمن مع قدراتٍ مماثلةٍ لغيرها.

كما توجد بعض شركات الاستضافة الأخرى والتي يمكننا عدُّها غير تقليديّةٍ، حيث:

  • تُقدّم نيتليفاي Netlify استضافة مواقعٍ ثابتةٍ، ويناسب هذا مُولّدات المواقع الثابتة ومواقع جامستاك JAMstack، وللمزيد من المعلومات حول مواقع جامستاك، يمكنك زيارة صفحة جامستاك على ويكيبيديا.
  • أمّا زيت Zeit فهو مضيفٌ تتفاعل معه من خلال سطر الأوامر فقط.
  • وبالنسبة لشركة ديجيتال أوشن Digital Ocean فلها طريقتها الخاصة في الاستضافة، وتطلق عليها اسم دروبليتس droplets وتعني ترجمتها الحرفية قطرات المياه، فهي تُشبِه الأجهزة الافتراضية إلى حدٍ ما ولكن مع ميزاتٍ إضافيةٍ.
  • تُعَد هيروكو heroku رائعةً لاستضافة التطبيقات ذات الواجهة الخلفية backend الجاهزة لاستخدام لغاتٍ أو أُطُر عمل مثل نود Node وروبي Ruby وجافا Java وبايثون Python.
  • أخيرًا، تُعَد خدمات ويب أمازون Amazon Web Services واختصارًا بـ AWS مجموعةً كاملةً من المنتجات التي تُركّز على الاستضافة بصورةٍ خاصةٍ، ولذلك فهي مخصصةٌ للمستخدمين المحترفين، كما تتشابه سحابة غوغل Google Cloud ومايكروسوفت أزور مع AWS كثيرًا.

من الضروري التأكيد على أنه من الجيد أن تَرتكب بعض الأخطاء هنا من بعض النواحي، فإذا كنت تستضيف شيئًا غير مهمٍ مثل موقعك الشخصي، فاختر مضيفًا يناسبك من حيث التكلفة وجربّه، بالطبع نأمل أن تكون تجربةً رائعةً، ولكن إذا لم تكن كذلك، فيمكنك تغيير الاستضافة، وعلى الرغم من ملل وصعوبة التنقل بين الاستضافات، إلا إنه أمرٌ ضروريٌ للتعلّم، حيث يضطر الجميع لفعله في هذه الرحلة. فعندما تشتري استضافة الويب سيخبرك المضيف بكيفية استخدامها، حيث سيمنحك المُضيف بيانات اعتماد بروتوكول نقل الملفات الآمن SFTP، وبعدها ستستخدم برنامجًا مُصممًا للاتصال بالمُخدّمات عبر بروتوكول نَقْل الملفات الآمن SFTP، والذي يُتيح رَفع الملفات إلى مُخدّمات الويب.

ftp-info.png

سنفترض أنك تعمل على ملف index.html بحيث يتضمّن ملف style.css، ارفع هذين الملفّين بواسطة بروتوكول نَقل الملفّات الآمن SFTP في المجلد الذي يخبرك مضيفك بأنه دليل الجذر العام public root directory لهذا الموقع.

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

هل يجب شراء مُسجل النطاق ومُضيف الويب من نفس الشركة إذا كانت تُقدّم الخدمتين؟

لقد ذكرنا هذا آنفًا، إذ لا يُفضَّل هذا بصورةٍ عامةٍ، على الرغم من سهولة الاستخدام في أمورٍ مِثل الفاتورة المشتركة وعملية الشراء الواحدة، حيث سيُنجِز المُضيف بعض الأمور مثل تكوين نظام أسماء النطاق DNS لتصير إعداداتك جاهزةٌ للتعامل مع استضافته، وربما دون أن تُفكّر في الأمر.

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

unbundle.png

ما هو نظام إدارة المحتوى Content Management System واختصارًا بـ CMS؟ وما الغرض منه؟ نعلَم أن ووردبريس WordPress وجوملا Joomla ودروبلا Drupal هي أنظمة إدارة المحتوى الأكثر شيوعًا، وتبدو حسب توصيفها متشابهةً فيما بينها، ولكن ما هي الأمور التي تُميّز أحدها عن الآخر؟ وهل كلّ ما تحتاجه لنقل موقع الويب الخاص بك من حاسوبك المحلي إلى شبكة الإنترنت العامة هو نظام إدارة المحتوى؟

نظام إدارة المحتوى أو CMS هو مصطلحٌ عامٌ جدًا فهو يشير إلى أي شيءٍ سيساعدك في إدارة المحتوى، وبالطبع هناك أنظمةٌ كبيرةٌ مسيطرةٌ، مثل ووردبريس WordPress وكرافت سي إم إس CraftCMS، وفي الواقع لا توجد علاقةٌ مباشرةٌ بالربط بينها وبين تشغيل الموقع محليًا أو نشر ذلك الموقع على شبكة الإنترنت العامة، فهذه عمليةٌ معقدّةٌ.

لكننا نستخدم نظام إدارة المحتوى لتسهيل العمل على الموقع، حيث توجد في المواقع الضخمة عشرات آلاف الصفحات، ولذلك لا يُقبَل أن يكون لكلّ منها ملف file.html مكتوب يدويًا.

ولذا يتيح لنا نظام إدارة المحتوى إنشاء هذه الصفحات من خلال دَمْج البيانات والقوالب templates.

cms-setup-1.png

لنُفكّر في التقنية الكامنة وراء ووردبريس WordPress، والذي يُعَد نظام إدارة محتوىً يناسب موقع CSS-Tricks كثيرًا. في البداية، سيحتاج ووردبريس شيئين ليعمل وهما:

  1. PHP، وهي لغة الواجهة الخلفية backend.
  2. نظام MySQL، لإدارة قواعد البيانات.
  3. Apache، وهو مُخدّم الويب.
اقتباس

يمكنك أن تفعل كلّ هذا على حاسوبك المحليّ.

أستخدِم برمجية Local by Flywheel التي تعمل لنظامي ويندوز وماكينتوش، وهناك عددٌ من الطرق لتشغيل هذه التقنيات مثل MAMP وDocker وVagrant وما إلى ذلك.

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

سننقل الموقع ليُتَاح على الإنترنت بعد قليلٍ ولكن يجب أن تعرف أن مُخدّم الويب الذي تشغله سيحتاج إلى هذه التقنيات نفسها، فإذا أخذنا المثال السابق مثل ووردبريس WordPress، فسنقول إن مُخدّم الويب الخاص بك سيحتاج إلى تشغيل PHP وMySQL وApache أيضًا، وبعدها سيتوجب عليك إعداد نظامٍ لتنقل جميع ملفاتك من حاسوبك المحلي إلى خادم الويب، تمامًا مثل أي موقعٍ آخرٍ، ولكن من المحتمل أن يكون لديك نظامٌ معيّنٌ يتعامل مع قاعدة البيانات، فكما نعلَم، قاعدة البيانات صعبةٌ بعض الشيء لأنها ليست ملفًا ثابتًا مثل باقي أجزاء موقعك.

ويمكن بناء نظام إدارة المحتوى باستخدام أي خليطٍ من البرمجيات والتقنيات، وليس فقط تلك المذكورة آنفًا، فعلى سبيل المثال يستخدم موقع KeystoneJS لغة Node.js بدلاً من PHP. ويدير قواعد البيانات بمونغو MongoDB بدلًا من MySQL، كما يستخدم المُخدّم Express بدلًا من Apache، ففي الواقع هي مجرد مجموعةٍ مختلفةٍ من البرمجيّات، ويمكننا تشغيل كلتا المجموعتين محليًا وعلى خادم ويبٍ مباشرٍ كذلك.

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

المراد توضيحه هنا ببساطة هو أن أفضل نظام إدارة محتوى هو ذاك الذي يُخصَّص لاحتياجاتك.

ما هي استضافة الأصول Asset Hosting؟ ألا يُعَد المحتوى أصولًا؟ وما الفرق بين نظام إدارة المحتوى CMS وخدمة استضافة الأصول؟ وماذا يفعل مضيف الأصول؟

يُعرّف الأصل بأنه أي ملفٍ ثابتٍ flat أي لا يُنشَأ بصورةٍ ديناميكيةٍ بذات الطريقة التي يُنشِئ بها نظام إدارة المحتوى ملف HTML، وربما أفضل مثالٍ على الأصل هي الصور، وملفات CSS وجافاسكريبت كذلك، بالإضافة إلى مقاطع الفيديو وملفات PDF.

قبل أن نستمر، لا يجب عليك أن تقلق بشأن هذا الآن، حيث يمكن لمضيف الويب استضافة الأصول وهذا يناسبك تمامًا ويكفيك للفترة الأولى أثناء عملك على مواقع صغيرةٍ.

أحد الأسباب الرئيسية التي تجعل الأشخاص يستخدمون مضيف الأصول أو شبكة توصيل المحتوى واختصارًا بـ CDN، هي زيادة السرعة، حيث تعمل مضيفات الأصول مثل المخدّمات كذلك، تمامًا مثل مخدم الويب الخاص بمضيف الويب، إلا أن مضيفات الأصول مصممةٌ لاستضافة أصول الملفات الثابتة بميّزة سرعةٍ فائقةٍ، ولذلك ليست الميّزة الوحيدة هي إيصال المحتوى بسرعةٍ فائقةٍ إلى زوار الموقع وحسب، بل بهذه العملية يتخلّص مخدم الويب من عبء هذه العملية.

يمكنك أن تَعُد يوتيوب YouTube مضيف أصولٍ، حيث يُعَد مقطع الفيديو الذي تبلغ سعته 100 ميغابايت والذي يَعرِض فراشةً في حديقتك حِملًا ثقيلًا على مخدم الويب الصغير الخاص بك، ومن المحتمل أن يسبّب مشكلةً إذا قُيّد عَرْض النطاق الترددي الصادر كما يحدث في كثيرٍ من الأحيان، إذ يؤدي رفع هذا الفيديو على يوتيوب لإتاحته على الانترنت، حيث يستضيفه يوتيوب بالنيابة عنك، طبعًا بالإضافة إلى الأسباب الاجتماعيّة لرفع الفيديو.

اقتباس

لقد سمعتُ عن المستودعات repositories لكنني لم أفهم تمامًا ما هي، وسمCعت جملًا مثل "ارفعه على مستودع غيت Git الخاص بي وحسب" فما المقصود من ذلك؟ أشعر بالغباء لأني أسأل ولكن ما هو غيت Git؟ وما الغرض منه؟ وهل سأحتاج إلى استخدامه؟ وهل له دورٌ في رفع الموقع على الانترنت؟

Chris Coyier كريس كوير

من المؤسف أنهم قالوا لك "افعل هذا وحسب"، فهناك وباءٌ في العالم التقني يقول فيه الأشخاص "افعل هذا وحسب"، ويجعلون الأمر يبدو كما لو أنّ ما سيقولونه سهلٌ وواضحٌ، رغم أنه قد يكون صعبٌ وغير واضحٍ بالنسبة للبعض.

والآن لنتحدث عن مستودعات غيت Git. يُعدّ Git شكلًا محددًّا من أشكال أنظمة أنظمة التحكم بالنسخ version control، وبالطبع هناك أنظمةٌ مختلفةٌ عن Git، لكن Git يهيمن على مجال تطوير الويب لدرجة أنه من النادر أن يُذكَر أي نظامٍ آخرِ.

سنفترض أننا نطوّر سويًا موقع ويبٍ، واشترينا نطاقًا domain واستضافةً وبدأنا بتشغيل الموقع، كما تشاركنا في بيانات اعتماد بروتوكول نقل الملفات الآمن SFTP حتى يتسنى لكلينا الوصول لتغيير الملفات على الموقع المباشر الموجود على شبكة الانترنت العامّة.

coda-1.png

يُعَد كودا Coda محرّرًا للنصوص البرمجيّة، حيث يتيح تعديل الملفات مباشرةً على المخدّم في حال كنت متّصلًا به عبر بروتوكول نقل الملفّات الآمن SFTP، وهذا يبدو رائعًا، لكنّه خطير.

سنفترض مثلًا أننا نحن الاثنان نحرر ملفًا في نفس الوقت ومن ثَم نرفعه عبر بروتوكول نقل الملفّات الآمن SFTP فأي تغييرٍ هو الذي سيُعتمد؟ بالطبع التغيير الذي رُفع أخيرًا، لكن ليس لدينا فكرة عمّن أجرى التغيير الفلانيّ، إذ أننا نستبدل تغييراتنا مرارًا وتكرارًا ولا نستطيع أن نبقى في تزامنٍ مع بعضنا البعض، وتؤثر التغييرات على الموقع مباشرةً، مما قد يؤدي إلى تعطّل ميّزات أو خدمات معيّنة ولا نستطيع التراجع عن التغييرات في حالة تعطّل شيءٍ ما. فهذا موقفٌ غير مقبولٍ لدرجة أنه لا يمكن أن يحدث.

إذًا سنستخدم نظم التحكُّم في النسخ version control system مثل غيت مثل Git. ففي حال كنا نستخدم غيت، نثبّت commit التغييرات في مستودعٍ، حيث يمكن استضافة المستودع في مكانٍ ما على الإنترنت ليتسنى للجميع الوصول إليه، ولقد رأيت بالتأكيد غيت هاب GitHub، الذي يستضيف هذه المستودعات ويضيف إليها مجموعةً من الميزات الأخرى مثل تتبع المشاكل، وكذلك غيت لاب GitLab وبيت باكيت Bitbucket.

لنفترض الآن أننا نعمل على نفس الموقع سويةً وأنشأنا مستودع غيت Git له، لذا عندما نجري تغييرًا، فعلينا أن نثبّته في المستودع، وإن كنت ترغب في إجراء تغيير أيضًا، فيجب عليك سحب pull التغييرات التي أجريتها ومن ثَم دمجها merge في نسخة الكود الخاصة بك، ثم ترسل تغييراتك إلى المستودع، وبالطبع هناك المزيد من التفاصيل وسيصبح الأمر أكثر تعقيدًا لكن هذا هو المبدأ العام.

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

اقتباس

ومن الجيّد أن يكون سؤالك الأخير حول هذا الموضوع.

بعد أن انتهيت من كلّ هذا، كيف ستنتقل من استضافة الموقع محليًا إلى استضافته على شبكة الانترنت العامّة؟ أين سترفع ملفات HTML وCSS وJavaScript الخاصة بك؟ كيف ستربط اسم نطاقك الجديد مع هذه الملفّات؟ وما هي الخدمة المسؤولة عن إضافة محتوىً جديدٍ إلى موقعك أو تحديث المحتوى الموجود مسبقًا؟ هل سيكون الأمر محيرًا حقًا إذا قُدّمت الخدمات من عَدّة شركات؟

سنبدأ بموقع ويبٍ بسيطٍ للغاية حول استضافة الويب النموذجية ولنفترض أن لديك الملفات التالية على حاسوبك index.html وstyle.css وscript.js حيث تمثّل موقعك كاملًا، واشتريت اسم نطاقٍ وربطت تكوين نظام أسماء النطاق DNS مع مضيف الويب، ومنحك هذا المضيف بيانات اعتماد بروتوكول نقل الملفات الآمن SFTP، علمًا بأنّك ستستخدم بيانات الاعتماد هذه في تطبيقٍ يسمح لاتصالات بروتوكول نقل الملفات الآمن SFTP بتسجيل الدخول، كما في الصورة التالية:

sftp.png

سيدلّك مضيفك أيضًا على المجلد الذي يمثّل الجذر العام public root لموقعك، حيث ستوجد هذه الملفات على شبكة الإنترنت ليراها العالم أجمع.

Screen-Shot-2018-08-15-at-7.31.55-AM.png

قد تسمع أشخاصًا يشيرون إلى موقع الويب الذي رفعته على الإنترنت على أنه موقع إنتاج production، فعندما يسأل أحدهم هل وصل هذا الخطأ إلى الإنتاج؟ فهو يسأل ما إذا كان الخطأ موجودًا على موقع الويب المباشر أم لا؛ أما نسخة التطوير development فهي تلك الموجودة على حاسوبك، وقد يكون لديك موقعٌ في مرحلة الانطلاق staging وهي نسخةٌ طبق الأصل من موقع الويب المباشر على نفس أجهزة أو برمجيات الموقع المباشر، ولكنها نسخة لم تُطلق بعد حيث ستخضع للاختبار.

هل تتذكر عندما تحدثنا عن مستودعات غيت Git؟ على الرغم أن المستودعات repositories لا تساعدك مباشرةً في عمليّة نقل الملفات الموجودة فيها إلى مخدّمك، إلّا أن معظم الأنظمة المسؤولة عن نقل الموقع ليُتَاح مباشرةً على الانترنت العام قادرةٌ على التعامل مع المستودعات هذه.

إذ تشير عبارة أصبح مباشرًا حيًّا live على الانترنت إلى عمليّة النشر deployment، وعندما ترغب في نشر أيّ تغييرات على الموقع المباشر، فأنت تنشرها، وهذه هي عملية نقل عملك من التطوير إلى الإنتاج.

وإحدى الخدمات التي تساعدك على النشر هي بينزتوك Beanstalk، حيث تستضيف بينزتوك مستودع غيت الخاص بك، ومن ثَم تمنحها بيانات اعتماد بروتوكول نقل الملفات الآمن SFTP الخاصّة بمخدّمك، وبهذه الطريقة تنقل لبينزتوك الملفات إلى مخدّم الويب الخاص بك عند إجراء التغييرات.

لنفترض أنك تريد استضافة Git مستودع غيت في مكانٍ آخرٍ، مثل غيت هاب GitHub أو بيت باكيت Bitbucket أو غيت لاب Gitlab، ويمكنك أيضًا الاطّلاع على ديبلوي بوت DeployBot، والذي ينفّذ هذه المهام لكنه يتصل بمواقع المستودعات أيضًا، ومن الطبيعي أن تعلم أنه يوجد الكثير من الخيارات، ولكلّ منها سعره وميزاته.

دعنا نعود الآن إلى مثال ووردبريس الذي تحدثنا عنه من قبل:

  1. لقد شغّلته على حاسوبك، أي محليًّا وتريد الآن رفعه على الانترنت ليراه العالم.
  2. ثم اشتريت نطاقًا من المسجّل registrar.
  3. اشتريت استضافةً تستطيع تشغيل ووردبريس WordPress.
  4. ربطت بين نظام أسماء النطاقات DNS وبين المضيف.
  5. تحققت من أن كلّ الميزات تعمل (إليك طريقة سهلة، ارفع الملف index.html على مجلّد الجذر العام عبر بروتوكول نقل الملفات الآمن وتحقّق من أن محتوياته تظهر حينما تنتقل إلى اسم النطاق).

لكن لا يزال عليك فعل بعض الأمور:

  1. عليك إعداد مستودع غيت Git للموقع.
  2. ومن ثم يجب التجهيز للنشر أي نقل الملفات من المستودع إلى الموقع المباشر.
  3. أمّا الآن فحان وقت تغيير إعدادات الموقع المباشر حسب حاجتك، فقد تحتاج إلى قاعدة بياناتٍ، وسيتعين عليك عندها إنشاءها (بالطبع ستوفر لك شركة الاستضافة إرشادات لتعلم كيفيّة إعداد قاعدة البيانات وغيرها) بالإضافة إلى تشغيل مُثبِّت ووردبريس وتحديث ملفات التهيئة.
  4. إن كنت تريد نقل بيانات من قاعدة البيانات المحليّة إلى الموقع المباشر، فقد تضطر إلى تصدير/استيراد البيانات، ويحدث ذلك على مستوى MySQL الأولي باستخدام ميزات الاستيراد/التصدير الموجودة في ووردبريس، أو باستخدام إضافةٍ رائعةٍ مثل WP DB Migrate Pro. وهذا ليس بالعمل السهل طبعًا، لكنها عمليّةٌ ستقدم عليها في أي موقعٍ تقريبًا، فهي أمورٍ مثل تكوين وإعداد مخدم الويب ثم نشر الملفات، وقد يختلف كلّ موقعٍ عن الآخر في جوانب معيّنة لكن المبدأ العام نفسه.

websites-dance.png

إنها قصةٌ كبيرةٌ، وما رُسم هنا هي صورةٌ واحدةٌ فقط كان المقصد منها أن تكون عامةً بما يكفي لتُظهِر المعلومات الكافية، ولكن لكلّ مرحلةٍ من هذه القصة الطرق كثيرة لتنفيذها، مثل الخدمات والشركات المختلفة التي يمكنك اختيارها،

تتمتع نيتفلاي Netlify في الوقت الحالي بشعبيةٍ كبيرةٍ لأنها إحدى شركات الاستضافة القلائل التي تساعدك على النشر، فهي تراقب مستودعات غيت Git الخاصة بك وتنشرها بالنيابة عنك، وعلى الرغم من أنّ نيتفلاي Netlify مخصصة للمواقع الثابتة فقط، إلّا أن الموقع الثابتة قد تكون لوحدها عالمًا كاملًا، وكذلك فإن زيت ZEIT رائعةٌ للغاية فيما يتعلق بمساعدة الزبائن في النشر واستضافة المواقع والاتصال المباشر بغيت هاب.

نتتمنى أن يكون المقال مفيدًا لك، وتذكر أنك لست وحيدًا فقد أقدم ملايين المطورين الآخرين على هذا العمل من قبلك، ويمكنك طلب المساعدة من الانترنت.

ترجمة -وبتصرف- للمقال Helping a Beginner Understand Getting a Website Live من موقع CSS Tricks.

اقرأ أيضًا


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

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

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



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

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

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

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   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.


×
×
  • أضف...