التركيب

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

متطلبات النظام

  • تثبيت Debian 13 جديد (بدون مكدس ويب أو بريد موجود مسبقًا)
  • وصول الجذر إلى الخادم
  • نطاق للوحة التحكم والبريد (مع سجلات glue إذا كنت تستضيف DNS)
  • PTR (DNS عكسي) لاسم مضيف البريد
  • المنافذ المفتوحة: 22، 80، 443، 25، 465، 587، 993، 995، 53

التثبيت من GitHub

قم بتشغيل المثبت من GitHub:

curl -fsSL https://raw.githubusercontent.com/shukiv/jabali-panel/main/install.sh | sudo bash

علامات اختيارية:

  • JABALI_MINIMAL=1 للتثبيت الأساسي فقط
  • JABALI_FULL=1 لفرض جميع المكونات الاختيارية
  • --debug للإخراج المفصل

يقوم المثبت بنسخ اللوحة إلى /var/www/jabali ويقوم بتكوين الخدمات nginx و SSL وحزم النظام المطلوبة.

بناء حزمة Debian يدوياً

يتم شحن Jabali على شكل حزمتين Debian:

  • jabali-deps للتبعيات النظام (nginx، PHP، DB، البريد، DNS، إلخ)
  • jabali-panel لتطبيق اللوحة وخدمات systemd

قم ببناء الحزم من جذر المستودع:

./scripts/build-jabali-deps-deb.sh
./scripts/build-jabali-panel-deb.sh

التثبيت على الخادم:

sudo dpkg -i ./jabali-deps_<version>_all.deb
sudo apt-get -f install -y
sudo dpkg -i ./jabali-panel_<version>_all.deb

بعد التثبيت، يتم تمكين خدمات systemd وتشغيلها:

  • jabali-agent
  • jabali-queue
  • jabali-health-monitor

عناوين URL بعد التثبيت

  • لوحة الإدارة: https://your-host/jabali-admin
  • لوحة المستخدم: https://your-host/jabali-panel
  • البريد الإلكتروني عبر الويب: https://your-host/webmail

الترقيات

إذا قمت بالتثبيت عبر GitHub أو البناء اليدوي، من دليل اللوحة:

cd /var/www/jabali
php artisan jabali:upgrade

التحقق من وجود تحديثات فقط:

php artisan jabali:upgrade --check

إلغاء التثبيت

قبل إلغاء التثبيت، قم بعمل نسخ احتياطية من بيانات اللوحة ومحتوى المستخدم.

إيقاف الخدمات وتعطيلها:

sudo systemctl stop jabali-agent jabali-queue jabali-health-monitor
sudo systemctl disable jabali-agent jabali-queue jabali-health-monitor

إزالة الحزم (الاحتفاظ بالتكوينات) أو المسح (إزالة التكوينات):

sudo apt remove jabali-panel jabali-deps
# or
sudo apt purge jabali-panel jabali-deps

تنظيف اختياري (يزيل ملفات اللوحة وتكويناتها):

sudo rm -rf /var/www/jabali
sudo rm -rf /etc/jabali
sudo rm -rf /etc/nginx/jabali
sudo rm -rf /etc/ssl/jabali
sudo rm -f /root/.jabali_db_credentials
sudo rm -f /root/jabali_credentials.txt

إذا كنت تريد إزالة قاعدة بيانات اللوحة والمستخدم:

sudo mysql -e "DROP DATABASE IF EXISTS jabali;"
sudo mysql -e "DROP USER IF EXISTS jabali@localhost;"

استكشاف الأخطاء وإصلاحها

  • إذا لم يتم تحميل اللوحة، تأكد من تشغيل nginx وفتح المنافذ 80/443.
  • تحقق من حالة الخدمة باستخدام systemctl status jabali-agent jabali-queue jabali-health-monitor.
  • مراجعة السجلات في storage/logs ومخرجات سجل النظام.