يتناول هذا المقال تثبيت بيئة تطوير Ruby on Rails على الإصدار 16.04 من أوبونتو. في أغلب الأحوال ستُنفَّذ الشفرة البرمجيّة التي تكتبها على خادوم لينكس، وأوبونتو هي إحدى توزيعات لينكس الأسهل استخداما وتوجد الكثير من الموارد عنها على الشبكة.
تثبيت Ruby
أول ما يجب علينا فعله هو تثبيت الاعتماديات Dependencies التي يحتاجها Ruby للعمل. نبدأ أولا بتحديث فهرس الحزم ثم تثبيت الاعتماديّات:
sudo apt update
sudo apt install git-core curl zlib1g-dev build-essential libssl-dev libreadline-dev libyaml-dev libsqlite3-dev sqlite3 libxml2-dev libxslt1-dev libcurl4-openssl-dev python-software-properties libffi-dev nodejs
الخطوة الموالية هي تثبيت Ruby. توجد طرق عدّة للتثبيت، سنستخدم rbenv
وهي أداة خفيفة وسريعة لإدارة إصدارات Ruby.
نبدأ بتثبيت rbenv
:
cd git clone https://github.com/rbenv/rbenv.git ~/.rbenv echo 'export PATH="$HOME/.rbenv/bin:$PATH"' >> ~/.bashrc echo 'eval "$(rbenv init -)"' >> ~/.bashrc exec $SHELL
الأداة rbenv
جاهزة الآن. سنثبّت ruby-build
وهي إضافة تعمل مع الأداة rbenv
وتتيح تثبيت إصدارات عدّة من Ruby في مجلّدات مختلفة على نفس النظام.
git clone https://github.com/rbenv/ruby-build.git ~/.rbenv/plugins/ruby-build
echo 'export PATH="$HOME/.rbenv/plugins/ruby-build/bin:$PATH"' >> ~/.bashrc
exec $SHELL
ثم نثبّت الإصدار 2.4.0 من Ruby:
TMPDIR=~/tmp/ rbenv install 2.4.0
rbenv global 2.4.0
يُثبّت الأمر الأول الإصدار المطلوب ضمن مجلّد العمل حيث نُفِّذ الأمر؛ في ما يضبط الأمر الثاني إصدار Ruby المبدئي، أي الإصدار الذي سيُستخدَم عند عدم تحديد إصدار.
للتأكد من تثبيت Ruby والإصدار المثبّت ننفذ الأمر:
ruby -v
الذي يُظهر نتيجة تشبه التالي:
ruby 2.4.0p0 (2016-12-24 revision 57164) [x86_64-linux]
الخطوة الأخيرة هي تثبيت Bundler الذي يوفّر بيئة تطوير متجانسة لـ Ruby عبر تتبّع الاعتماديات وتثبيت الإصدارات المطلوبة منها بالضبط:
gem install bundler
وتنفيذ الأمر لأخذ التثبيت الجديد في الحسبان:
rbenv rehash
تثبيت Rails
يتضمّن إطار العمل Rails الكثير من الاعتماديات، لذا سنحتاج لبيئة تنفيذ JavaScript مثل NodeJS التي ستمكّننا من استخدام مكتبات تتيح إمكانيّة جمع وضغط ملفات جافاسكريبت من أجل الحصول على بيئة تطوير أسرع.
نثبّت NodeJS من المستودع الرسمي على النحو التالي:
curl -sL https://deb.nodesource.com/setup_4.x | sudo -E bash -
sudo apt install -y nodejs
ثم نثبّت Rails:
gem install rails -v 5.0.1
ثم ننفذ الأمر التالي ليمكننا استخدام Rails:
rbenv rehash
Rails مثبّت الآن، يمكننا التأكّد من ذلك بتنفيذ الأمر التالي الذي يُظهر رقم الإصدار المثبت:
rails -v
إعداد قاعدة بيانات MySQL
يأتي Rails مبدئيا بقاعدة بيانات sqlite3؛ إلا أن هذا النوع من قواعد البيانات لا يناسب تطبيقات كثيرة. يمكن في هذه الحالة إعداد Rails للعمل مع قاعدة بيانات MySQL (أو PostgreSQL).
نثبّت خادوم وعميل MySQL من المستودعات الرسمية لأوبونتو:
sudo apt install mysql-server mysql-client libmysqlclient-dev
سيُطلَب منك خلال التثبيت إنشاءُ كلمة سر خاصة بالحساب الإداري root
(انتبِه إلى أنّه حساب خاص بنظام MySQL لإدارة قواعد البيانات، وليس لنظام التشغيل أوبونتو).
تتضمّن الحزمة libmysqlclient-dev
الملفات الضرورية لتثبيت الاعتماديّات التي يحتاجها Rails للاتصال بقاعدة بيانات MySQL.
ننفّذ بعد تثبيت MySQL الأمريْن التاليّيْن لتحضير قاعدة البيانات لبيئة الإنتاج (يمكنك تجاوز هذه الخطوة إن كنت تثبّت Rails على حاسوب شخصي):
sudo mysql_install_db
sudo mysql_secure_installation
سيُطلب منك النّظام إدخال كلمة سرّ الحساب الجذر في MySQL؛ ثمّ يسألك ما إذا كنتَ تُريد تغييرها. أدخل حرف n (دلالةً على “no” أي “لا”) إن لم تكن ترغبُ في ذلك. بالنسبة لبقية الأسئلة يمكنك قبول القيم المبدئية بالنقر على زرّ Enter
.
أول تطبيق Rails
حان الوقت الآن لتشغيل أول تطبيق Ruby on Rails.
ننشئ تطبيقا باسم myapp
يستخدم قاعدة البيانات MySQL:
rails new myapp -d mysql
انتظر اكتمال إنشاء التطبيق الذي قد يستغرق وقتا، ثم انتقل إلى مجلد التطبيق:
cd myapp
عدّل الملف config/database.yml
بإضافة كلمة سر الحساب الإداري لقاعدة البيانات (أعددناها أثناء تثبيت MySQL، يمكنك تركها فارغة إن لم تكن أعددتَ كلمة سر لـ MySQL):
default: &default
adapter: mysql2
encoding: utf8
pool: 5
username: root
password:
socket: /var/run/mysqld/mysqld.sock
اكتب كلمة السر أمام التعليمة password
ضمن المقطع السابق الموجود أعلى الملف بعد التعليقات الأولى (تبدأ التعليقات بالعلامة #
)؛ ثم نفّذ الأمر التالي لإنشاء قاعدة البيانات التي سيعمل عليها التطبيق:
rake db:create
النتيجة:
Created database 'myapp_development'
Created database 'myapp_test'
إن واجهك خطأ Access denied for user 'root'@'localhost' (using password: NO)
فهذا يعني أنك لم تكتب كلمة السر بطريقة صحيحة.
نشغل خادوم التطوير:
rails server
يمكنك بعد تشغيل خادوم التطوير إدخال العنوان http://localhost:3000/
في المتصفح لمعاينة صفحة التطبيق المبدئي في Rails.
إعداد Git
هذه الخطوة اختيارية ولكنه تفيدك إن كنت تخطّط لاستعمال Git لإدارة إصدارات المشروع وربطه بحسابك على Github.
أبدل YOUR NAME
وYOUR@EMAIL.com
في الأوامر أدناه على التوالي باسمك والبريد الذي استخدمته للتسجيل على Github.
git config --global color.ui true
git config --global user.name "YOUR NAME"
git config --global user.email "YOUR@EMAIL.com"
ssh-keygen -t rsa -b 4096 -C "YOUR@EMAIL.com"
يُولّد الأمر الأخير في الأوامر أعلاه زوج مفاتيح SSH سنستخدمها في ما بعد للاتصال بحسابنا على Github. يضع الأمر ssh-keygen
مبدئيا زوج المفاتيح على المسار ssh./~
. نأخذ المفتاح العمومي الذي يوجد بملف المفتاح ذي الامتداد pub
، ويُسمّى مبدئيا id_rsa.pub
وننسخه ضمن مفاتيح SSH على حسابنا في Github الموجودة هنا. انقر على الزّر New SSH Key، أعط للمفتاح اسما تختاره ثم ألصق في الحقل الثاني محتوى الملف ssh/id_rsa.pub/~
الذي يمكن الحصول عليه بالأمر التالي، ثم انقر على زرّ Add SSH Key لاعتماد المفتاح:
cat ~/.ssh/id_rsa.pub
يمكنك التأكد من نجاح العملية بتنفيذ الأمر التالي:
ssh -T git@github.com
يجب أن تظهر لك رسالة تشبه التالي (يُذكَر فيها اسم حسابك على Github):
Hi Zeine77! You've successfully authenticated, but GitHub does not provide shell access.
ترجمة - بتصرّف - للمقال Setup Ruby On Rails on Ubuntu 16.04 Xenial Xerus.
أفضل التعليقات
لا توجد أية تعليقات بعد
انضم إلى النقاش
يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.