========================================================================== دليل رفع نظام Triple Re Factory على الاستضافة (cPanel - بدون SSH) ========================================================================== محتويات هذا الملف المضغوط: - laravel_app/ → كل ملفات النظام (المجلد الأساسي) - index.FALLBACK-FOR-PUBLIC_HTML.php → بديل لو الاستضافة ما تسمحلك بتغيير Document Root - setup-once.FALLBACK-FOR-PUBLIC_HTML.php → نفس البديل لسكريبت التجهيز - هذا الملف ---------------------------------------------------------------------- الخطوة 1: رفع الملفات ---------------------------------------------------------------------- في الغالب عندك طريقتين، جرّب الطريقة (أ) الأول لأنها أسهل وأنضف: (أ) الطريقة المُوصى بها — تغيير Document Root 1. ارفع مجلد "laravel_app" كامل لمجلد منفصل في الـ home directory بتاعك (مثلاً: /home/USERNAME/laravel_app) — برّه من public_html. 2. من لوحة تحكم الاستضافة (cPanel) > Domains، عدّل "Document Root" للدومين بتاعك ليصبح: laravel_app/public 3. خلصت — مفيش أي تعديل تاني مطلوب. (ب) لو الاستضافة ما بتسمحلك بتغيير Document Root (طريقة احتياطية) 1. ارفع مجلد "laravel_app" كامل بجوار public_html (يعني في نفس الـ home directory، مش جواه). 2. افتح laravel_app/public وانقل كل المحتويات (مجلد build، .htaccess، favicon.ico، robots.txt) لداخل public_html مباشرة — ما عدا index.php و setup-once.php الأصليين. 3. خد ملف "index.FALLBACK-FOR-PUBLIC_HTML.php" وسمّيه "index.php" وضعه جوه public_html (يستبدل أي index.php موجود). 4. خد ملف "setup-once.FALLBACK-FOR-PUBLIC_HTML.php" وسمّيه "setup-once.php" وضعه جوه public_html كمان. ---------------------------------------------------------------------- الخطوة 2: قاعدة البيانات ---------------------------------------------------------------------- من cPanel > MySQL Databases: 1. اعمل قاعدة بيانات جديدة (مثلاً: triplere_erp) 2. اعمل مستخدم جديد وحدد له باسورد قوي 3. اربط المستخدم بقاعدة البيانات وامنحه كل الصلاحيات (All Privileges) 4. احتفظ بالاسم الكامل لقاعدة البيانات والمستخدم (عادة بيكون فيهم بريفكس زي USERNAME_triplere_erp و USERNAME_dbuser) ---------------------------------------------------------------------- الخطوة 3: ملف .env ---------------------------------------------------------------------- 1. جوه laravel_app هتلاقي ملف اسمه ".env.production.example" 2. اعمل منه نسخة وسمّيها ".env" (بالظبط بالاسم ده، بدون امتداد) 3. افتحه وعدّل: - APP_URL=https://your-real-domain.com ← دومينك الحقيقي (مهم جدًا - رابط QR الشهادات يعتمد عليه) - DB_DATABASE=... DB_USERNAME=... DB_PASSWORD=... ← بيانات قاعدة البيانات من الخطوة 2 - DB_HOST يفضل عادة 127.0.0.1 إلا لو الاستضافة قالتلك غير كده * ملاحظة: APP_KEY موجود جاهز ومُولّد خصيصًا لهذا التنصيب — سيبه زي ما هو. ---------------------------------------------------------------------- الخطوة 4: صلاحيات المجلدات ---------------------------------------------------------------------- من File Manager، حدد المجلدين التاليين واعمل لهم صلاحية 775 (أو 777 لو 775 مش شغالة): - laravel_app/storage (مع كل ما بداخله، recursive) - laravel_app/bootstrap/cache ---------------------------------------------------------------------- الخطوة 5: تشغيل التجهيز الأولي (مرة واحدة فقط) ---------------------------------------------------------------------- افتح من المتصفح الرابط ده (غيّر your-domain.com لدومينك): https://your-domain.com/setup-once.php?token=f7164f37282c1e33d241b4d48ce7a5ba هيظهرلك log بإنشاء الجداول وربط مجلد الصور — لازم يظهر في الآخر "تم التجهيز بنجاح ✅" ⚠️ مهم جدًا: بعد ما تشتغل بنجاح، احذف ملف setup-once.php فورًا من السيرفر (من laravel_app/public أو من public_html حسب الطريقة اللي استخدمتها). سيبه موجود يبقى خطر أمني لأن أي حد عنده الرابط يقدر يعيد تهيئة قاعدة البيانات. ---------------------------------------------------------------------- الخطوة 6: أول تسجيل دخول ---------------------------------------------------------------------- - رابط الدخول: https://your-domain.com/login - اسم المستخدم: admin - كلمة المرور: 123 غيّر كلمة المرور دي فورًا من داخل النظام (لوحة الإدارة > المستخدمين) قبل ما تبدأ تستخدم النظام فعليًا. القاعدة هتكون فاضية تمامًا — مفيش بيانات تجريبية. ---------------------------------------------------------------------- ملاحظات عن شهادات إعادة التدوير (Certificates) ---------------------------------------------------------------------- تصاميم الشهادات التلاتة (بالوزن / بالعدد / CO2) متضمّنة بالفعل جوه laravel_app/storage/app/certificates/templates/ — مفيش حاجة تحتاج تتضاف يدوي. ---------------------------------------------------------------------- لو حصل خطأ 500 بعد الرفع ---------------------------------------------------------------------- الأسباب الشائعة بالترتيب: 1. ملف .env غير موجود أو فيه غلطة — تأكد إنه اسمه ".env" بالظبط وموجود جوه laravel_app 2. صلاحيات storage و bootstrap/cache غير صحيحة (راجع الخطوة 4) 3. بيانات قاعدة البيانات في .env غلط 4. الإصدار اللي شغال على الاستضافة لازم يكون PHP 8.3 أو أحدث (تأكد من cPanel > MultiPHP Manager أو Select PHP Version)