كلاود
أدلة

VPS للمطورين: إعداد بيئة تطوير احترافية

كلاود|١٤ سبتمبر ٢٠٢٥|4 دقائق قراءة|٥٩٢ مشاهدة
VPS للمطورين: إعداد بيئة تطوير احترافية

Git + Docker + CI/CD + staging environment. نشرح كيف تحوّل VPS لبيئة تطوير إنتاجية — خطوة بخطوة.

لماذا VPS وليس استضافة مشتركة أو PaaS؟

كمطور، تحتاج بيئة تمنحك تحكم كامل: تثبيت أي مكتبة، تشغيل أي خدمة، ضبط أي إعداد. الاستضافة المشتركة تقيدك بـ cPanel وإعدادات محددة. منصات PaaS مثل Heroku أو Railway تخفي التفاصيل لكن بتكلفة أعلى ومرونة أقل. VPS يعطيك سيرفر Linux كامل بصلاحيات root — أنت تقرر كل شيء.

إعداد بيئة التطوير في 15 دقيقة

الخطوة 1: اختر الباقة المناسبة

نوع المشروع الباقة الموصى بها السعر السنوي
API بسيط / مشروع شخصي أساس (1 vCPU / 2GB) أسعار تنافسية — الأسعار والباقات
تطبيق ويب متكامل نمو (2 vCPU / 4GB) أسعار تنافسية — الأسعار والباقات
عدة مشاريع + Docker أعمال (4 vCPU / 8GB) أسعار تنافسية — الأسعار والباقات
AI / ML / بيانات ضخمة مؤسسة (8 vCPU / 16GB) أسعار تنافسية — الأسعار والباقات

في كلاود، التفعيل خلال 60 ثانية. تختار نظام التشغيل (Ubuntu 22.04/24.04 الأكثر شيوعاً) وتحصل على IP + كلمة مرور root فوراً.

الخطوة 2: التأمين الأساسي

أول 5 دقائق بعد التفعيل:

  1. حدّث النظام — apt update && apt upgrade
  2. أنشئ مستخدم عادي بصلاحيات sudo
  3. انسخ مفتاح SSH للمستخدم الجديد
  4. عطّل دخول root عبر SSH وعطّل الدخول بكلمة المرور
  5. فعّل UFW — اسمح بـ 22 و80 و443 فقط

الخطوة 3: تثبيت الأدوات الأساسية

أدوات كل مطور يحتاجها:

  • Git — إدارة الكود
  • curl / wget — تحميل الملفات
  • htop — مراقبة الموارد
  • tmux / screen — جلسات SSH متعددة
  • unzip / tar — فك الضغط

إعداد بيئة حسب اللغة

Node.js

  • ثبّت nvm (Node Version Manager) — يسمح بتشغيل عدة نسخ Node
  • ثبّت النسخة LTS الحالية
  • استخدم PM2 لتشغيل التطبيق في الخلفية وإعادة التشغيل التلقائي

Python

  • لا تستخدم Python النظام — ثبّت pyenv
  • أنشئ بيئة افتراضية (venv) لكل مشروع
  • استخدم gunicorn أو uvicorn كـ application server

PHP (Laravel)

  • ثبّت PHP 8.3 مع الإضافات المطلوبة: mbstring, xml, curl, mysql, zip, bcmath
  • ثبّت Composer
  • استخدم Nginx + PHP-FPM (أسرع من Apache + mod_php)

Go / Rust

  • ثبّت من المصدر الرسمي (لا تعتمد على حزم المستودع — غالباً قديمة)
  • اجمع (compile) التطبيق وشغّله كـ systemd service

Docker: بيئة موحدة لكل شيء

Docker يحل مشكلة "يعمل على جهازي" نهائياً. على VPS بتقنية KVM (مثل كلاود)، Docker يعمل بالكامل بدون قيود.

أساسيات Docker على VPS

  • Docker لتشغيل حاويات منفردة
  • Docker Compose لتشغيل عدة خدمات معاً (تطبيق + قاعدة بيانات + Redis)
  • Nginx Proxy Manager أو Traefik كـ reverse proxy لعدة تطبيقات على نفس السيرفر

مثال: بيئة تطبيق كاملة

تطبيق ويب نموذجي يحتاج:

الخدمة الوظيفة الذاكرة التقريبية
Nginx Reverse proxy + SSL 50MB
التطبيق (Node/PHP/Python) منطق الأعمال 200-500MB
PostgreSQL / MySQL قاعدة البيانات 500MB-2GB
Redis تخزين مؤقت + جلسات 100MB
الإجمالي ~1-3GB

هذا يعني باقة نمو (4GB) تكفي لتطبيق واحد متكامل، وباقة أعمال (8GB) تستوعب 2-3 تطبيقات.

CI/CD: النشر التلقائي

باستخدام GitHub Actions

  1. اربط GitHub repository بالسيرفر عبر SSH key
  2. أنشئ workflow يُنفذ عند كل push للفرع الرئيسي
  3. الخطوات: pull الكود الجديد، تثبيت التبعيات، بناء التطبيق، إعادة تشغيل الخدمة

باستخدام Webhook بسيط

إذا لا تحتاج CI/CD كامل:

  1. أنشئ endpoint بسيط على السيرفر يستقبل webhook من GitHub
  2. عند استقبال الإشعار: git pull ثم إعادة بناء وتشغيل

أدوات نشر متقدمة

الأداة مناسبة لـ
Deployer (PHP) مشاريع Laravel — نشر بدون توقف
Capistrano مشاريع Ruby/Rails
Kamal (Docker) أي تطبيق Docker
Coolify بديل مفتوح المصدر لـ Heroku (يُثبت على VPS)

قواعد البيانات

الاختيار المناسب

قاعدة البيانات مناسبة لـ
PostgreSQL تطبيقات معقدة، بيانات جغرافية، JSON
MySQL/MariaDB تطبيقات ويب تقليدية، your website
SQLite مشاريع صغيرة، APIs خفيفة
MongoDB بيانات غير منظمة، نماذج أولية سريعة
Redis تخزين مؤقت، جلسات، قوائم انتظار

نصائح أمان قاعدة البيانات

  • لا تسمح باتصالات خارجية — localhost فقط
  • غيّر المنفذ الافتراضي
  • أنشئ مستخدم خاص لكل تطبيق بصلاحيات محدودة
  • فعّل النسخ الاحتياطي التلقائي

SSL/HTTPS مجاناً

Let's Encrypt يوفر شهادات SSL مجانية. استخدم Certbot للحصول على الشهادة وتجديدها تلقائياً. الخطوات:

  1. ثبّت Certbot
  2. اضبط DNS ليشير لعنوان IP السيرفر
  3. شغّل Certbot مع Nginx
  4. التجديد التلقائي كل 90 يوم عبر cron job

المراقبة للمطورين

الأداة المجانية الوظيفة
Netdata نعم لوحة مراقبة شاملة لحظية
UptimeRobot نعم (50 موقع) مراقبة خارجية + تنبيهات
Sentry نعم (محدود) تتبع أخطاء التطبيق
Grafana + Prometheus نعم لوحات مراقبة مخصصة

نصائح من الواقع

  1. استخدم Git دائماً — حتى لو أنت الوحيد. سجل كل تغيير.
  2. لا تعدّل الكود مباشرة على السيرفر — عدّل محلياً، ادفع لـ Git، وانشر.
  3. فعّل النسخ الاحتياطي من اليوم الأول — الحوادث لا تنتظر.
  4. سجّل كل إعداد — أنشئ ملف README أو script يعيد بناء البيئة من الصفر.
  5. استخدم .env للمتغيرات الحساسة — لا تضع كلمات المرور في الكود.

ابدأ الآن

سجّل في كلاود (cloud.net.sa)، اختر باقة أساس بـ أسعار تنافسية — الأسعار والباقات (أقل من 10 ريال يومياً)، وسيرفرك جاهز في 60 ثانية. KVM كامل، صلاحيات root، تخزين SSD، وزمن استجابة 8ms من الرياض. إذا احتجت مساعدة في إعداد البيئة، فريق كلاود يوفر اجتماعات توجيهية مجانية لمطوريك.

مشاركة