# النشر على cPanel (بدون صلاحية أدمن)

الملف المطلوب: `dashboard-cpanel.zip`

## 1) إنشاء السب-دومين

- cPanel → **Domains** → **Create A New Domain**.
- اكتب: `dash.yourdomain.com`
- Document Root: `/home/USERNAME/dashboard` (نفس اسم المجلد اللي هنرفع فيه).

## 2) رفع الملفات

- cPanel → **File Manager** → افتح `/home/USERNAME/`
- اعمل مجلد: `dashboard`
- ادخل عليه → **Upload** → ارفع `dashboard-cpanel.zip`
- كليك يمين على الملف → **Extract** → تأكد إن الملفات بقت جوه `dashboard` مباشرة
  (لازم تشوف: `app.py`, `passenger_wsgi.py`, `web/`, `config.json`).

## 3) إنشاء تطبيق Python

- cPanel → **Setup Python App** → **Create Application**
- الإعدادات:

| الحقل | القيمة |
| --- | --- |
| Python version | 3.11 أو 3.12 |
| Application root | `dashboard` |
| Application URL | `dash.yourdomain.com` |
| Application startup file | `passenger_wsgi.py` |
| Application Entry point | `application` |

- اضغط **Create**.

## 4) التشغيل

- بعد الإنشاء اضغط **Restart**.
- افتح: `https://dash.yourdomain.com`
- لو ظهرت الصفحة → تمام.

## 5) الويبهوك

- في إيزي أوردر: Public API → Webhooks → عدّل الرابط إلى:

```
https://dash.yourdomain.com/easy/webhook
```

- الـ Secret نفسه المحفوظ في اللوحة (لو مش متأكد، افتح تاب إيزي أوردر وجدد الحفظ).

## 6) قيود لازم تعرفها

- **مزامنة ميتا التلقائية** (كل 15 دقيقة) ممكن تتوقف لو cPanel قفل العملية وهي ساكنة — بتشتغل تاني أول ما حد يفتح اللوحة.
- **الويبهوك** شغال طول الوقت لأن cPanel بيشغّل التطبيق عند وصول الطلب.
- الملفات بتتكتب في مجلد التطبيق — خليك محتفظ بنسخة من `config.json` وملفات CSV.

## استكشاف الأخطاء

- لو ظهر خطأ 500: cPanel → Setup Python App → **Logs** / `stderr.log` في مجلد التطبيق.
- لو الصفحة بتفتح بس بدون بيانات: جرّب `https://dash.yourdomain.com/api/stats?month=11-2026`.
