# نشر الموقع على cPanel Node.js

الحزمة `segybc-cpanel.zip` جاهزة لاستضافة Node.js 22 وتحتوي على الموقع المبني، الخادم، الأخبار والصور الحالية، وملفات تثبيت تبعيات التشغيل فقط.

## إنشاء التطبيق

من صفحة **Setup Node.js App** استخدم:

- Node.js version: `22.x`
- Application mode: `Production`
- Application root: مجلد جديد مثل `segybc`
- Application URL: `segybc.com` والمسار فارغ
- Application startup file: `app.js`

ارفع الحزمة إلى **Application root** ثم فك الضغط بحيث يكون `app.js` و`package.json` مباشرة داخل المجلد، وليس داخل مجلد إضافي.

## متغيرات البيئة

أضف القيم التالية من قسم **Environment variables** في cPanel:

- `NODE_ENV` = `production`
- `HOST` = `0.0.0.0`
- `CONTENT_STORAGE_DIR` = `storage`
- `ADMIN_PASSWORD_HASH` = قيمة البصمة الموجودة لديك محليًا
- `ADMIN_SESSION_SECRET` = قيمة سر الجلسة الموجودة لديك محليًا
- `SMTP_HOST`، `SMTP_PORT`، `SMTP_USER`، `SMTP_PASS`، `SMTP_FROM`، `CONTACT_TO`

لا تضف `PORT`؛ cPanel يمرره للتطبيق تلقائيًا. لا ترفع ملف `.env.local` لأنه يحتوي أسرارًا.

## التثبيت والتشغيل

بعد فك الضغط:

1. اضغط **Run NPM Install** من لوحة Node.js.
2. اضغط **Restart Application**.
3. افتح الموقع، ثم اختبر لوحة الإدارة على `/council-desk-83`.

يجب أن يكون مجلد `storage` قابلًا للكتابة من مستخدم التطبيق. احتفظ بنسخة احتياطية دورية منه؛ فهو يحتوي الأخبار والصور المرفوعة ورسائل التواصل.

عند رفع إصدار جديد لا تحذف مجلد `storage` الموجود على السيرفر، حتى لا تفقد المقالات والصور التي أُضيفت من لوحة التحكم.
