تثبيت إطار Ruby on Rails في أوبنتو لينكس: دليل شامل وموسع
يُعد إطار Ruby on Rails أحد أشهر الأطر البرمجية المستخدمة في تطوير تطبيقات الويب الحديثة، ويتميز بمرونته العالية، وسرعة التطوير التي يوفرها، إضافة إلى تبنيه لمبادئ معمارية قوية مثل Convention over Configuration وDon’t Repeat Yourself. يعتمد هذا الإطار على لغة روبي Ruby كلغة برمجة أساسية، ويحتاج إلى بيئة جاهزة للعمل تتضمن مجموعة من الأدوات والخدمات المرتبطة مثل قاعدة بيانات، ومثبت حزم، وأدوات إدارة الإصدارات.
توزيعة أوبنتو Ubuntu Linux تعتبر خيارًا مثاليًا للمطورين الذين يفضلون بيئة مستقرة، مفتوحة المصدر، وقابلة للتخصيص. ولذلك فإن تثبيت Ruby on Rails على أوبنتو يتطلب إعدادًا دقيقًا يمر بعدة مراحل متسلسلة لضمان بيئة عمل سليمة، سريعة وآمنة.
في هذا المقال سيتم تناول جميع الخطوات الأساسية والمتقدمة لتثبيت Ruby on Rails في نظام Ubuntu مع التركيز على الجوانب العملية، وتوفير بدائل وتقنيات مساعدة تضمن النجاح في عملية الإعداد.
المتطلبات الأساسية للنظام
قبل البدء في تثبيت Ruby on Rails يجب التأكد من أن النظام محدث ويحتوي على الأدوات الأساسية اللازمة. يتم ذلك من خلال تحديث الحزم وتثبيت الأدوات الأساسية مثل curl، git، build-essential وغيرها. وذلك عن طريق تنفيذ الأوامر التالية:
bashsudo apt update sudo apt upgrade -y sudo apt install curl gnupg2 git-core build-essential libssl-dev libreadline-dev zlib1g-dev libsqlite3-dev libpq-dev -y
هذه الحزم تتيح تجميع الحزم المصدرية، دعم قاعدة بيانات PostgreSQL وSQLite، والعمل مع أدوات Ruby.
تثبيت مدير الإصدارات RVM
RVM (Ruby Version Manager) هو الأداة المفضلة لتثبيت وإدارة إصدارات روبي المتعددة. يتيح هذا المدير تثبيت أكثر من إصدار من لغة روبي والتنقل بينها بسهولة دون تعارض.
خطوات تثبيت RVM:
-
تثبيت GPG Key لتوثيق RVM:
bashgpg --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys \ 409B6B1796C275462A1703113804BB82D39DC0E3 \ 7D2BAF1CF37B13E2069D6956105BD0E739499BDB
-
تثبيت RVM:
bashcurl -sSL https://get.rvm.io | bash -s stable
-
تحميل إعدادات RVM في الجلسة الحالية:
bashsource ~/.rvm/scripts/rvm
تثبيت لغة Ruby
بعد تثبيت RVM، يمكن الآن تثبيت لغة روبي بإصدار حديث. يوصى دائمًا باختيار أحدث إصدار مستقر.
bashrvm install ruby
بعد انتهاء التثبيت:
bashrvm use ruby --default
للتحقق من التثبيت:
bashruby -v
تثبيت مدير الحزم Bundler
Bundler هو أداة تُستخدم لإدارة تبعيات تطبيقات Ruby on Rails. لتثبيته:
bashgem install bundler
تثبيت قاعدة البيانات PostgreSQL
تُعد PostgreSQL واحدة من أكثر قواعد البيانات توافقًا مع Rails، خاصة في البيئات الإنتاجية.
bashsudo apt install postgresql postgresql-contrib libpq-dev -y
بعد التثبيت، يتم إنشاء مستخدم مطابق لمستخدم النظام:
bashsudo -u postgres createuser --interactive
يمكن أيضًا إنشاء قاعدة بيانات:
bashsudo -u postgres createdb اسم_قاعدة_البيانات
تثبيت إطار Ruby on Rails
يُفضل استخدام gem لتثبيت Rails:
bashgem install rails
للتحقق من نجاح التثبيت:
bashrails -v
يُنصح باستخدام إصدار rails الذي يتوافق مع إصدار Ruby الذي تم تثبيته مسبقًا لتفادي المشكلات أثناء التطوير.
إعداد بيئة تطوير جديدة
بمجرد تثبيت Rails، يمكن الآن إنشاء مشروع جديد بسهولة:
bashrails new my_app -d postgresql
هذا الأمر ينشئ تطبيق Rails جديد مع اعتماد PostgreSQL كقاعدة بيانات افتراضية. للدخول إلى مجلد المشروع:
bashcd my_app
تكوين قاعدة البيانات:
bashbin/rails db:create
تشغيل الخادم المحلي:
bashbin/rails server
بذلك سيكون التطبيق متاحًا عبر الرابط: http://localhost:3000
تثبيت Node.js و Yarn
بما أن Rails 6 وما بعده يستخدم Webpacker لإدارة أصول الواجهة الأمامية (JavaScript)، فإن تثبيت Node.js وYarn ضروري.
تثبيت Node.js:
bashcurl -fsSL https://deb.nodesource.com/setup_18.x | sudo -E bash - sudo apt install -y nodejs
تثبيت Yarn:
bashcurl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | sudo apt-key add -
echo "deb https://dl.yarnpkg.com/debian/ stable main" | sudo tee /etc/apt/sources.list.d/yarn.list
sudo apt update && sudo apt install yarn -y
إعداد قاعدة البيانات بشكل آمن
من المهم في بيئات الإنتاج تأمين قاعدة البيانات عن طريق تعيين كلمات مرور قوية لمستخدم PostgreSQL وتكوين صلاحيات دقيقة.
يمكن تعديل كلمة المرور:
bashsudo -u postgres psql \password postgres
ثم يتم تعديل ملف config/database.yml داخل تطبيق Rails ليتضمن كلمة المرور المناسبة.
التعامل مع Webpacker وبيئة الجافاسكريبت
بما أن Webpacker أصبح يعتمد بشكل أكبر على أدوات البناء الحديثة مثل webpack، يُوصى بتثبيت الحزم الخاصة بإدارة الأصول، والتأكد من تكاملها عبر تنفيذ:
bashyarn install
هذا يسمح لـ Rails بترجمة ملفات JavaScript وCSS وتنظيمها ضمن النظام الحديث الذي يضمن أداءً أفضل في بيئات الإنتاج.
جدول الأدوات الأساسية لتثبيت Ruby on Rails في أوبنتو
| الأداة | الوصف | أمر التثبيت |
|---|---|---|
| Git | نظام التحكم في الإصدارات | sudo apt install git |
| Curl | تحميل البيانات من الإنترنت | sudo apt install curl |
| RVM | مدير إصدارات Ruby | `curl -sSL https://get.rvm.io |
| Ruby | لغة البرمجة الأساسية لـ Rails | rvm install ruby |
| Rails | إطار العمل | gem install rails |
| PostgreSQL | قاعدة بيانات | sudo apt install postgresql |
| Node.js | تشغيل ملفات JavaScript | sudo apt install nodejs |
| Yarn | إدارة الحزم الأمامية | sudo apt install yarn |
إعداد الإنتاج باستخدام Nginx وPassenger
للنشر الفعلي لتطبيق Rails في بيئة الإنتاج، يُوصى باستخدام خادم Nginx مع Passenger.
-
تثبيت Passenger وNginx:
bashsudo apt install -y dirmngr gnupg sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 561F9B9CAC40B2F7 sudo apt install -y apt-transport-https ca-certificates
-
إضافة مستودعات Phusion:
bashsudo sh -c 'echo deb https://oss-binaries.phusionpassenger.com/apt/passenger focal main > /etc/apt/sources.list.d/passenger.list'
sudo apt update
-
تثبيت Passenger:
bashsudo apt install -y libnginx-mod-http-passenger
-
تفعيل Passenger:
تعديل ملف إعدادات Nginx الموجود في:
bashsudo nano /etc/nginx/nginx.conf
وتفعيل السطر:
bashinclude /etc/nginx/passenger.conf;
ثم إعادة تشغيل الخادم:
bashsudo systemctl restart nginx
تحديثات الصيانة والأمان
من الضروري إجراء صيانة دورية للبيئة البرمجية وذلك من خلال:
-
تحديث الحزم باستخدام
bundle update. -
تحديث نظام Ubuntu عبر
sudo apt update && sudo apt upgrade. -
مراقبة سجل الثغرات الأمنية الخاصة بإطار Rails على الموقع الرسمي.
-
استخدام أدوات التحقق من الأمان مثل Brakeman لتحليل الشيفرة البرمجية.
الخلاصة
عملية تثبيت وإعداد Ruby on Rails في بيئة Ubuntu Linux تتطلب دقة وتدرجًا واضحًا في ترتيب الخطوات لضمان بيئة مستقرة للتطوير والإنتاج. بداية من إعداد الحزم الأساسية ومرورًا بتثبيت RVM وروبي وRails، ووصولاً إلى إعداد PostgreSQL وخادم الإنتاج، توفر هذه الخطوات بيئة متكاملة لإنشاء تطبيقات ويب قوية وآمنة.
يعتمد نجاح المشاريع المبنية على Rails على بيئة التثبيت الصحيحة، والتي إذا ما تم إعدادها كما هو موضح أعلاه، ستوفر أرضية صلبة للتطوير السريع والآمن. يعتمد مجتمع روبي على دعم مستمر من المطورين، لذا فإن استخدام أدوات حديثة ومتابعة التحديثات الدورية للإطار والنظام أمر بالغ الأهمية.
المراجع:

