استكشاف أخطاء التثبيت
يتحقق المثبّت من كل خطوة ويعرض سطرًا لكل تحقق:
PASS NET-01 ims.my-company.ma resolves to this server
WARN PRE-06 the clock is not NTP-synchronized
FAIL KC-01 the authentication service advertises another address
لـالمعرّف (NET-01، KC-01…) المعنى نفسه في كل مكان، وهو ما يجب ذكره في أي
طلب دعم. يقدّم ملف TROUBLESHOOTING.md في الحزمة، لكل معرّف، السبب المفصّل وأوامر
التصحيح؛ وتقدّم هذه الصفحة معناه وأول إجراء.
تشغيل التشخيص
لا يغيّر التشخيص شيئًا ويمكن تشغيله في بيئة الإنتاج. يُجري كل التحققات دون التوقف
عند الخطأ الأول، وينتهي بالرمز 0 إن كان كل شيء سليمًا و1 خلاف ذلك، لذا يمكن
جدولته.
- Linux
- Windows
./install.sh --doctor
.\install.ps1 -Doctor
شغّله بعد إعادة تشغيل الخادم أو تحديث أو تجديد شهادة، أو عندما يبدو شيء غير طبيعي.
قواعد تتجنّب معظم الأعطال
- لا تعدّل يدويًا القيم المستنتَجة في الإعدادات (عناوين المصادقة، الأصول المسموح بها). غيّر اسم المضيف أو البروتوكول بإعادة تشغيل المثبّت: فهو يعيد كتابة كل ما يعتمد عليهما.
- لا تغيّر أبدًا كلمات مرور قواعد البيانات في
.env. - شغّل الأوامر دائمًا من مجلد التثبيت.
PRE · المتطلبات
| المعرّف | ما يُتحقق منه | أول إجراء |
|---|---|---|
| PRE-01 | Docker يستجيب | تشغيل Docker (على Windows لا يعمل Docker Desktop إلا بعد تسجيل الدخول) |
| PRE-02 | وجود Docker Compose v2 | تثبيت إضافة Compose v2؛ لا يكفي docker-compose القديم |
| PRE-03 | 4 غيغابايت من الذاكرة لـ Docker | إضافة ذاكرة؛ على Windows رفع الذاكرة المخصّصة لـ WSL2 |
| PRE-04 | 20 غيغابايت حرة على القرص | تحرير مساحة (صور قديمة، نسخ قديمة) |
| PRE-05 | المنفذان 80 و443 حرّان | إيقاف الخدمة التي تشغلهما (خادم ويب آخر، IIS، VPN) |
| PRE-06 | الساعة متزامنة | تفعيل مزامنة NTP: الساعة المنحرفة تُفشل تسجيل الدخول |
| PRE-07 | قواعد بيانات من تثبيت سابق | الاحتفاظ بالبيانات بإعادة استخدام بيانات الاعتماد القديمة، أو حذفها بعد نسخ احتياطي فقط |
| PRE-08 | خادم التراخيص متاح | السماح بـ HTTPS الصادر، أو استخدام ملف ترخيص |
| PRE-09 | سلامة الحزمة | إعادة نسخ الحزمة: تغيّر ملف أثناء النقل |
| PRE-10 | آثار تثبيت سابق | معلومة فقط في الإصدارات الحديثة |
CFG · الإعدادات
| المعرّف | ما يُتحقق منه | أول إجراء |
|---|---|---|
| CFG-01 | كتابة الإعدادات من القالب | استخدام المثبّت والقالب من الحزمة نفسها |
| CFG-02 | لا متغيّر غير محلول | إعادة تشغيل المثبّت الذي يعيد كتابة القيم المستنتَجة |
| CFG-03 | إجابة ناقصة (تثبيت دون أسئلة) | إكمال ملف الإجابات |
| CFG-04 | حفظ الملخص والإجابات | تشغيل المثبّت بمستخدم يستطيع الكتابة في المجلد |
| CFG-05 | إجابة غير صالحة | تصحيح القيمة المذكورة (اسم المضيف، البريد، المنطقة الزمنية…) |
| CFG-06 | الإعدادات مطابقة للإصدار | إعادة تشغيل المثبّت: يضيف الناقص ويحتفظ بالأسرار |
| CFG-07 | القيم المستنتَجة متّسقة مع اسم المضيف | إعادة تشغيل المثبّت؛ لا تصحّح هذه القيم واحدة واحدة |
| CFG-08 | موقع HTTPS يحمل اسم المضيف الصحيح | إعادة تشغيل المثبّت بعد تغيير اسم المضيف |
| CFG-09 | إعدادات مشاركة الخادم متّسقة | تخصّ الخوادم التي تستضيف عدة تثبيتات؛ اتصل بالدعم |
IMG · الصور
| المعرّف | ما يُتحقق منه | أول إجراء |
|---|---|---|
| IMG-01 | تحميل الصور من الحزمة | التحقق من مساحة القرص وسلامة الحزمة |
| IMG-02 | تنزيل الصور | لخادم لا يصل إلى السجل، اطلب حزمة تتضمن الصور |
| IMG-03 | وجود صور الإصدار | تحميل الإصدار المذكور بالضبط؛ لا تنتقل أبدًا إلى «latest» |
TLS · الشهادات
| المعرّف | ما يُتحقق منه | أول إجراء |
|---|---|---|
| TLS-01 | الحصول على شهادة Let's Encrypt | التحقق من أن اسم DNS يشير إلى الخادم وأن المنفذ 80 متاح من الإنترنت |
| TLS-02 | الشهادة الموجودة في مكانها | وضع الشهادة والمفتاح في المكان المنتظر |
| TLS-03 | إعدادات HTTPS يتولاه وكيلك | تقديم إعدادات وكيلك |
| TLS-04 | صلاحية الشهادة | إعادة التجديد؛ تنبيه قبل 21 يومًا من انتهاء الصلاحية |
| TLS-05 | التجديد التلقائي يعمل | إعادة تشغيل خدمة التجديد |
RUN · التشغيل
| المعرّف | ما يُتحقق منه | أول إجراء |
|---|---|---|
| RUN-00 | تشغيل التطبيق | قراءة السبب المعروض: منفذ مشغول، قيمة ناقصة، صورة غائبة |
| RUN-01 | كل المكوّنات تعمل | — |
| RUN-02 | كل مكوّن موجود | تشغيل الأوامر من مجلد التثبيت |
| RUN-03 | كل مكوّن سليم | الانتظار أثناء التشغيل الأول (3 إلى 5 دقائق) ثم قراءة السجلات |
API وDB وKC وWEB · التطبيق
| المعرّف | ما يُتحقق منه | أول إجراء |
|---|---|---|
| API-01 | الخدمات التطبيقية تستجيب | قراءة سجل الخدمات: أول خطأ يسمّي السبب |
| API-02 | المتصفح مسموح له باستدعاء الـ API | إعادة تشغيل المثبّت (انظر CFG-07) |
| DB-01 | نجاح ترحيل قاعدة البيانات | التوقف عن استخدام التثبيت: استعادة نسخة ما قبل التحديث والاتصال بالدعم |
| DB-02 | القاعدة مطابقة للإصدار | عدم تعديل أي شيء يدويًا؛ الاتصال بالدعم |
| DB-03 | إمكانية إعادة بناء القواعد | إعادة بيانات الاعتماد الأصلية للقواعد |
| KC-01 | العنوان الذي تعلنه المصادقة | إعادة تشغيل المثبّت (انظر CFG-07): هذا سبب رفض الدخول المتكرر |
| KC-02 | تهيئة المصادقة عند التشغيل الأول | قراءة سجل التشغيل الأول |
| KC-03 | الواجهة الويب معروفة لدى المصادقة | اتباع التصحيح في TROUBLESHOOTING.md |
| WEB-01 | الواجهة الويب تستجيب | التحقق من أن الواجهة تعمل |
LIC وSEC وNET · الترخيص، الوصول، الشبكة
| المعرّف | ما يُتحقق منه | أول إجراء |
|---|---|---|
| LIC-00 | تقديم ملف الترخيص عند التثبيت | تفعيل الترخيص بعد تسجيل الدخول |
| LIC-01 | الترخيص نشط | تسجيل الدخول كمسؤول وتفعيل الترخيص؛ بدونه يبقى التطبيق في الوضع المقيّد |
| LIC-02 | تخزين الترخيص | إعادة ملف الترخيص إلى مكانه؛ التحقق من صلاحيات الكتابة |
| SEC-01 | العناوين المسموح لها بواجهات الإدارة | معلومة: دون عناوين تبقى مغلقة |
| SEC-02 | وجود قائمة السماح | استعادتها من الحزمة: بدونها يتوقف الموقع كله |
| NET-01 | اسم المضيف يشير إلى هذا الخادم | تصحيح سجل DNS؛ يجب أن يُحلّ الاسم من الخادم نفسه أيضًا |
UPG · التحديث
| المعرّف | ما يُتحقق منه | أول إجراء |
|---|---|---|
| UPG-01 | الهدف تثبيت فعلي | توجيه التحديث إلى مجلد التثبيت، لا إلى الحزمة |
| UPG-02 | التحديث نحو إصدار أحدث | استخدام أحدث حزمة؛ يُرفض الرجوع إلى إصدار أقدم |
| UPG-03 | خدمة المصادقة لا تُخفَّض أبدًا | لا شيء يُفعل |
| UPG-04 | النسخ الاحتياطي قبل التحديث | تحرير مساحة؛ لم يتغيّر شيء |
| UPG-05 | استبدال ملفات الحزمة | تصحيح المساحة أو الصلاحيات ثم إعادة التشغيل |
| UPG-06 | دمج الإعدادات | قراءة الرسالة؛ ثم تشغيل التشخيص |
| UPG-07 | تحديث إعدادات HTTPS | إن كنت عدّلتها يدويًا، انقل إليها تغييرات الإصدار الجديد |
انظر التحديثات والنسخ الاحتياطية للعودة إلى الإصدار السابق.
الاتصال بالدعم
أرفق بطلبك:
- المعرّفات التي ظهرت بـ
FAILأوWARNفي التشخيص؛ - الإصدار المثبّت (ملف
VERSION)؛ - سجل التشغيل المعني، في
install/logs/.
لا ترسل أبدًا .env ولا install-summary.txt: فهما يحتويان على أسرار.