كيفية تثبيت Chef و Ruby مع RVM على خادوم افتراضي خاص يعمل بنظام Ubuntu


محمد هاني صباغ

مقدّمة

Chef هو عبارة عن أداة مفتوحة المصدر مكتوبة بلغة Ruby، يُستخدم كإطار عمل يسمح لك بأتمتة مهام إدارة خواديم الوب الخاصة بك، كما يسمح لك بنشر خواديم افتراضية خاصة (VPS) مُعدّة مسبقًا دون الحاجة إلى تذكّر كيفية ضبطها بالضبط.

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

إنّ عملية تثبيت وإعداد وتحديث وصيانة خادوم افتراضي خاص (VPS) منفرد تُعتبر عملية مُستهلكة جدًا للوقت. Chef يسمح لك أن تقوم بسهولة بأتمتة هذه المهام وتعديلها بحيث تناسب كل خادومٍ على حدى أوتوماتيكيًا. باختصار، Chef يسمح لك أن توفر الوقت والمال عن طريق توفير نظام يسهُل إعادة استخدامه لاحقًا.

مطوروا Chef قاموا بتوفير سكربت (Script) سهل الاستخدام لتثبيته على توزيعة Ubuntu، ولكن المشكلة هي أن السكربت الذي قاموا بصناعته ليس قابلًا للاستخدام جيدًا مع إطار عمل Ruby on Rails، هذا الدليل سيرشدك إلى طريقة تثبيت بيئة Ruby حقيقية كاملة.

ربما تتوقع أن نقوم بتثبيت Ruby عن طريق هذا الأمر:

sudo apt-get install ruby

ولكن هذه الطريقة ليست مُستحسنة في الواقع، لأنه حتّى وإن كنتَ لا تستخدم أكثر من إصدار Ruby على نفس الخادوم الافتراضي الخاص (VPS)، فستواجه مشاكل بالتعامل مع تعارض أحجار روبي (Ruby gems) أو بعض المشاكل بالتعامل مع المشاريع التي تتطلب إصدارًا معينًا من حجر روبي (gem). مدير إصدارات روبي (RVM) يستطيع أن يحلّ هذه المشاكل بسهولة.

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

الخطوة الأولى - كيفية تثبيت روبي مع مدير إصدارات روبي (RVM)

يعتمد RVM على ثلاث أمور: Bash, Curl و Git.

صدفة Bash مثبّتة افتراضيًا على توزيعة أوبونتو، لذا فإنه يتوجب عليك تثبيت كلٍ من Git و Curl فقط حاليًا عن طريق تطبيق الأمر التالي في الطرفية (Terminal):

sudo apt-get install git-core curl

الآن يمكنك تثبيت مدير إصدارات روبي (RVM) عن طريق الأمر:

sudo \curl -L https://get.rvm.io | bash -s stable --ruby=1.9.3

ستستغرق هذه العملية حوالي 5 إلى 10 دقائق تقريبًا (اعتمادًا على سرعة اتصالك بالوب بالإضافة إلى الوقت المُستَغرَق ريثما يتم بناء الشفرة المصدرية لروبي).

ملاحظة: Chef يتعارض مع روبي 1.9، ولهذا فإننا نقوم بتثبيت روبي 1.9.3.

يجب أن ترى الرسالة التالية عندما تكتمل العملية:

* To start using RVM you need to run `source /usr/local/rvm/scripts/rvm` in all your open shell windows, in rare cases you need to reopen all shell windows.
افعل ما يطلبه منك، فقط طبّق الأمر:
source /usr/local/rvm/scripts/rvm

الآن، تأكد من أن روبي تم تثبيتها بشكلٍ صحيح عن طريق الأمر:

ruby -v

إذا كانت توزيعتك من معمارية 32 بت فيجب أن ترى:

ruby 1.9.3p448 (2013-06-27 revision 41675) [i686-linux]

إمّا إذا كانت من معمارية 64 بت، فيجب أن ترى شيئًا مثل:

ruby 1.9.3p448 (2013-06-27 revision 41675) [x86_64-linux]

الآن، تأكد من أنّ أحجار روبي (Ruby gems) مثبّتة بشكل صحيح عن طريق الأمر:

gem -v

يجب أن يتم عرض رقم الإصدار المثبّت مثل:

1.8.25

إذا لم تكن مطور روبي أو إطار عمل Rails، فحينها قد ترغب بجعل الإصدار 1.9.3 من روبي هو الافتراضي حاليًا عن طريق الأمر:

rvm use 1.9.3 --default

ملاحظة: هذا الأمر سيقوم بتجاهل أي إصدار مثبّت من قبل من روبي.

الخطوة الثانية - كيفية تثبيت Chef

تثبيت Chef الآن أصبح بالإمكان تنفيذه بسهولة وسرعة عن طريق الأمر:

gem install chef --no-ri --no-rdoc

وللتأكد من أنّ Chef مثبّت بالفعل طبّق:

chef-solo -v

وهو ما سيقوم بطباعة رقم الإصدار الحالي من Chef:

Chef: 11.4.4

سنقوم أيضًا بتثبيت بعض الإضافات المفيدة ألا وهي: Knife-Solo, Berkshelf و Foodcritic.

Knife-Solo هي مُلحق (plug-in) لأداة Knife الخاصة بـChef تجعل عملية إعداد الخواديم المفردة ممكنة باستخدام chef-solo. حيث أنّها تجعل عملية نشر الخواديم الصغيرة سهلة لأنها توفر عليك عناء تشغيل عميل Chef (يدعى chef-client) والذي بدوره يتطلب خادوم chef (يدعى chef-server).

لتثبيته، طبّق الأمر التالي:

gem install knife-solo --no-ri --no-rdoc

Berkshelf هو مُلحَق يساعدك على كتابة وتحزيم كتب الطبخ (cookbooks وهي ملفات الإعداد الخاصة بإعدادات الخواديم) أو تحميلها باستخدام ملفاتٍ محلية أو مستودع Git أو خادوم Chef.

عليكَ أولًا تثبيت بعض الاعتماديات التي يحتاجها Berkshelf ليتمكن من العمل:

sudo apt-get install libxslt-dev libxml2-dev

الآن لتثبيت Berkshelf، طبّق الأمر:

gem install berkshelf --no-ri --no-rdoc

وللتأكد من أنّ عملية التثبيت تمت بشكل صحيح، طبّق الأمر:

berks -v

وهو ما يجب أن يعطيك رقم الإصدار المثبّت مثل:

Berkshelf (2.0.7)

مُلحق Foodcritic يساعدك عن الكشف عن المشكلات في كتب الطهي الخاصة بـChef (تُدعى Chef Cookbooks). لتثبيته، طبّق الأمر:

gem install foodcritic --no-ri --no-rdoc

وكالمعتاد، للتأكد من عملية التثبيت:

foodcritic -V

ستحصل على:

foodcritic 2.2.0

ملاحظة: في حال كنتَ تتساءل، الخيارات --no-ri –no-rdoc هي ليتم تجنّب إنشاء الوثائق الخاصة بالمُلحقات.

الخطوة التالية

هذا الدّرس شرحَ لك كيفية تثبيت Chef على بيئة روبي حقيقية لتكون مناسبة لعملية تطوير البرمجيات. كل شيء تقريبًا أصبحَ جاهزًا للبدء بعملية الأتمتة عن طريق إنشاء وصفاتِكَ الخاصة (recipes) أو باستخدام وصفاتٍ من طرفٍ ثالث (3rd party).

ترجمة -وبتصرّف- للمقال: How To Install Chef and Ruby with RVM on a Ubuntu VPS

 



1 شخص أعجب بهذا


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


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



يجب أن تكون عضوًا لدينا لتتمكّن من التعليق

انشاء حساب جديد

يستغرق التسجيل بضع ثوان فقط


سجّل حسابًا جديدًا

تسجيل الدخول

تملك حسابا مسجّلا بالفعل؟


سجّل دخولك الآن